diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/test/Linker/Inputs/opaque.ll | 13 | ||||
-rw-r--r-- | llvm/test/Linker/opaque.ll | 21 |
2 files changed, 34 insertions, 0 deletions
diff --git a/llvm/test/Linker/Inputs/opaque.ll b/llvm/test/Linker/Inputs/opaque.ll new file mode 100644 index 00000000000..2b0d7d3cea8 --- /dev/null +++ b/llvm/test/Linker/Inputs/opaque.ll @@ -0,0 +1,13 @@ +%A = type { } +%B = type { %D, %E, %B* } + +%D = type { %E } +%E = type opaque + +@g2 = external global %A +@g3 = external global %B + +define void @f1() { + getelementptr %A* null, i32 0 + ret void +} diff --git a/llvm/test/Linker/opaque.ll b/llvm/test/Linker/opaque.ll new file mode 100644 index 00000000000..1ba878c6a36 --- /dev/null +++ b/llvm/test/Linker/opaque.ll @@ -0,0 +1,21 @@ +; RUN: llvm-link %p/opaque.ll %p/Inputs/opaque.ll -S -o - | FileCheck %s + +; CHECK-DAG: %A = type {} +; CHECK-DAG: %B = type { %C, %C, %B* } +; CHECK-DAG: %B.1 = type { %D, %E, %B.1* } +; CHECK-DAG: %C = type { %A } +; CHECK-DAG: %D = type { %E } +; CHECK-DAG: %E = type opaque + +; CHECK-DAG: @g1 = external global %B +; CHECK-DAG: @g2 = external global %A +; CHECK-DAG: @g3 = external global %B.1 + +; CHECK-DAG: getelementptr %A* null, i32 0 + +%A = type opaque +%B = type { %C, %C, %B* } + +%C = type { %A } + +@g1 = external global %B |