diff options
author | Jan Beulich <jbeulich@novell.com> | 2005-01-31 14:30:34 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2005-01-31 14:30:34 +0000 |
commit | ca3bc58f0ac01b58c2285752be247766840b0b44 (patch) | |
tree | 7e9de9d5f30eb330570eb56ee7952524b6f946e5 /gas/testsuite | |
parent | 057f53c1ad39b24d7833c2eb23aec562c8c3a002 (diff) | |
download | gdb-ca3bc58f0ac01b58c2285752be247766840b0b44.zip gdb-ca3bc58f0ac01b58c2285752be247766840b0b44.tar.gz gdb-ca3bc58f0ac01b58c2285752be247766840b0b44.tar.bz2 |
gas/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* macro.c (buffer_and_nest): Allow 'from' being NULL; handle anything
that can end with .endr in that case. Make requiring/permitting
pseudo-ops without leading dot closer to the logic in read.c serving
the same purpose.
(expand_irp): Don't pass a mnemonic to buffer_and_nest as it will be
ignored.
gas/testsuite/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* gas/macros/repeat.[ds]: New.
* gas/macros/macros.exp: Run new test.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/macros.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/repeat.d | 43 | ||||
-rw-r--r-- | gas/testsuite/gas/macros/repeat.s | 53 |
4 files changed, 102 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index aba29e0..30c9217 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2005-01-31 Jan Beulich <jbeulich@novell.com> + * gas/macros/repeat.[ds]: New. + * gas/macros/macros.exp: Run new test. + +2005-01-31 Jan Beulich <jbeulich@novell.com> + * gas/macros/badarg.[ls]: New. * gas/macros/end.[ls]: New. * gas/macros/redef.[ls]: New. diff --git a/gas/testsuite/gas/macros/macros.exp b/gas/testsuite/gas/macros/macros.exp index 100a3a3..8b99de1 100644 --- a/gas/testsuite/gas/macros/macros.exp +++ b/gas/testsuite/gas/macros/macros.exp @@ -26,6 +26,7 @@ run_dump_test test3 if { ![istarget *c54x*-*-*] && ![istarget *c4x*-*-*] } { run_dump_test irp run_dump_test rept + run_dump_test repeat } diff --git a/gas/testsuite/gas/macros/repeat.d b/gas/testsuite/gas/macros/repeat.d new file mode 100644 index 0000000..272e441 --- /dev/null +++ b/gas/testsuite/gas/macros/repeat.d @@ -0,0 +1,43 @@ +#objdump: -r +#name: nested irp/irpc/rept + +.*: +file format .* + +RELOCATION RECORDS FOR .* +OFFSET[ ]+TYPE[ ]+VALUE.* +0+00[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_19 +0+04[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_18 +0+08[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_29 +0+0c[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_28 +0+10[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_19 +0+14[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_18 +0+18[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_29 +0+1c[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_28 +0+20[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_1 +0+24[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_1 +0+28[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_2 +0+2c[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_2 +0+30[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_19 +0+34[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_18 +0+38[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_29 +0+3c[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_28 +0+40[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_19 +0+44[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_18 +0+48[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_29 +0+4c[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_28 +0+50[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_1 +0+54[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_1 +0+58[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_2 +0+5c[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_2 +0+60[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_9 +0+64[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_8 +0+68[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_9 +0+6c[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_8 +0+70[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_9 +0+74[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_8 +0+78[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_9 +0+7c[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_8 +0+80[ ]+[a-zA-Z0-9_]+[ ]+rept_rept +0+84[ ]+[a-zA-Z0-9_]+[ ]+rept_rept +0+88[ ]+[a-zA-Z0-9_]+[ ]+rept_rept +0+8c[ ]+[a-zA-Z0-9_]+[ ]+rept_rept diff --git a/gas/testsuite/gas/macros/repeat.s b/gas/testsuite/gas/macros/repeat.s new file mode 100644 index 0000000..70329f7 --- /dev/null +++ b/gas/testsuite/gas/macros/repeat.s @@ -0,0 +1,53 @@ + .irp param1,1,2 + .irp param2,9,8 + .long irp_irp_\param1\param2 + .endr + .endr + + .irp param1,1,2 + .irpc param2,98 + .long irp_irpc_\param1\param2 + .endr + .endr + + .irp param1,1,2 + .rept 2 + .long irp_rept_\param1 + .endr + .endr + + .irpc param1,12 + .irp param2,9,8 + .long irpc_irp_\param1\param2 + .endr + .endr + + .irpc param1,12 + .irpc param2,98 + .long irpc_irpc_\param1\param2 + .endr + .endr + + .irpc param1,12 + .rept 2 + .long irpc_rept_\param1 + .endr + .endr + + .rept 2 + .irp param2,9,8 + .long rept_irp_\param2 + .endr + .endr + + .rept 2 + .irpc param2,98 + .long rept_irpc_\param2 + .endr + .endr + + .rept 2 + .rept 2 + .long rept_rept + .endr + .endr |