* app.c (do_scrub_chars): Don't damage \@ pseudo-variables.

	gas/testsuite/
	* gas/arm/backslash-at.d: New.
	* gas/arm/backslash-at.s: New.
This commit is contained in:
Mark Shinwell 2007-05-15 10:06:03 +00:00
parent a00a1f35e1
commit 2a67688880
5 changed files with 50 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2007-05-15 Mark Shinwell <shinwell@codesourcery.com>
* app.c (do_scrub_chars): Don't damage \@ pseudo-variables.
2007-05-15 Vincent Riviere <vincent.riviere@freesbee.fr>
PR gas/3041

View File

@ -1219,6 +1219,15 @@ do_scrub_chars (int (*get) (char *, int), char *tostart, int tolen)
if ((symver_state != NULL) && (*symver_state == 0))
goto de_fault;
#endif
#ifdef TC_ARM
/* For the ARM, care is needed not to damage occurrences of \@
by stripping the @ onwards. Yuck. */
if (to > tostart && *(to - 1) == '\\')
/* Do not treat the @ as a start-of-comment. */
goto de_fault;
#endif
#ifdef WARN_COMMENTS
if (!found_comment)
as_where (&found_comment_file, &found_comment);

View File

@ -1,3 +1,8 @@
2007-05-15 Mark Shinwell <shinwell@codesourcery.com>
* gas/arm/backslash-at.d: New.
* gas/arm/backslash-at.s: New.
2007-05-15 Vincent Riviere <vincent.riviere@freesbee.fr>
Nick Clifton <nickc@redhat.com>

View File

@ -0,0 +1,16 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: Backslash-at for ARM
.*: file format .*arm.*
Disassembly of section .text:
00000000 <.text> 615c .short 0x615c
00000002 <foo> e3a00000 mov r0, #0 ; 0x0
00000006 <foo\+0x4> e3a00000 mov r0, #0 ; 0x0
0000000a <foo\+0x8> e3a00000 mov r0, #0 ; 0x0
0000000e <foo\+0xc> e3a00001 mov r0, #1 ; 0x1
00000012 <foo\+0x10> e3a00001 mov r0, #1 ; 0x1
00000016 <foo\+0x14> e3a00001 mov r0, #1 ; 0x1
0000001a <foo\+0x18> e3a00002 mov r0, #2 ; 0x2
0000001e <foo\+0x1c> e3a00002 mov r0, #2 ; 0x2
00000022 <foo\+0x20> e3a00002 mov r0, #2 ; 0x2

View File

@ -0,0 +1,16 @@
@ Check that \@ is not destroyed when assembling for the ARM.
.macro bar
mov r0, #\@
mov r0, #\@@comment
mov r0, #\@ @comment
.endm
.byte '\\
.byte '\a
foo:
bar
bar
bar