diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2023-08-26 15:40:29 +0000 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2023-08-26 16:54:28 +0000 |
| commit | 930b2e72eeabf4cacf59d07999fac565836d05bd (patch) | |
| tree | 4683351a1efe16973668aca90e2320f7f8710ec0 /tests/codegen | |
| parent | f49494ecce9015a6b65a2a0c87a414b357e390c7 (diff) | |
| download | rust-930b2e72eeabf4cacf59d07999fac565836d05bd.tar.gz rust-930b2e72eeabf4cacf59d07999fac565836d05bd.zip | |
Do not produce fragment for ZST.
Diffstat (limited to 'tests/codegen')
| -rw-r--r-- | tests/codegen/sroa-fragment-debuginfo.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/tests/codegen/sroa-fragment-debuginfo.rs b/tests/codegen/sroa-fragment-debuginfo.rs index dbde2226e5a..9762777835c 100644 --- a/tests/codegen/sroa-fragment-debuginfo.rs +++ b/tests/codegen/sroa-fragment-debuginfo.rs @@ -29,17 +29,15 @@ pub struct ZstSlice<'input> { #[no_mangle] pub fn zst(s: &[u8]) { + // The field `extra` is a ZST. The fragment for the field `slice` encompasses the whole + // variable, so is not a fragment. In that case, the variable must have no fragment. + // CHECK: void @zst( -// CHECK: %slice.dbg.spill1 = alloca { ptr, i64 }, -// CHECK: %slice.dbg.spill = alloca %Zst, -// CHECK: %s.dbg.spill = alloca { ptr, i64 }, -// CHECK: call void @llvm.dbg.declare(metadata ptr %s.dbg.spill, metadata ![[S_ZST:.*]], metadata !DIExpression()), -// CHECK: call void @llvm.dbg.declare(metadata ptr %slice.dbg.spill, metadata ![[SLICE_ZST:.*]], metadata !DIExpression(DW_OP_LLVM_fragment, 0, 0)), -// CHECK: call void @llvm.dbg.declare(metadata ptr %slice.dbg.spill1, metadata ![[SLICE_ZST]], metadata !DIExpression()), +// CHECK-NOT: call void @llvm.dbg.declare(metadata ptr %slice.dbg.spill, metadata !{}, metadata !DIExpression(DW_OP_LLVM_fragment, +// CHECK: call void @llvm.dbg.declare(metadata ptr %{{.*}}, metadata ![[SLICE_ZST:.*]], metadata !DIExpression()), +// CHECK-NOT: call void @llvm.dbg.declare(metadata ptr %{{.*}}, metadata ![[SLICE_ZST]], let slice = ZstSlice { slice: s, extra: Zst }; } // CHECK: ![[S_EXTRA]] = !DILocalVariable(name: "s", // CHECK: ![[SLICE_EXTRA]] = !DILocalVariable(name: "slice", -// CHECK: ![[S_ZST]] = !DILocalVariable(name: "s", -// CHECK: ![[SLICE_ZST]] = !DILocalVariable(name: "slice", |
