diff options
Diffstat (limited to 'tests/codegen-llvm/debug-accessibility/super-enum.rs')
| -rw-r--r-- | tests/codegen-llvm/debug-accessibility/super-enum.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/codegen-llvm/debug-accessibility/super-enum.rs b/tests/codegen-llvm/debug-accessibility/super-enum.rs new file mode 100644 index 00000000000..8e34d8be01f --- /dev/null +++ b/tests/codegen-llvm/debug-accessibility/super-enum.rs @@ -0,0 +1,28 @@ +// ignore-tidy-linelength +//! Checks that visibility information is present in the debuginfo for super-visibility enums. + +//@ revisions: MSVC NONMSVC +//@[MSVC] only-msvc +//@[NONMSVC] ignore-msvc +//@ compile-flags: -C debuginfo=2 + +mod module { + use std::hint::black_box; + + pub(super) enum SuperFooEnum { + A, + B(u32), + C { x: u32 }, + } + + // NONMSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_structure_type, name: "SuperFooEnum"{{.*}}flags: DIFlagProtected{{.*}}) + // MSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_union_type, name: "enum2$<super_enum::module::SuperFooEnum>"{{.*}}flags: DIFlagProtected{{.*}}) + + pub fn use_everything() { + black_box(SuperFooEnum::A); + } +} + +fn main() { + module::use_everything(); +} |
