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:
Jan Beulich 2005-04-11 12:46:38 +00:00
parent 116c20d240
commit 5e75c3ab6e
9 changed files with 230 additions and 70 deletions

View file

@ -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.

View 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

View 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

View file

@ -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 ""