Skip to content

Commit 477ecc5

Browse files
committed
Generalize generator-debug test a bit
Don't be so reliant on particular line ordering (though FileCheck makes this hard in general, IMO). Also disable for MSVC.
1 parent 547d863 commit 477ecc5

File tree

1 file changed

+19
-21
lines changed

1 file changed

+19
-21
lines changed

src/test/codegen/generator-debug.rs

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
//
66
// ignore-tidy-linelength
77
// compile-flags: -C debuginfo=2 --edition=2018
8+
// ignore-msvc
89

910
#![feature(generators, generator_trait)]
1011
use std::ops::Generator;
@@ -26,66 +27,63 @@ async fn async_fn_test() {
2627

2728
// FIXME: We need "checksum" to prevent matching with the wrong (duplicate) file
2829
// metadata, even when -C codegen-units=1.
29-
// CHECK: [[FILE:!.*]] = !DIFile(filename: "{{.*}}/generator-debug.rs", {{.*}}, checksum:
30+
// CHECK-DAG: [[FILE:!.*]] = !DIFile(filename: "{{.*}}generator-debug.rs", {{.*}}, checksum:
3031

31-
// CHECK: [[GEN:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "generator-0", scope: [[FN:![0-9]*]],
32-
// CHECK-SAME: flags: DIFlagArtificial
33-
// CHECK: [[FN]] = !DINamespace(name: "generator_test"
34-
// CHECK: [[VARIANT:!.*]] = !DICompositeType(tag: DW_TAG_variant_part, scope: [[FN]],
32+
// CHECK-DAG: [[GEN_FN:!.*]] = !DINamespace(name: "generator_test"
33+
// CHECK-DAG: [[GEN:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "generator-0", scope: [[GEN_FN]], {{.*}}flags: DIFlagArtificial
34+
// CHECK: [[VARIANT:!.*]] = !DICompositeType(tag: DW_TAG_variant_part, scope: [[GEN_FN]],
3535
// CHECK-SAME: flags: DIFlagArtificial
3636
// CHECK-SAME: discriminator: [[DISC:![0-9]*]]
3737
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "0", scope: [[VARIANT]],
38-
// CHECK-SAME: file: [[FILE]], line: 13,
38+
// CHECK-SAME: file: [[FILE]], line: 14,
3939
// CHECK-SAME: flags: DIFlagArtificial
4040
// CHECK: {{!.*}} = !DICompositeType(tag: DW_TAG_structure_type, name: "Unresumed", scope: [[GEN]],
4141
// CHECK-SAME: flags: DIFlagArtificial
4242
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "1", scope: [[VARIANT]],
43-
// CHECK-SAME: file: [[FILE]], line: 17,
43+
// CHECK-SAME: file: [[FILE]], line: 18,
4444
// CHECK-SAME: flags: DIFlagArtificial
4545
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "2", scope: [[VARIANT]],
46-
// CHECK-SAME: file: [[FILE]], line: 17,
46+
// CHECK-SAME: file: [[FILE]], line: 18,
4747
// CHECK-SAME: flags: DIFlagArtificial
4848
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "3", scope: [[VARIANT]],
49-
// CHECK-SAME: file: [[FILE]], line: 14,
49+
// CHECK-SAME: file: [[FILE]], line: 15,
5050
// CHECK-SAME: flags: DIFlagArtificial
5151
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "4", scope: [[VARIANT]],
52-
// CHECK-SAME: file: [[FILE]], line: 16,
52+
// CHECK-SAME: file: [[FILE]], line: 17,
5353
// CHECK-SAME: flags: DIFlagArtificial
5454
// CHECK: [[S1:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend1", scope: [[GEN]],
5555
// CHECK-SAME: flags: DIFlagArtificial
5656
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: [[S1]]
5757
// CHECK-NOT: flags: DIFlagArtificial
5858
// CHECK-SAME: )
59-
// CHECK: [[DISC]] = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: [[FN]],
59+
// CHECK: [[DISC]] = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: [[GEN_FN]],
6060
// CHECK-SAME: flags: DIFlagArtificial
6161

62-
// CHECK: [[GEN:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "generator-0", scope: [[FN:![0-9]*]],
63-
// CHECK-SAME: flags: DIFlagArtificial
64-
// CHECK: [[FN]] = !DINamespace(name: "async_fn_test"
65-
// CHECK: [[VARIANT:!.*]] = !DICompositeType(tag: DW_TAG_variant_part, scope: [[FN]],
62+
// CHECK-DAG: [[GEN:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "generator-0", scope: [[ASYNC_FN:![0-9]*]], {{.*}}flags: DIFlagArtificial
63+
// CHECK: [[VARIANT:!.*]] = !DICompositeType(tag: DW_TAG_variant_part, scope: [[ASYNC_FN]],
6664
// CHECK-SAME: flags: DIFlagArtificial
6765
// CHECK-SAME: discriminator: [[DISC:![0-9]*]]
6866
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "0", scope: [[VARIANT]],
69-
// CHECK-SAME: file: [[FILE]], line: 21,
67+
// CHECK-SAME: file: [[FILE]], line: 22,
7068
// CHECK-SAME: flags: DIFlagArtificial
7169
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "1", scope: [[VARIANT]],
72-
// CHECK-SAME: file: [[FILE]], line: 25,
70+
// CHECK-SAME: file: [[FILE]], line: 26,
7371
// CHECK-SAME: flags: DIFlagArtificial
7472
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "2", scope: [[VARIANT]],
75-
// CHECK-SAME: file: [[FILE]], line: 25,
73+
// CHECK-SAME: file: [[FILE]], line: 26,
7674
// CHECK-SAME: flags: DIFlagArtificial
7775
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "3", scope: [[VARIANT]],
78-
// CHECK-SAME: file: [[FILE]], line: 22,
76+
// CHECK-SAME: file: [[FILE]], line: 23,
7977
// CHECK-SAME: flags: DIFlagArtificial
8078
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "4", scope: [[VARIANT]],
81-
// CHECK-SAME: file: [[FILE]], line: 24,
79+
// CHECK-SAME: file: [[FILE]], line: 25,
8280
// CHECK-SAME: flags: DIFlagArtificial
8381
// CHECK: [[S1:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend1", scope: [[GEN]],
8482
// CHECK-SAME: flags: DIFlagArtificial
8583
// CHECK: {{!.*}} = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: [[S1]]
8684
// CHECK-NOT: flags: DIFlagArtificial
8785
// CHECK-SAME: )
88-
// CHECK: [[DISC]] = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: [[FN]],
86+
// CHECK: [[DISC]] = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: [[ASYNC_FN]],
8987
// CHECK-SAME: flags: DIFlagArtificial
9088

9189
fn main() {

0 commit comments

Comments
 (0)