xref: /llvm-project/clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp (revision 504dd577675e8c85cdc8525990a7c8b517a38a89)
1 // RUN: %clang_cc1 -DSETNODEBUG=0 -gcodeview -emit-llvm -std=c++14 -debug-info-kind=limited %s -o - | FileCheck %s --check-prefix=YESINFO
2 // RUN: %clang_cc1 -DSETNODEBUG=1 -gcodeview -emit-llvm -std=c++14 -debug-info-kind=limited %s -o - | FileCheck %s --check-prefix=NOINFO
3 
4 #if SETNODEBUG
5 #define NODEBUG __attribute__((nodebug))
6 #else
7 #define NODEBUG
8 #endif
9 
10 struct t1 {
11   using t2 NODEBUG = void;
12 };
13 void func6() {
14   t1 v1;
15 }
16 // YESINFO-DAG: !DIDerivedType(tag: DW_TAG_typedef, name: "t2"
17 // NOINFO: [[ELEMENTS:!.*]] = !{}
18 // NOINFO: !DICompositeType(tag: DW_TAG_structure_type, name: "t1", {{.*}}, elements: [[ELEMENTS]],
19 // NOINFO-NOT:  !DIDerivedType(tag: DW_TAG_typedef, name: "t2"
20 
21