aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2005-04-11 12:46:38 +0000
committerJan Beulich <jbeulich@novell.com>2005-04-11 12:46:38 +0000
commit5e75c3ab6ea7b02ce1262fc42fc436d604b47dde (patch)
tree853728772fd453f862e3b8ba62e77914b21077f5 /gas/testsuite
parent116c20d240af833e0a1f1f959951f57b6e465782 (diff)
downloadgdb-5e75c3ab6ea7b02ce1262fc42fc436d604b47dde.zip
gdb-5e75c3ab6ea7b02ce1262fc42fc436d604b47dde.tar.gz
gdb-5e75c3ab6ea7b02ce1262fc42fc436d604b47dde.tar.bz2
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.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/macros/dot.l22
-rw-r--r--gas/testsuite/gas/macros/dot.s28
-rw-r--r--gas/testsuite/gas/macros/macros.exp9
4 files changed, 64 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 9628cbc..5afbf51 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -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.
diff --git a/gas/testsuite/gas/macros/dot.l b/gas/testsuite/gas/macros/dot.l
new file mode 100644
index 0000000..e74e4f3
--- /dev/null
+++ b/gas/testsuite/gas/macros/dot.l
@@ -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
diff --git a/gas/testsuite/gas/macros/dot.s b/gas/testsuite/gas/macros/dot.s
new file mode 100644
index 0000000..10ed42f
--- /dev/null
+++ b/gas/testsuite/gas/macros/dot.s
@@ -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
diff --git a/gas/testsuite/gas/macros/macros.exp b/gas/testsuite/gas/macros/macros.exp
index 37435cc..5b924ac 100644
--- a/gas/testsuite/gas/macros/macros.exp
+++ b/gas/testsuite/gas/macros/macros.exp
@@ -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 ""