]> git.lizzy.rs Git - rust.git/blob - tests/codegen/debug-linkage-name.rs
Rollup merge of #107761 - oli-obk:miri_🪵, r=TaKO8Ki
[rust.git] / tests / codegen / debug-linkage-name.rs
1 // Verifies that linkage name is omitted when it is
2 // the same as variable / function name.
3 //
4 // compile-flags: -C no-prepopulate-passes
5 // compile-flags: -C debuginfo=2
6 #![crate_type = "lib"]
7
8 pub mod xyz {
9     // CHECK: !DIGlobalVariable(name: "A",
10     // CHECK:                   linkageName:
11     // CHECK-SAME:              line: 12,
12     pub static A: u32 = 1;
13
14     // CHECK: !DIGlobalVariable(name: "B",
15     // CHECK-NOT:               linkageName:
16     // CHECK-SAME:              line: 18,
17     #[no_mangle]
18     pub static B: u32 = 2;
19
20     // CHECK: !DIGlobalVariable(name: "C",
21     // CHECK-NOT:               linkageName:
22     // CHECK-SAME:              line: 24,
23     #[export_name = "C"]
24     pub static C: u32 = 2;
25
26     // CHECK: !DISubprogram(name: "e",
27     // CHECK:               linkageName:
28     // CHECK-SAME:          line: 29,
29     pub extern "C" fn e() {}
30
31     // CHECK: !DISubprogram(name: "f",
32     // CHECK-NOT:           linkageName:
33     // CHECK-SAME:          line: 35,
34     #[no_mangle]
35     pub extern "C" fn f() {}
36
37     // CHECK: !DISubprogram(name: "g",
38     // CHECK-NOT:           linkageName:
39     // CHECK-SAME:          line: 41,
40     #[export_name = "g"]
41     pub extern "C" fn g() {}
42 }