1 // compile-flags: -C no-prepopulate-passes
2 // `#[no_mangle]`d functions always have external linkage, i.e., no `internal` in their `define`s
7 // CHECK: define{{( dso_local)?}} void @a()
11 // CHECK: define{{( dso_local)?}} void @b()
16 // CHECK: define{{( dso_local)?}} void @c()
20 // CHECK: define{{( dso_local)?}} void @d()
26 // CHECK: define{{( dso_local)?}} void @e()
30 // CHECK: define{{( dso_local)?}} void @f()
35 // The surrounding item should not accidentally become external
36 // CHECK-LABEL: ; external_no_mangle_fns::x
37 // CHECK-NEXT: ; Function Attrs:
38 // CHECK-NEXT: define internal
41 // CHECK: define{{( dso_local)?}} void @g()
47 // CHECK: define{{( dso_local)?}} void @h()
51 // side effect to keep `x` around
53 core::ptr::read_volatile(&42);
57 // CHECK: define{{( dso_local)?}} void @i()
62 // CHECK: define{{( dso_local)?}} void @j()
67 // CHECK: define{{( dso_local)?}} void @k()
72 // CHECK: define{{( dso_local)?}} void @l()