reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ; RUN: llvm-extract -func foo -S < %s | FileCheck %s ; RUN: llvm-extract -delete -func foo -S < %s | FileCheck --check-prefix=DELETE %s ; Test that we don't convert weak_odr to external definitions. ; CHECK: @bar = external global i32 ; CHECK: define weak_odr i32* @foo() { ; CHECK-NEXT: ret i32* @bar ; CHECK-NEXT: } ; DELETE: @bar = weak_odr global i32 42 ; DELETE: declare i32* @foo() @bar = weak_odr global i32 42 define weak_odr i32* @foo() { ret i32* @bar } define void @g() { %c = call i32* @foo() ret void } |