]>
Commit | Line | Data |
---|---|---|
ba9703b0 XL |
1 | // This tests that optimized enum debug info accurately reflects the enum layout. |
2 | // This is ignored for the fallback mode on MSVC due to problems with PDB. | |
a1dfa0c6 | 3 | |
ba9703b0 | 4 | // ignore-msvc |
a1dfa0c6 XL |
5 | |
6 | // compile-flags: -g -C no-prepopulate-passes | |
7 | ||
8 | // CHECK-LABEL: @main | |
9 | // CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_variant_part,{{.*}}discriminator:{{.*}} | |
10 | // CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "A",{{.*}}extraData:{{.*}} | |
11 | // CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_structure_type,{{.*}}name: "A",{{.*}} | |
12 | // CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "B",{{.*}}extraData:{{.*}} | |
13 | // CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_structure_type,{{.*}}name: "B",{{.*}} | |
14 | // CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "C",{{.*}}extraData:{{.*}} | |
15 | // CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_structure_type,{{.*}}name: "C",{{.*}} | |
16 | // CHECK-NOT: {{.*}}DIDerivedType{{.*}}name: "D",{{.*}}extraData:{{.*}} | |
17 | // CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "D",{{.*}} | |
18 | // CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_structure_type,{{.*}}name: "D",{{.*}} | |
19 | // CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}flags: DIFlagArtificial{{.*}} | |
20 | ||
21 | #![allow(dead_code)] | |
22 | #![allow(unused_variables)] | |
23 | #![allow(unused_assignments)] | |
24 | ||
25 | enum E { A, B, C, D(bool) } | |
26 | ||
27 | pub fn main() { | |
28 | let e = E::D(true); | |
29 | } |