Refactor and expand enum test
This commit is contained in:
parent
aa1a16a359
commit
fc59f2c28c
3 changed files with 41 additions and 40 deletions
|
|
@ -1,18 +0,0 @@
|
|||
// This test verifies the accuracy of emitted file and line debuginfo metadata for C++-like
|
||||
// enumerations.
|
||||
//
|
||||
// compile-flags: -C debuginfo=2
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// ignore-tidy-linelength
|
||||
|
||||
// NONMSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}/codegen/issue-98678-cpp-like-enum.rs{{".*}})
|
||||
// MSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\codegen\\issue-98678-cpp-like-enum.rs{{".*}})
|
||||
|
||||
// CHECK-DAG: !DICompositeType({{.*"}}MyCppLikeEnum{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
#[repr(C)]
|
||||
pub enum MyCppLikeEnum {
|
||||
One,
|
||||
}
|
||||
|
||||
pub fn foo(_: MyCppLikeEnum) {}
|
||||
41
tests/codegen/issue-98678-enum.rs
Normal file
41
tests/codegen/issue-98678-enum.rs
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
// This test verifies the accuracy of emitted file and line debuginfo metadata enums.
|
||||
//
|
||||
// compile-flags: -C debuginfo=2
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// ignore-tidy-linelength
|
||||
|
||||
// NONMSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}/codegen/issue-98678-enum.rs{{".*}})
|
||||
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\codegen\\issue-98678-enum.rs{{".*}})
|
||||
|
||||
// NONMSVC: !DICompositeType({{.*"}}SingleCase{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// MSVC: !DICompositeType({{.*"}}enum2$<issue_98678_enum::SingleCase>{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
pub enum SingleCase {
|
||||
// NONMSVC: !DIDerivedType(tag: DW_TAG_member, name: "One",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "One",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
One,
|
||||
}
|
||||
|
||||
// NONMSVC: !DICompositeType({{.*"}}MultipleDataCases{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// MSVC: !DICompositeType({{.*"}}enum2$<issue_98678_enum::MultipleDataCases>{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
pub enum MultipleDataCases {
|
||||
// NONMSVC: !DIDerivedType(tag: DW_TAG_member, name: "Case1",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Case1",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
Case1(u32),
|
||||
// NONMSVC: !DIDerivedType(tag: DW_TAG_member, name: "Case2",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Case2",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
Case2(i64),
|
||||
}
|
||||
|
||||
// NONMSVC: !DICompositeType({{.*"}}NicheLayout{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// MSVC: !DICompositeType({{.*"}}enum2$<issue_98678_enum::NicheLayout>{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
pub enum NicheLayout {
|
||||
// NONMSVC: !DIDerivedType(tag: DW_TAG_member, name: "Something",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Something",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
Something(&'static u32),
|
||||
// NONMSVC: !DIDerivedType(tag: DW_TAG_member, name: "Nothing",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Nothing",{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
Nothing,
|
||||
}
|
||||
|
||||
pub fn foo(_: SingleCase, _: MultipleDataCases, _: NicheLayout) {}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
// This test verifies the accuracy of emitted file and line debuginfo metadata for native
|
||||
// enumerations.
|
||||
//
|
||||
// compile-flags: -C debuginfo=2
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// ignore-tidy-linelength
|
||||
|
||||
// NONMSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}/codegen/issue-98678-native-enum.rs{{".*}})
|
||||
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\codegen\\issue-98678-native-enum.rs{{".*}})
|
||||
|
||||
// NONMSVC: !DICompositeType({{.*"}}MyNativeEnum{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 4]],
|
||||
// MSVC: !DICompositeType({{.*::}}MyNativeEnum>{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 3]],
|
||||
// NONMSVC: !DICompositeType({{.*}}DW_TAG_variant_part{{.*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// COM: MSVC: currently no DW_TAG_variant_part from MSVC
|
||||
pub enum MyNativeEnum {
|
||||
// NONMSVC: !DIDerivedType({{.*"}}One{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
|
||||
// MSVC: !DICompositeType({{.*"}}One{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
|
||||
One,
|
||||
}
|
||||
|
||||
pub fn foo(_: MyNativeEnum) {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue