about summary refs log tree commit diff
path: root/tests/codegen-llvm/debug-accessibility/public-enum.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/debug-accessibility/public-enum.rs')
-rw-r--r--tests/codegen-llvm/debug-accessibility/public-enum.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/codegen-llvm/debug-accessibility/public-enum.rs b/tests/codegen-llvm/debug-accessibility/public-enum.rs
new file mode 100644
index 00000000000..e5cd1ab7350
--- /dev/null
+++ b/tests/codegen-llvm/debug-accessibility/public-enum.rs
@@ -0,0 +1,23 @@
+// ignore-tidy-linelength
+//! Checks that visibility information is present in the debuginfo for types and their fields.
+
+//@ revisions: MSVC NONMSVC
+//@[MSVC] only-msvc
+//@[NONMSVC] ignore-msvc
+
+//@ compile-flags: -C debuginfo=2
+
+use std::hint::black_box;
+
+pub enum PublicFooEnum {
+    A,
+    B(u32),
+    C { x: u32 },
+}
+
+// NONMSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_structure_type, name: "PublicFooEnum"{{.*}}flags: DIFlagPublic{{.*}})
+// MSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_union_type, name: "enum2$<public_enum::PublicFooEnum>"{{.*}}flags: DIFlagPublic{{.*}})
+
+fn main() {
+    black_box(PublicFooEnum::A);
+}