19783e209SZequan Wu // RUN: %clang_cc1 -mllvm -emptyline-comment-coverage=false -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -fexceptions -fcxx-exceptions -emit-llvm-only -triple %itanium_abi_triple -main-file-name terminate-statements.cpp -I %S/Inputs %s | FileCheck %s
29783e209SZequan Wu
f1()39783e209SZequan Wu int f1() {
49783e209SZequan Wu return 0;
59783e209SZequan Wu return 0; // CHECK: Gap,File 0, [[@LINE-1]]:12 -> [[@LINE]]:3 = 0
69783e209SZequan Wu }
79783e209SZequan Wu
f2(int i)89783e209SZequan Wu int f2(int i) {
99783e209SZequan Wu if (i)
109783e209SZequan Wu return 0;
119783e209SZequan Wu else
129783e209SZequan Wu ; // CHECK: Gap,File 0, [[@LINE]]:6 -> [[@LINE+1]]:3 = (#0 - #1)
139783e209SZequan Wu return 1; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #1)
149783e209SZequan Wu }
159783e209SZequan Wu
f3()169783e209SZequan Wu int f3() {
179783e209SZequan Wu for (int a = 1; a < 9; a--)
189783e209SZequan Wu return a; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:3 = (#0 - #1)
199783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #1)
209783e209SZequan Wu }
219783e209SZequan Wu
f4(int i)229783e209SZequan Wu int f4(int i) {
239783e209SZequan Wu while (i > 0) {
249783e209SZequan Wu i++;
259783e209SZequan Wu return i;
269783e209SZequan Wu } // CHECK: File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = (#0 - #1)
279783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #1)
289783e209SZequan Wu }
299783e209SZequan Wu
f5(int i)309783e209SZequan Wu int f5(int i) {
319783e209SZequan Wu do {
329783e209SZequan Wu return i;
339783e209SZequan Wu } while (i > 0); // CHECK: Gap,File 0, [[@LINE]]:19 -> [[@LINE+1]]:3 = (0 - #1)
349783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (0 - #1)
359783e209SZequan Wu }
369783e209SZequan Wu
f6()379783e209SZequan Wu int f6() {
389783e209SZequan Wu int arr[] = {1, 2, 3, 4};
399783e209SZequan Wu for (int i : arr) {
409783e209SZequan Wu return i;
419783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = (#0 - #1)
429783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #1)
439783e209SZequan Wu }
449783e209SZequan Wu
f7()459783e209SZequan Wu int f7() {
469783e209SZequan Wu {
479783e209SZequan Wu {
489783e209SZequan Wu return 0;
499783e209SZequan Wu }
509783e209SZequan Wu return 0; // CHECK: Gap,File 0, [[@LINE-1]]:6 -> [[@LINE]]:5 = 0
519783e209SZequan Wu }
529783e209SZequan Wu return 0; // CHECK: Gap,File 0, [[@LINE-1]]:4 -> [[@LINE]]:3 = 0
539783e209SZequan Wu }
549783e209SZequan Wu
f8(int i)559783e209SZequan Wu int f8(int i) {
569783e209SZequan Wu if (i == 1)
579783e209SZequan Wu return 1; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:3 = (#0 - #1)
589783e209SZequan Wu if (i == 2) // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE+5]]:2 = (#0 - #1)
599783e209SZequan Wu return 2; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:3 = ((#0 - #1) - #2)
609783e209SZequan Wu if (i == 3) // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE+3]]:2 = ((#0 - #1) - #2)
619783e209SZequan Wu return 3; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:3 = (((#0 - #1) - #2) - #3)
629783e209SZequan Wu return 4; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (((#0 - #1) - #2) - #3)
639783e209SZequan Wu }
649783e209SZequan Wu
f9(int i)659783e209SZequan Wu int f9(int i) {
669783e209SZequan Wu if (i == 1)
679783e209SZequan Wu return 1; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:8 = (#0 - #1)
689783e209SZequan Wu else if (i == 2) // CHECK-NEXT: File 0, [[@LINE]]:8 -> [[@LINE+1]]:13 = (#0 - #1)
699783e209SZequan Wu return 2; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:3 = ((#0 - #1) - #2)
709783e209SZequan Wu return 3; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = ((#0 - #1) - #2)
719783e209SZequan Wu }
729783e209SZequan Wu
f10(int i)739783e209SZequan Wu int f10(int i) {
749783e209SZequan Wu if (i == 1) {
759783e209SZequan Wu return 0;
769783e209SZequan Wu if (i == 2) // CHECK: Gap,File 0, [[@LINE-1]]:14 -> [[@LINE]]:5 = 0
779783e209SZequan Wu return 0;
789783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = ((#0 - #1) - #2)
799783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = ((#0 - #1) - #2)
809783e209SZequan Wu }
819783e209SZequan Wu
f11(int i)829783e209SZequan Wu int f11(int i) {
839783e209SZequan Wu if (i == 1)
849783e209SZequan Wu i = 2;
859783e209SZequan Wu else
869783e209SZequan Wu return 0; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:3 = #1
879783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = #1
889783e209SZequan Wu }
899783e209SZequan Wu
f12(int i)909783e209SZequan Wu int f12(int i) {
919783e209SZequan Wu int x = 1;
929783e209SZequan Wu if (x == 1) {
939783e209SZequan Wu if (x == 1) {
949783e209SZequan Wu return 0;
959783e209SZequan Wu }
969783e209SZequan Wu } else if (x == 2) {
979783e209SZequan Wu x = 2;
989783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = (#0 - #2)
999783e209SZequan Wu return 1; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #2)
1009783e209SZequan Wu }
1019783e209SZequan Wu
f13(int i)1029783e209SZequan Wu int f13(int i) {
1039783e209SZequan Wu if (i == 1) {
1049783e209SZequan Wu return 0; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:5 = 0
1059783e209SZequan Wu if (i == 2) { // CHECK-NEXT: File 0, [[@LINE]]:5 -> [[@LINE+3]]:4 = 0
1069783e209SZequan Wu i++;
1079783e209SZequan Wu }
1089783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = (#0 - #1)
1099783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #1)
1109783e209SZequan Wu }
1119783e209SZequan Wu
f14(int i)1129783e209SZequan Wu int f14(int i) {
1139783e209SZequan Wu while (i == 0) {
1149783e209SZequan Wu while (i < 10) {
1159783e209SZequan Wu i++;
1169783e209SZequan Wu return 0;
1179783e209SZequan Wu }
1189783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = (#0 - #2)
1199783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #2)
1209783e209SZequan Wu }
1219783e209SZequan Wu
f15(int i)1229783e209SZequan Wu int f15(int i) {
1239783e209SZequan Wu while (i == 0) {
1249783e209SZequan Wu return 0; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+1]]:5 = 0
1259783e209SZequan Wu while (i < 10) { // CHECK-NEXT: File 0, [[@LINE]]:5 -> [[@LINE+3]]:4 = 0
1269783e209SZequan Wu i++;
1279783e209SZequan Wu }
1289783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = (#0 - #1)
1299783e209SZequan Wu return 0; // CHECK-NEXT: File 0, [[@LINE]]:3 -> [[@LINE]]:11 = (#0 - #1)
1309783e209SZequan Wu }
1319783e209SZequan Wu
f16(int i)1329783e209SZequan Wu int f16(int i) {
1339783e209SZequan Wu while (i == 0) {
1349783e209SZequan Wu break;
1359783e209SZequan Wu return 0;
1369783e209SZequan Wu }
1379783e209SZequan Wu return 0; // CHECK-NOT: Gap,File 0, [[@LINE-1]]
1389783e209SZequan Wu }
1399783e209SZequan Wu
1409783e209SZequan Wu #define IF if
1419783e209SZequan Wu #define STMT(S) S
1429783e209SZequan Wu
1439783e209SZequan Wu // CHECK-LABEL: _Z3fooi:
foo(int x)1449783e209SZequan Wu void foo(int x) {
1459783e209SZequan Wu if (x == 0) {
1469783e209SZequan Wu return;
1479783e209SZequan Wu } // CHECK-NOT: Gap,File 0, [[@LINE]]:4
1489783e209SZequan Wu //< Don't complete the last deferred region in a decl, even though it may
1499783e209SZequan Wu //< leave some whitespace marked with the same counter as the final return.
1509783e209SZequan Wu }
1519783e209SZequan Wu
1529783e209SZequan Wu // CHECK-LABEL: _Z4foooi:
fooo(int x)1539783e209SZequan Wu void fooo(int x) {
1549783e209SZequan Wu if (x == 0) {
1559783e209SZequan Wu return;
1569783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+2]]:3 = (#0 - #1)
1579783e209SZequan Wu
1589783e209SZequan Wu if (x == 1) {
1599783e209SZequan Wu return;
1609783e209SZequan Wu } // CHECK-NOT: Gap,File 0, [[@LINE]]:4
1619783e209SZequan Wu
1629783e209SZequan Wu }
1639783e209SZequan Wu
1649783e209SZequan Wu // CHECK-LABEL: _Z3bazv:
baz()1659783e209SZequan Wu void baz() { // CHECK: [[@LINE]]:12 -> [[@LINE+2]]:2
1669783e209SZequan Wu return; // CHECK-NOT: File
1679783e209SZequan Wu }
1689783e209SZequan Wu
1699783e209SZequan Wu // CHECK-LABEL: _Z4maazv:
maaz()1709783e209SZequan Wu void maaz() {
1719783e209SZequan Wu if (true)
1729783e209SZequan Wu return; // CHECK: Gap,File 0, [[@LINE]]:12
1739783e209SZequan Wu else
1749783e209SZequan Wu return; // CHECK-NOT: Gap,File 0, [[@LINE]]
1759783e209SZequan Wu }
1769783e209SZequan Wu
1779783e209SZequan Wu // CHECK-LABEL: _Z5maaazv:
maaaz()1789783e209SZequan Wu void maaaz() {
1799783e209SZequan Wu if (true) {
1809783e209SZequan Wu return;
1819783e209SZequan Wu } else { // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE]]:10
1829783e209SZequan Wu return; // CHECK-NOT: Gap,File 0, [[@LINE]]
1839783e209SZequan Wu }
1849783e209SZequan Wu }
1859783e209SZequan Wu
1869783e209SZequan Wu // CHECK-LABEL: _Z3bari:
bar(int x)1879783e209SZequan Wu void bar(int x) {
1889783e209SZequan Wu IF (x)
1899783e209SZequan Wu return; // CHECK: Gap,File 0, [[@LINE]]:12 -> [[@LINE+2]]:3 = (#0 - #1)
1909783e209SZequan Wu
1919783e209SZequan Wu IF (!x)
1929783e209SZequan Wu return; // CHECK: Gap,File 0, [[@LINE]]:12 -> [[@LINE+2]]:3 = ((#0 - #1) - #2)
1939783e209SZequan Wu
1949783e209SZequan Wu foo(x);
1959783e209SZequan Wu }
1969783e209SZequan Wu
1979783e209SZequan Wu // CHECK-LABEL: _Z4quuxi:
quux(int x)1989783e209SZequan Wu void quux(int x) {
1999783e209SZequan Wu STMT(
2009783e209SZequan Wu if (x == 0)
2019783e209SZequan Wu return;)
2029783e209SZequan Wu
2039783e209SZequan Wu // CHECK: Gap,File 0, [[@LINE-2]]:13 -> [[@LINE+2]]:3 = (#0 - #1)
2049783e209SZequan Wu
2059783e209SZequan Wu if (x == 1)
2069783e209SZequan Wu STMT(return;)
2079783e209SZequan Wu
2089783e209SZequan Wu // CHECK: Gap,File 0, [[@LINE-2]]:18 -> [[@LINE+2]]:3 = ((#0 - #1) - #2)
2099783e209SZequan Wu
2109783e209SZequan Wu STMT(
2119783e209SZequan Wu if (x == 2)
2129783e209SZequan Wu return;
2139783e209SZequan Wu
2149783e209SZequan Wu // CHECK-NOT: [[@LINE-2]]:{{.*}} -> [[@LINE+2]]
2159783e209SZequan Wu
2169783e209SZequan Wu if (x == 3)
2179783e209SZequan Wu return;
2189783e209SZequan Wu )
2199783e209SZequan Wu }
2209783e209SZequan Wu
2219783e209SZequan Wu // CHECK-LABEL: _Z8weird_ifv:
weird_if()2229783e209SZequan Wu void weird_if() {
2239783e209SZequan Wu int i = 0;
2249783e209SZequan Wu
2259783e209SZequan Wu if (false)
2269783e209SZequan Wu return; // CHECK: Gap,File 0, [[@LINE]]:12 -> [[@LINE+2]]:3 = (#0 - #1)
2279783e209SZequan Wu
2289783e209SZequan Wu if (false)
2299783e209SZequan Wu i++;
2309783e209SZequan Wu
2319783e209SZequan Wu if (i + 100 > 0) { // CHECK: [[@LINE]]:20 -> [[@LINE+6]]:4 = #3
2329783e209SZequan Wu if (false) // CHECK: [[@LINE+1]]:7 -> [[@LINE+1]]:13 = #4
2339783e209SZequan Wu return; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+2]]:5 = (#3 - #4)
2349783e209SZequan Wu // CHECK: [[@LINE+1]]:5 -> [[@LINE+1]]:11 = (#3 - #4)
2359783e209SZequan Wu return;
2369783e209SZequan Wu
2379783e209SZequan Wu } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+2]]:3 = ((#0 - #1) - #3)
2389783e209SZequan Wu
2399783e209SZequan Wu if (false)
2409783e209SZequan Wu return; // CHECK-NOT: Gap,File 0, [[@LINE]]:11
2419783e209SZequan Wu }
2429783e209SZequan Wu
2439783e209SZequan Wu // CHECK-LABEL: _Z8for_loopv:
for_loop()2449783e209SZequan Wu void for_loop() {
2459783e209SZequan Wu if (false)
2469783e209SZequan Wu return; // CHECK: Gap,File 0, [[@LINE]]:12 -> [[@LINE+2]]:3 = (#0 - #1)
2479783e209SZequan Wu
2489783e209SZequan Wu for (int i = 0; i < 10; ++i) {
2499783e209SZequan Wu if (i % 2 == 0)
2509783e209SZequan Wu continue; // CHECK: Gap,File 0, [[@LINE]]:16 -> [[@LINE+2]]:5 = (#2 - #3)
2519783e209SZequan Wu
2529783e209SZequan Wu if (i % 5 == 0)
2539783e209SZequan Wu break; // CHECK: Gap,File 0, [[@LINE]]:13 -> [[@LINE+2]]:5 = ((#2 - #3) - #4)
2549783e209SZequan Wu
2559783e209SZequan Wu int x = i; // CHECK: [[@LINE]]:5 -> [[@LINE+1]]:11 = ((#2 - #3) - #4)
2569783e209SZequan Wu return; // CHECK-NOT: [[@LINE]]:11 -> [[@LINE+2]]
2579783e209SZequan Wu
2589783e209SZequan Wu }
2599783e209SZequan Wu }
2609783e209SZequan Wu
2619783e209SZequan Wu struct Error {};
2629783e209SZequan Wu
2639783e209SZequan Wu // CHECK-LABEL: _Z10while_loopv:
while_loop()2649783e209SZequan Wu void while_loop() {
2659783e209SZequan Wu if (false)
2669783e209SZequan Wu return; // CHECK: Gap,File 0, [[@LINE]]:12 -> [[@LINE+2]]:3 = (#0 - #1)
2679783e209SZequan Wu
2689783e209SZequan Wu int x = 0;
2699783e209SZequan Wu while (++x < 10) {
2709783e209SZequan Wu if (x == 1)
2719783e209SZequan Wu continue; // CHECK: Gap,File 0, [[@LINE]]:16 -> [[@LINE+2]]:5 = (#2 - #3)
2729783e209SZequan Wu
2739783e209SZequan Wu while (++x < 4) {
2749783e209SZequan Wu if (x == 3)
2759783e209SZequan Wu break; // CHECK: Gap,File 0, [[@LINE]]:15 -> [[@LINE+2]]:7 = (#4 - #5)
2769783e209SZequan Wu
2779783e209SZequan Wu while (++x < 5) {}
2789783e209SZequan Wu }
2799783e209SZequan Wu
2809783e209SZequan Wu if (x == 0)
2819783e209SZequan Wu throw Error(); // CHECK: Gap,File 0, [[@LINE]]:21 -> [[@LINE+2]]:5 = ((#2 - #3) - #7)
2829783e209SZequan Wu
2839783e209SZequan Wu while (++x < 9) {
2849783e209SZequan Wu if (x == 0)
2859783e209SZequan Wu break; // CHECK-NOT: [[@LINE]]:14 -> [[@LINE+2]]
2869783e209SZequan Wu
2879783e209SZequan Wu }
2889783e209SZequan Wu }
2899783e209SZequan Wu }
2909783e209SZequan Wu
2919783e209SZequan Wu // CHECK-LABEL: _Z5gotosv:
gotos()2929783e209SZequan Wu void gotos() {
2939783e209SZequan Wu if (false)
2949783e209SZequan Wu goto out; // CHECK: Gap,File 0, [[@LINE]]:14 -> [[@LINE+2]]:3 = (#0 - #1)
2959783e209SZequan Wu
2969783e209SZequan Wu return; // CHECK: [[@LINE]]:3 -> [[@LINE]]:9 = (#0 - #1)
2979783e209SZequan Wu
2989783e209SZequan Wu out:
2999783e209SZequan Wu return; // CHECK-NOT: Gap,File 0, [[@LINE]]:8
3009783e209SZequan Wu }
3019783e209SZequan Wu
3029783e209SZequan Wu // CHECK-LABEL: _Z8switchesv:
switches()3039783e209SZequan Wu void switches() {
3049783e209SZequan Wu int x;
3059783e209SZequan Wu switch (x) {
3069783e209SZequan Wu case 0:
3079783e209SZequan Wu return;
3089783e209SZequan Wu default:
3099783e209SZequan Wu return; // CHECK-NOT: Gap,File 0, [[@LINE]]
3109783e209SZequan Wu }
3119783e209SZequan Wu }
3129783e209SZequan Wu
3139783e209SZequan Wu #include "deferred-region-helper.h"
3149783e209SZequan Wu // CHECK-LABEL: _Z13included_funcv:
3159783e209SZequan Wu // CHECK: Gap,File 0, 2:13 -> 3:5 = #1
3169783e209SZequan Wu // CHECK: Gap,File 0, 3:12 -> 4:3 = (#0 - #1)
3179783e209SZequan Wu
3189783e209SZequan Wu // CHECK-LABEL: _Z7includev:
include()3199783e209SZequan Wu void include() {
3209783e209SZequan Wu included_func();
3219783e209SZequan Wu }
3229783e209SZequan Wu
323*94dd4766SYing Yi // CHECK-LABEL: _Z7ornoretv:
324*94dd4766SYing Yi void abort() __attribute__((noreturn));
325*94dd4766SYing Yi
ornoret(void)326*94dd4766SYing Yi int ornoret(void) {
327*94dd4766SYing Yi ( true || (abort(), 0) ); // CHECK: Gap,File 0, [[@LINE]]:28 -> [[@LINE+1]]:3 = #0
328*94dd4766SYing Yi ( false || (abort(), 0) ); // CHECK: Gap,File 0, [[@LINE]]:29 -> [[@LINE+1]]:3 = 0
329*94dd4766SYing Yi return 0;
330*94dd4766SYing Yi }
331*94dd4766SYing Yi
332*94dd4766SYing Yi // CHECK-LABEL: _Z17abstractcondnoretv:
abstractcondnoret(void)333*94dd4766SYing Yi int abstractcondnoret(void) {
334*94dd4766SYing Yi ( true ? void (0) : abort() ); // CHECK: Gap,File 0, [[@LINE]]:33 -> [[@LINE+1]]:3 = #1
335*94dd4766SYing Yi ( false ? void (0) : abort() ); // CHECK: Gap,File 0, [[@LINE]]:34 -> [[@LINE+1]]:3 = #2
336*94dd4766SYing Yi ( true ? abort() : void (0) ); // CHECK: Gap,File 0, [[@LINE]]:33 -> [[@LINE+1]]:3 = (#2 - #3)
337*94dd4766SYing Yi ( false ? abort() : void (0) ); // CHECK: Gap,File 0, [[@LINE]]:34 -> [[@LINE+1]]:3 = ((#2 - #3) - #4)
338*94dd4766SYing Yi return 0;
339*94dd4766SYing Yi }
340*94dd4766SYing Yi
341*94dd4766SYing Yi // CHECK-LABEL: _Z13elsecondnoretv:
elsecondnoret(void)342*94dd4766SYing Yi int elsecondnoret(void) {
343*94dd4766SYing Yi if (true) {} else {
344*94dd4766SYing Yi true ? void (0) : abort();
345*94dd4766SYing Yi } // CHECK: Gap,File 0, [[@LINE]]:4 -> [[@LINE+1]]:3 = (#1 + #2)
346*94dd4766SYing Yi return 0;
347*94dd4766SYing Yi }
348*94dd4766SYing Yi
main()3499783e209SZequan Wu int main() {
3509783e209SZequan Wu foo(0);
3519783e209SZequan Wu foo(1);
3529783e209SZequan Wu fooo(0);
3539783e209SZequan Wu fooo(1);
3549783e209SZequan Wu maaz();
3559783e209SZequan Wu maaaz();
3569783e209SZequan Wu baz();
3579783e209SZequan Wu bar(0);
3589783e209SZequan Wu bar(1);
3599783e209SZequan Wu quux(0);
3609783e209SZequan Wu quux(1);
3619783e209SZequan Wu quux(2);
3629783e209SZequan Wu quux(3);
3639783e209SZequan Wu weird_if();
3649783e209SZequan Wu for_loop();
3659783e209SZequan Wu while_loop();
3669783e209SZequan Wu gotos();
3679783e209SZequan Wu include();
368*94dd4766SYing Yi ornoret();
369*94dd4766SYing Yi abstractcondnoret();
370*94dd4766SYing Yi elsecondnoret();
3719783e209SZequan Wu return 0;
3729783e209SZequan Wu }
373