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.
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);
}
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*-*"