This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] arm: correct diagnostic generation for PC-relative VSTR

The flow of conditionals in do_neon_ldr_str()'s handling here caused an error
to be issued even in ARM mode when deprecation warnings were turned off,
whereas the intention of the option to control these warnings appears to be
to allow/suppress the warning, but not to convert the warning to an error.

2013-04-08  Jan Beulich <>

	* gas/config/tc-arm.c (do_neon_ldr_str): Correct disgnostics for
	PC-relative VSTR.

--- 2013-04-08/gas/config/tc-arm.c
+++ 2013-04-08/gas/config/tc-arm.c
@@ -15692,10 +15692,10 @@ do_neon_ldr_str (void)
       && inst.operands[1].reg == REG_PC
       && (ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v7) || thumb_mode))
-      if (!thumb_mode && warn_on_deprecated)
-	as_warn (_("Use of PC here is deprecated"));
-      else
+      if (thumb_mode)
 	inst.error = _("Use of PC here is UNPREDICTABLE");
+      else if (warn_on_deprecated)
+	as_warn (_("Use of PC here is deprecated"));
   if (inst.operands[0].issingle)

Attachment: binutils-mainline-arm-vstr-pc-deprecated.patch
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]