| // compile-flags: -C no-prepopulate-passes | |
| #![crate_type = "lib"] | |
| #![feature(ffi_pure)] | |
| pub fn bar() { unsafe { foo() } } | |
| extern "C" { | |
| // CHECK-LABEL: declare{{.*}}void @foo() | |
| // CHECK-SAME: [[ATTRS:#[0-9]+]] | |
| // The attribute changed from `readonly` to `memory(read)` with LLVM 16.0. | |
| // CHECK-DAG: attributes [[ATTRS]] = { {{.*}}{{readonly|memory\(read\)}}{{.*}} } | |
| #[ffi_pure] pub fn foo(); | |
| } |