diff options
Diffstat (limited to 'gas/testsuite/gas/macros')
-rw-r--r-- | gas/testsuite/gas/macros/err.s | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/irp.d | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/irp.s | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/macros.exp | 22 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/rept.d | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/rept.s | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/semi.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/semi.s | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/test1.d | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/test1.s | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/test2.d | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/test2.s | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/test3.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/test3.s | 7 |
14 files changed, 129 insertions, 0 deletions
diff --git a/gas/testsuite/gas/macros/err.s b/gas/testsuite/gas/macros/err.s new file mode 100644 index 0000000000..cc976311f5 --- /dev/null +++ b/gas/testsuite/gas/macros/err.s @@ -0,0 +1,5 @@ + .macro m + m + .endm + + m diff --git a/gas/testsuite/gas/macros/irp.d b/gas/testsuite/gas/macros/irp.d new file mode 100644 index 0000000000..6733622981 --- /dev/null +++ b/gas/testsuite/gas/macros/irp.d @@ -0,0 +1,13 @@ +#objdump: -r +#name: macro irp + +.*: +file format .* + +RELOCATION RECORDS FOR .* +OFFSET[ ]+TYPE[ ]+VALUE.* +0+00[ ]+[a-zA-Z0-9_]+[ ]+r1 +0+04[ ]+[a-zA-Z0-9_]+[ ]+r2 +0+08[ ]+[a-zA-Z0-9_]+[ ]+r3 +0+0c[ ]+[a-zA-Z0-9_]+[ ]+s1 +0+10[ ]+[a-zA-Z0-9_]+[ ]+s2 +0+14[ ]+[a-zA-Z0-9_]+[ ]+s3 diff --git a/gas/testsuite/gas/macros/irp.s b/gas/testsuite/gas/macros/irp.s new file mode 100644 index 0000000000..2f9a621445 --- /dev/null +++ b/gas/testsuite/gas/macros/irp.s @@ -0,0 +1,8 @@ + .irp param,1,2,3 + .long r\param + .endr + + .irpc param,123 + .long s\param + .endr + diff --git a/gas/testsuite/gas/macros/macros.exp b/gas/testsuite/gas/macros/macros.exp new file mode 100644 index 0000000000..a51e485986 --- /dev/null +++ b/gas/testsuite/gas/macros/macros.exp @@ -0,0 +1,22 @@ +# Run some tests of gas macros. + +if ![istarget hppa*-*-*] { + run_dump_test test1 +} + +run_dump_test test2 + +run_dump_test test3 + +run_dump_test irp + +run_dump_test rept + +gas_test_error "err.s" "" "macro infinite recursion" + +case $target_triplet in { + { hppa*-*-* } { } + default { + run_dump_test semi + } +} diff --git a/gas/testsuite/gas/macros/rept.d b/gas/testsuite/gas/macros/rept.d new file mode 100644 index 0000000000..efb5d996da --- /dev/null +++ b/gas/testsuite/gas/macros/rept.d @@ -0,0 +1,10 @@ +#objdump: -r +#name: macro rept + +.*: +file format .* + +RELOCATION RECORDS FOR .* +OFFSET[ ]+TYPE[ ]+VALUE.* +0+00[ ]+[a-zA-Z0-9_]+[ ]+r1 +0+04[ ]+[a-zA-Z0-9_]+[ ]+r1 +0+08[ ]+[a-zA-Z0-9_]+[ ]+r1 diff --git a/gas/testsuite/gas/macros/rept.s b/gas/testsuite/gas/macros/rept.s new file mode 100644 index 0000000000..243cf67b8f --- /dev/null +++ b/gas/testsuite/gas/macros/rept.s @@ -0,0 +1,3 @@ + .rept 3 + .long r1 + .endr diff --git a/gas/testsuite/gas/macros/semi.d b/gas/testsuite/gas/macros/semi.d new file mode 100644 index 0000000000..ae89e73859 --- /dev/null +++ b/gas/testsuite/gas/macros/semi.d @@ -0,0 +1,8 @@ +#objdump: -s -j .text +#name: semi + +.*: .* + +Contents of section .text: + 0000 3b203b20 3a203a20 00000000 00000000 ; ; : : ........ + 0010 00000000 00000000 00000000 00000000 ................ diff --git a/gas/testsuite/gas/macros/semi.s b/gas/testsuite/gas/macros/semi.s new file mode 100644 index 0000000000..d6e0963a16 --- /dev/null +++ b/gas/testsuite/gas/macros/semi.s @@ -0,0 +1,14 @@ + .macro semicolon + .ascii "; " + .endm + + .macro colon + .ascii ": " + .endm + + semicolon + .ascii "; " + colon + .ascii ": " + + .p2align 5,0 diff --git a/gas/testsuite/gas/macros/test1.d b/gas/testsuite/gas/macros/test1.d new file mode 100644 index 0000000000..d84b3fb53b --- /dev/null +++ b/gas/testsuite/gas/macros/test1.d @@ -0,0 +1,5 @@ +#nm: --extern-only +#name: macro test 1 + +0+01 A s1 +0+02 A s2 diff --git a/gas/testsuite/gas/macros/test1.s b/gas/testsuite/gas/macros/test1.s new file mode 100644 index 0000000000..988b7cde0d --- /dev/null +++ b/gas/testsuite/gas/macros/test1.s @@ -0,0 +1,7 @@ + .macro m arg1 arg2 + .globl \arg1 + \arg1 = \arg2 + .endm + + m s1,1 + m s2,2 diff --git a/gas/testsuite/gas/macros/test2.d b/gas/testsuite/gas/macros/test2.d new file mode 100644 index 0000000000..741d734959 --- /dev/null +++ b/gas/testsuite/gas/macros/test2.d @@ -0,0 +1,10 @@ +#objdump: -r +#name: macro test 2 + +.*: +file format .* + +RELOCATION RECORDS FOR .* +OFFSET[ ]+TYPE[ ]+VALUE.* +0+00[ ]+[a-zA-Z0-9_]+[ ]+r1 +0+04[ ]+[a-zA-Z0-9_]+[ ]+r2 +0+08[ ]+[a-zA-Z0-9_]+[ ]+r3 diff --git a/gas/testsuite/gas/macros/test2.s b/gas/testsuite/gas/macros/test2.s new file mode 100644 index 0000000000..838ce94032 --- /dev/null +++ b/gas/testsuite/gas/macros/test2.s @@ -0,0 +1,9 @@ + .macro m arg1 arg2 arg3 + .long \arg1 + .ifc ,\arg2\arg3 + .ELSE + m \arg2,\arg3 + .endif + .endm + + m r1,r2,r3 diff --git a/gas/testsuite/gas/macros/test3.d b/gas/testsuite/gas/macros/test3.d new file mode 100644 index 0000000000..2580f76422 --- /dev/null +++ b/gas/testsuite/gas/macros/test3.d @@ -0,0 +1,8 @@ +#objdump: -r +#name: macro test 3 + +.*: +file format .* + +RELOCATION RECORDS FOR .* +OFFSET[ ]+TYPE[ ]+VALUE.* +0+00[ ]+[a-zA-Z0-9_]+[ ]+r1 diff --git a/gas/testsuite/gas/macros/test3.s b/gas/testsuite/gas/macros/test3.s new file mode 100644 index 0000000000..c6410aec16 --- /dev/null +++ b/gas/testsuite/gas/macros/test3.s @@ -0,0 +1,7 @@ + .macro m arg1 arg2 + \arg1 + .exitm + \arg2 + .endm + + m ".long r1",.garbage |