Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lldb / test / API / functionalities / location-list-lookup / main.c
blob852772ee52ca2d9b77295f5f45e1378659c9acfd
1 #include <stdio.h>
2 #include <stdlib.h>
4 // The goal with this test is:
5 // 1. Have main() followed by foo()
6 // 2. Have the no-return call to abort() in main be the last instruction
7 // 3. Have the next instruction be the start of foo()
8 // 4. The debug info for argv uses a location list.
9 // clang at -O1 on x86_64 or arm64 has debuginfo like
10 // DW_AT_location (0x00000049:
11 // [0x0000000100003f15, 0x0000000100003f25): DW_OP_reg4 RSI
12 // [0x0000000100003f25, 0x0000000100003f5b): DW_OP_reg15 R15)
14 void foo(int);
15 int main(int argc, char **argv) {
16 char *file = argv[0];
17 char f0 = file[0];
18 printf("%c\n", f0);
19 foo(f0);
20 printf("%s %d\n", argv[0], argc);
21 abort(); /// argv is still be accessible here
23 void foo(int in) { printf("%d\n", in); }