| // RUN: %clang_cc1 -debug-info-kind=unused-types -emit-llvm -o - %s | FileCheck %s |
| // RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -o - %s | FileCheck --check-prefix=NOUNUSEDTYPE %s |
| |
| struct Type { |
| enum { Unused }; |
| int value = 0; |
| }; |
| int main() { |
| Type t; |
| return t.value; |
| } |
| |
| // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type |
| // CHECK-SAME: scope: ![[STRUCT:[0-9]+]] |
| // CHECK-SAME: elements: ![[ELEMENTS:[0-9]+]] |
| |
| // CHECK: ![[STRUCT]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Type" |
| |
| // CHECK: ![[ELEMENTS]] = !{![[ENUMERATOR:[0-9]+]]} |
| // CHECK: ![[ENUMERATOR]] = !DIEnumerator(name: "Unused", value: 0 |
| |
| |
| // NOUNUSEDTYPE-NOT: !DIEnumerator(name: "Unused" |