mirror of
https://github.com/open-simh/simtools.git
synced 2026-03-07 11:27:34 +00:00
Fix macro calls with omitted argument that has a default value,
followed by additional (not omitted) arguments.
This commit is contained in:
@@ -49,7 +49,35 @@
|
||||
1 ; <bro<ken>
|
||||
35 000000 braket <bro<ken> string
|
||||
1 ; <bro<ken>
|
||||
35
|
||||
36
|
||||
37 ;
|
||||
38 ; Test that commas work with default arguments
|
||||
39 ;
|
||||
40 .macro tstarg a1,a2=default,a3,a4
|
||||
41 .narg label ; second arg is "a2"
|
||||
42 .endm
|
||||
43
|
||||
44 000000 start: tstarg ; 0 args
|
||||
1 000000 .narg label ; second arg is "default"
|
||||
45 000000 tstarg 123 ; 1 arg
|
||||
1 000001 .narg label ; second arg is "default"
|
||||
46 000000 tstarg 1, ; 2 args
|
||||
1 000002 .narg label ; second arg is ""
|
||||
47 000000 tstarg ,2 ; 2 args
|
||||
1 000002 .narg label ; second arg is "2"
|
||||
48 000000 tstarg , ; 2 args
|
||||
1 000002 .narg label ; second arg is ""
|
||||
49 000000 tstarg ,, ; 3 args
|
||||
1 000003 .narg label ; second arg is "default"
|
||||
50 000000 tstarg 1,, ; 3 args
|
||||
1 000003 .narg label ; second arg is "default"
|
||||
51 000000 tstarg ,,3 ; 3 args
|
||||
1 000003 .narg label ; second arg is "default"
|
||||
52 000000 tstarg 1,,3 ; 3 args
|
||||
1 000003 .narg label ; second arg is "default"
|
||||
53 000000 tstarg 1,2,3 ; 3 args
|
||||
1 000003 .narg label ; second arg is "2"
|
||||
53
|
||||
|
||||
|
||||
Symbol table
|
||||
|
||||
@@ -33,3 +33,21 @@ start: tstarg ; 0 args
|
||||
braket ^/broken
|
||||
braket <bro<ken>
|
||||
braket <bro<ken> string
|
||||
|
||||
;
|
||||
; Test that commas work with default arguments
|
||||
;
|
||||
.macro tstarg a1,a2=default,a3,a4
|
||||
.narg label ; second arg is "a2"
|
||||
.endm
|
||||
|
||||
start: tstarg ; 0 args
|
||||
tstarg 123 ; 1 arg
|
||||
tstarg 1, ; 2 args
|
||||
tstarg ,2 ; 2 args
|
||||
tstarg , ; 2 args
|
||||
tstarg ,, ; 3 args
|
||||
tstarg 1,, ; 3 args
|
||||
tstarg ,,3 ; 3 args
|
||||
tstarg 1,,3 ; 3 args
|
||||
tstarg 1,2,3 ; 3 args
|
||||
|
||||
Reference in New Issue
Block a user