gas/
2005-04-11 Jan Beulich <jbeulich@novell.com> * NEWS: Mention these changes and their effects. * macro.c (get_token): Use is_name_beginner/is_part_of_name/ is_name_ender. (check_macro): Likewise. (buffer_and_nest): Likewise. Permit multiple labels. Don't discard labels together with the closing pseudo-op. (macro_expand_body): Adjust comment. Range-check input before use. Adjust mis-spelled diagnostic. Use is_name_beginner. * read.c (try_macro): New. (read_a_source_file): New static variable last_eol. Don't list macro expansion lines more than once. Call try_macro. (s_macro): Set section of line_label to absolute instead of undefined. * doc/as.texinfo: Add information on the caveats of these changes. gas/testsuite/ 2005-04-11 Jan Beulich <jbeulich@novell.com> * gas/macros/dot.[ls]: New. * gas/macros/macros.exp: Run new test.
This commit is contained in:
parent
116c20d240
commit
5e75c3ab6e
9 changed files with 230 additions and 70 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-04-11 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* gas/macros/dot.[ls]: New.
|
||||
* gas/macros/macros.exp: Run new test.
|
||||
|
||||
2005-04-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gas/i386/x86-64-pcrel.s: Test R_X86_64_32S.
|
||||
|
|
22
gas/testsuite/gas/macros/dot.l
Normal file
22
gas/testsuite/gas/macros/dot.l
Normal file
|
@ -0,0 +1,22 @@
|
|||
.*: Assembler messages:
|
||||
.*:[1-9][0-9]*: Warning: attempt to redefine pseudo-op .\.macro. ignored
|
||||
.*:27: Error: unknown pseudo-op: .\.xyz.
|
||||
.*:28: Error: .*
|
||||
(.* )?GAS .*
|
||||
#...
|
||||
[ ]*[1-9][0-9]*[ ]+m 4, 2
|
||||
[ ]*[1-9][0-9]*[ ]+> \.data
|
||||
[ ]*[1-9][0-9]*[ ]+> labelA:labelB:labelC:labelD:x\.y\.z 4\+2
|
||||
[ ]*[1-9][0-9]*[ ]+>> \.align 4
|
||||
[ ]*[1-9][0-9]*[ ]+\?+[ ]+0606[ ]+>> \.byte 4\+2,4\+2
|
||||
[ ]*[1-9][0-9]*[ ]+\?+[ ]+0000[ ]+> \.skip 2
|
||||
[ ]*[1-9][0-9]*[ ]+> labelZ:labelY:labelX:labelW:\.xyz 4-2
|
||||
[ ]*[1-9][0-9]*[ ]+>> \.align 8
|
||||
[ ]*[1-9][0-9]*[ ]+\?+[ ]+0202[ ]+>> \.byte 4-2,4-2
|
||||
[ ]*[1-9][0-9]*[ ]+\?+[ ]+0000 ?0000[ ]+> \.skip 4\*2
|
||||
[ ]*[1-9][0-9]*[ ]+0000 ?0000[ ]*
|
||||
[ ]*[1-9][0-9]*[ ]+> label9:label8:label7:label6:
|
||||
[ ]*[1-9][0-9]*[ ]+
|
||||
[ ]*[1-9][0-9]*[ ]+\.purgem \.xyz, x\.y\.z
|
||||
[ ]*[1-9][0-9]*[ ]+\.xyz 0
|
||||
[ ]*[1-9][0-9]*[ ]+x\.y\.z 0
|
28
gas/testsuite/gas/macros/dot.s
Normal file
28
gas/testsuite/gas/macros/dot.s
Normal file
|
@ -0,0 +1,28 @@
|
|||
.altmacro
|
||||
|
||||
.macro x.y.z val
|
||||
.align 4
|
||||
.byte val, val
|
||||
.endm
|
||||
|
||||
.macro .xyz val
|
||||
.align 8
|
||||
.byte val, val
|
||||
.endm
|
||||
|
||||
.macro .macro
|
||||
.endm
|
||||
|
||||
label1:label2 : label3 :label4: m: .macro arg.1, arg.2
|
||||
.data
|
||||
labelA:labelB : labelC :labelD: x.y.z arg.1+arg.2
|
||||
.skip arg.2
|
||||
labelZ:labelY : labelX :labelW: .xyz arg.1-arg.2
|
||||
.skip arg.1*arg.2
|
||||
label9:label8 : label7 :label6: .endm
|
||||
|
||||
m 4, 2
|
||||
|
||||
.purgem .xyz, x.y.z
|
||||
.xyz 0
|
||||
x.y.z 0
|
|
@ -68,5 +68,14 @@ run_dump_test app3
|
|||
run_dump_test app4
|
||||
|
||||
run_list_test badarg ""
|
||||
case $target_triplet in {
|
||||
{ *c54x*-*-* } { }
|
||||
{ *c4x*-*-* } { }
|
||||
{ h8500-*-* } { }
|
||||
{ m68*-*-* } { }
|
||||
{ m88*-*-* } { }
|
||||
{ mmix-* } { }
|
||||
default { run_list_test dot "-alm" }
|
||||
}
|
||||
run_list_test end ""
|
||||
run_list_test redef ""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue