summaryrefslogtreecommitdiffstats
path: root/tests/codegen/debug-accessibility/crate-enum.rs
blob: eeea18dd8153243ab9da04c2080bd88a1394758f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// compile-flags: -C debuginfo=2
// ignore-tidy-linelength

#![allow(dead_code)]

// Checks that visibility information is present in the debuginfo for crate-visibility enums.

mod module {
    use std::hint::black_box;

    pub(crate) enum CrateFooEnum {
        A,
        B(u32),
        C { x: u32 },
    }

    // NONMSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_structure_type, name: "CrateFooEnum"{{.*}}flags: DIFlagProtected{{.*}})
    // MSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_union_type, name: "enum2$<crate_enum::module::CrateFooEnum>"{{.*}}flags: DIFlagProtected{{.*}})
    pub fn use_everything() {
        black_box(CrateFooEnum::A);
    }
}

fn main() {
    module::use_everything();
}