Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / utils / lit / tests / Inputs / shtest-if-else / test.txt
blobb5fc1b49fcc52ee32bb17ac3e2817c3d546cf0b8
1 # CHECK: -- Testing:{{.*}}
2 # CHECK-NEXT: PASS: shtest-if-else :: test.txt (1 of 1)
3 #      CHECK: Command Output (stdout):
4 # CHECK-NEXT: --
6 # RUN: %if feature %{ echo "test-1" %}
7 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
8 # CHECK-NEXT: echo "test-1"
10 # If %else is not present it is treated like %else %{%}. Empty commands
11 # are ignored.
13 # RUN: %if nofeature %{ echo "fail" %}
14 #     CHECK: # {{RUN}}: at line [[#@LINE-1]] has no command after substitutions
15 # CHECK-NOT: fail
17 # RUN: %if nofeature %{ echo "fail" %} %else %{ echo "test-2" %}
18 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
19 # CHECK-NEXT: echo "test-2"
21 # Spaces inside curly braces are not ignored
23 # RUN: echo test-%if feature %{ 3 %} %else %{ fail %}-test
24 # RUN: echo test-%if feature %{ 4 4 %} %else %{ fail %}-test
25 # RUN: echo test-%if nofeature %{ fail %} %else %{ 5 5 %}-test
26 #      CHECK: # {{RUN}}: at line [[#@LINE-3]]
27 # CHECK-NEXT: echo test- 3 -test
28 #      CHECK: # {{RUN}}: at line [[#@LINE-4]]
29 # CHECK-NEXT: echo test- 4 4 -test
30 #      CHECK: # {{RUN}}: at line [[#@LINE-5]]
31 # CHECK-NEXT: echo test- 5 5 -test
33 # Escape line breaks for multi-line expressions
35 # RUN: %if feature  \
36 # RUN:   %{ echo     \
37 # RUN:     "test-5" \
38 # RUN:   %}
39 #      CHECK: # {{RUN}}: at line [[#@LINE-4]]
40 # CHECK-NEXT: echo "test-5"
42 # RUN: %if nofeature       \
43 # RUN:   %{ echo "fail" %}   \
44 # RUN: %else               \
45 # RUN:   %{ echo "test-6" %}
46 #      CHECK: # {{RUN}}: at line [[#@LINE-4]]
47 # CHECK-NEXT: echo "test-6"
49 # RUN: echo "test%if feature %{%} %else %{%}-7"
50 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
51 # CHECK-NEXT: echo "test-7"
53 # Escape %if. Without %if..%else context '%{' and '%}' are treated
54 # literally.
56 # RUN: echo %%if feature %{ echo "test-8" %}
57 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
58 # CHECK-NEXT: echo %if feature %{ echo "test-8" %}
60 # Nested expressions are supported:
62 # RUN: echo %if feature %{ %if feature %{ %if nofeature %{"fail"%} %else %{"test-9"%} %} %}
63 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
64 # CHECK-NEXT: echo "test-9"
66 # Binary expression evaluation and regex match can be used as
67 # conditions.
69 # RUN: echo %if feature && !nofeature %{ "test-10" %}
70 # RUN: echo %if feature && nofeature %{ "fail" %} %else %{ "test-11" %}
71 # RUN: echo %if {{fea.+}} %{ "test-12" %} %else %{ "fail" %}
72 #      CHECK: # {{RUN}}: at line [[#@LINE-3]]
73 # CHECK-NEXT: echo "test-10"
74 #      CHECK: # {{RUN}}: at line [[#@LINE-4]]
75 # CHECK-NEXT: echo "test-11"
76 #      CHECK: # {{RUN}}: at line [[#@LINE-5]]
77 # CHECK-NEXT: echo "test-12"
79 # Spaces between %if and %else are ignored. If there is no %else -
80 # space after %if %{...%} is not ignored.
82 # RUN: echo XX %if feature %{YY%} ZZ
83 # RUN: echo AA %if feature %{BB%} %else %{CC%} DD
84 # RUN: echo AA %if nofeature %{BB%} %else %{CC%} DD
85 #      CHECK: # {{RUN}}: at line [[#@LINE-3]]
86 # CHECK-NEXT: echo XX YY ZZ
87 #      CHECK: # {{RUN}}: at line [[#@LINE-4]]
88 # CHECK-NEXT: echo AA BB DD
89 #      CHECK: # {{RUN}}: at line [[#@LINE-5]]
90 # CHECK-NEXT: echo AA CC DD
92 # '{' and '}' can be used without escaping
94 # RUN: %if feature %{echo {}%}
95 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
96 # CHECK-NEXT: echo {}
98 # Spaces are not required
100 # RUN: echo %if feature%{"ok"%}%else%{"fail"%}
101 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
102 # CHECK-NEXT: echo "ok"
104 # Substitutions with braces are handled correctly
106 # RUN: echo %{sub} %if feature%{test-%{sub}%}%else%{"fail"%}
107 #      CHECK: # {{RUN}}: at line [[#@LINE-1]]
108 # CHECK-NEXT: echo ok test-ok