]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gas: ignore ONLY_STANDARD_ESCAPES in scrubber
authorJan Beulich <jbeulich@suse.com>
Fri, 17 Jul 2026 07:23:07 +0000 (09:23 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 17 Jul 2026 07:23:07 +0000 (09:23 +0200)
The handling there is broken in several ways:
- It gets in the way of macro parameter names starting with one of the not
  special cased values.
- For perhaps a small set of targets (SINGLE_QUOTE_STRINGS, M68k MRI
  mode): While the "quotechar" static variable allows for string quotation
  by other than '"', the case labels circumventing the warning only (and
  potentially wrongly) cover '"'.

read.c:next_char_of_string() having similar checking in place, drop the
special casing (as as_warn() invocation) from here.

While adjusting macros/macros.exp XFAIL-ary for an affected testcase,
correct the referenced manifest symbol at the same time.

gas/app.c
gas/testsuite/gas/macros/macros.exp

index 6d8b8889784fb445a11a3bfcbf8d4ee2ebc02cf6..3410e69657213d9eb28d824981be4c8c1ccbacbf 100644 (file)
--- a/gas/app.c
+++ b/gas/app.c
@@ -707,35 +707,7 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
              PUT (quotechar);
              continue;
 
-             /* These two are used inside macros.  */
-           case '@':
-           case '+':
-             break;
-
-           case '"':
-           case '\\':
-           case 'b':
-           case 'f':
-           case 'n':
-           case 'r':
-           case 't':
-           case 'v':
-           case 'x':
-           case 'X':
-           case '0':
-           case '1':
-           case '2':
-           case '3':
-           case '4':
-           case '5':
-           case '6':
-           case '7':
-             break;
-
            default:
-#ifdef ONLY_STANDARD_ESCAPES
-             as_warn (_("unknown escape '\\%c' in string; ignored"), ch);
-#endif
              break;
            }
          PUT (ch);
index 34912414e906ec7284e6a708243d943a46fe8033..741d743624e150309bc176ff97fc28c1e5ec1504 100644 (file)
@@ -53,13 +53,9 @@ switch -glob $target_triplet {
 }
 
 if { ![istarget hppa*-*-*] || [istarget *-*-linux*] } {
-    # FIXME: Due to macro mishandling of ONLY_STANDARD_ESCAPES.
-    setup_xfail "avr-*" "cris-*" "crisv32-*" "msp430-*"
-
-    # These fail due to NO_STRING_ESCAPES
+    # These fail due to !TC_STRING_ESCAPES
     setup_xfail "powerpc*-*-aix*" "powerpc*-*-beos*" "powerpc*-*-macos*"
     setup_xfail "rs6000-*-*"
-    setup_xfail "z80-*-*"
 
     # FIXME: Due to difference in what "consecutive octets" means.
     setup_xfail "*c4x*-*-*" "*c54x*-*"