Allow symbol and label names to be enclosed in double quotes.
authorNick Clifton <nickc@redhat.com>
Fri, 21 Aug 2015 15:42:14 +0000 (16:42 +0100)
committerNick Clifton <nickc@redhat.com>
Fri, 21 Aug 2015 15:42:14 +0000 (16:42 +0100)
commitd02603dc201f80cd9d2a1f4b1a16110b1e04222b
treeb55476923d8bde556b6b3421345bde8e4562ad97
parent40045d91812b25c88c8275b8c08d27c234b68ba8
Allow symbol and label names to be enclosed in double quotes.

gas PR gas/18581
* expr.c (get_symbol_end): Rename to get_symbol_name.  Add a
return parameter pointing to the start of the symbol.  Allow
symbol names enclosed in double quotes.
(restore_line_pointer): New function.  Replace the NUL character
inserted into the input stream with the given character.  If the
character was a double quote, advance the input pointer.
* expr.h (get_symbol_end): Delete.
(get_symbol_name): Add prototype.
(restore_line_pointer): Prototype.
* read.h (SKIP_WHITESPACE_AFTER_NAME): New macro.
* doc/as.texinfo (Symbol Intro): Document that symbol names can
now be enclosed in double quotes.
* cond.c (s_ifdef): Replace get_symbol_end with get_symbol_name.
Use restore_line_pointer to replace the NUL in the input stream.
Use SKIP_WHITESPACE_AFTER_NAME to skip past the end of a symbol.
Check for the use of double quoted symbol names.
* expr.c: Likewise.
* config/obj-aout.c: Likewise.
* config/obj-coff-seh.c: Likewise.
* config/obj-coff.c: Likewise.
* config/obj-elf.c: Likewise.
* config/obj-evax.c: Likewise.
* config/obj-macho.c: Likewise.
* config/obj-som.c: Likewise.
* config/tc-alpha.c: Likewise.
* config/tc-arc.c: Likewise.
* config/tc-arm.c: Likewise.
* config/tc-dlx.c: Likewise.
* config/tc-h8300.c: Likewise.
* config/tc-hppa.c: Likewise.
* config/tc-i370.c: Likewise.
* config/tc-i386-intel.c: Likewise.
* config/tc-i386.c: Likewise.
* config/tc-i960.c: Likewise.
* config/tc-ia64.c: Likewise.
* config/tc-iq2000.c: Likewise.
* config/tc-m32r.c: Likewise.
* config/tc-m68hc11.c: Likewise.
* config/tc-m68k.c: Likewise.
* config/tc-microblaze.c: Likewise.
* config/tc-mips.c: Likewise.
* config/tc-mmix.c: Likewise.
* config/tc-mn10200.c: Likewise.
* config/tc-mn10300.c: Likewise.
* config/tc-nios2.c: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-s390.c: Likewise.
* config/tc-score.c: Likewise.
* config/tc-score7.c: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-tic4x.c: Likewise.
* config/tc-tic54x.c: Likewise.
* config/tc-tic6x.c: Likewise.
* config/tc-tilegx.c: Likewise.
* config/tc-tilepro.c: Likewise.
* config/tc-v850.c: Likewise.
* config/tc-xtensa.c: Likewise.
* config/tc-z80.c: Likewise.
* dw2gencfi.c: Likewise.
* dwarf2dbgc.: Likewise.
* ecoff.c: Likewise.
* read.c: Likewise.
* stabs.c: Likewise.

tests PR gas/18581
* gas/all/byte.d: Disable this test.  Quoted expressions
are now allowed in .byte directives.
* gas/all/quoted-sym-names.s: New test.
* gas/all/quoted-sym-names.d: Expected output.
* gas/all/gas.exp: Run the new test.
59 files changed:
gas/ChangeLog
gas/NEWS
gas/cond.c
gas/config/obj-aout.c
gas/config/obj-coff-seh.c
gas/config/obj-coff.c
gas/config/obj-elf.c
gas/config/obj-evax.c
gas/config/obj-macho.c
gas/config/obj-som.c
gas/config/tc-alpha.c
gas/config/tc-arc.c
gas/config/tc-arm.c
gas/config/tc-dlx.c
gas/config/tc-h8300.c
gas/config/tc-hppa.c
gas/config/tc-i370.c
gas/config/tc-i386-intel.c
gas/config/tc-i386.c
gas/config/tc-i960.c
gas/config/tc-ia64.c
gas/config/tc-iq2000.c
gas/config/tc-m32r.c
gas/config/tc-m68hc11.c
gas/config/tc-m68k.c
gas/config/tc-microblaze.c
gas/config/tc-mips.c
gas/config/tc-mmix.c
gas/config/tc-mn10200.c
gas/config/tc-mn10300.c
gas/config/tc-nios2.c
gas/config/tc-ppc.c
gas/config/tc-s390.c
gas/config/tc-score.c
gas/config/tc-score7.c
gas/config/tc-sparc.c
gas/config/tc-tic4x.c
gas/config/tc-tic54x.c
gas/config/tc-tic6x.c
gas/config/tc-tilegx.c
gas/config/tc-tilepro.c
gas/config/tc-v850.c
gas/config/tc-xtensa.c
gas/config/tc-z80.c
gas/doc/as.texinfo
gas/dw2gencfi.c
gas/dwarf2dbg.c
gas/ecoff.c
gas/expr.c
gas/expr.h
gas/read.c
gas/read.h
gas/stabs.c
gas/testsuite/ChangeLog
gas/testsuite/gas/all/byte.d
gas/testsuite/gas/all/gas.exp
gas/testsuite/gas/all/quoted-sym-names.d [new file with mode: 0644]
gas/testsuite/gas/all/quoted-sym-names.s [new file with mode: 0644]
gas/testsuite/gas/ia64/group-1.d