Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / tools / dsymutil / X86 / keep-func.test
blobf307f5ad89900dcf5215c7842f8d9b34df1de6b6
1 $ cat main.cpp
2 #include <stdio.h>
4 static void Foo(void)
6   typedef struct {
7     int x1;
8     int x2;
9   } FOO_VAR_TYPE;
10   static FOO_VAR_TYPE MyDummyVar __attribute__((aligned(4), used, section("TAD_VIRTUAL, TAD_DUMMY_DATA"), nocommon));
11   printf("Foo called");
14 int main()
16   Foo();
17   return 1;
20 $ clang++ -O2 -g main.cpp -c -o main.o
21 $ clang++ main.o -o main.out
23 RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/keep_func/main.out -o %t.omit.dSYM
24 RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/keep_func/main.out -o %t.keep.dSYM -keep-function-for-static
25 RUN: llvm-dwarfdump %t.omit.dSYM | FileCheck %s --check-prefix OMIT
26 RUN: llvm-dwarfdump %t.keep.dSYM | FileCheck %s --check-prefix KEEP
28 RUN: dsymutil --linker llvm -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/keep_func/main.out -o %t.omit.dSYM
29 RUN: dsymutil --linker llvm -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/keep_func/main.out -o %t.keep.dSYM -keep-function-for-static
30 RUN: llvm-dwarfdump %t.omit.dSYM | FileCheck %s --check-prefix OMIT
31 RUN: llvm-dwarfdump %t.keep.dSYM | FileCheck %s --check-prefix KEEP
33 KEEP:     DW_AT_name    ("MyDummyVar")
34 KEEP:     DW_AT_name    ("FOO_VAR_TYPE")
35 KEEP:     DW_AT_name    ("x1")
36 KEEP:     DW_AT_name    ("x2")
38 OMIT-NOT: DW_AT_name    ("MyDummyVar")
39 OMIT-NOT: DW_AT_name    ("FOO_VAR_TYPE")
40 OMIT-NOT: DW_AT_name    ("x1")
41 OMIT-NOT: DW_AT_name    ("x2")