1 ; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s
10 ; CHECK-LABEL: argument_test:
18 argument_with_parens_test
PROC
19 ; CHECK-LABEL: argument_with_parens_test:
21 mov eax, identity
((3))
23 mov eax, identity
(((4-1)-1))
27 argument_with_parens_test
ENDP
29 offsetof
MACRO structure
, field
30 EXITM <structure.
&field
>
39 substitutions_test
PROC
40 ; CHECK-LABEL: substitutions_test:
42 mov eax, offsetof
(S1
, X
)
44 mov eax, offsetof
(S1
, Y
)
48 substitutions_test
ENDP
50 repeated_invocations_test
PROC
51 ; CHECK-LABEL: repeated_invocations_test:
53 mov eax, identity
(identity
(1))
57 repeated_invocations_test
ENDP
63 EXITM <(n
)*factorial
(n
-1)>
67 ; NOTE: This version is more sensitive to unintentional end-of-statement tokens.
72 EXITM <(n
)*(factorial
(n
-1))>
76 string_recursive_test
PROC
77 ; CHECK-LABEL: string_recursive_test:
81 mov eax, factorial2
(4)
83 mov eax, 11 + factorial
(6) - 11
87 string_recursive_test
ENDP
93 EXITM %fibonacci
(n
-1)+fibonacci
(n
-2)
97 expr_recursive_test
PROC
98 ; CHECK-LABEL: expr_recursive_test:
100 mov eax, fibonacci
(10)
104 expr_recursive_test
ENDP
106 custom_strcat
MACRO arg1
, arg2
110 expand_as_directive_test custom_strcat
(P
, ROC
)
111 ; CHECK-LABEL: expand_as_directive_test:
114 expand_as_directive_test
ENDP