diff options
Diffstat (limited to 'test/Assembler/2002-08-16-ConstExprInlined.ll')
-rw-r--r-- | test/Assembler/2002-08-16-ConstExprInlined.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Assembler/2002-08-16-ConstExprInlined.ll b/test/Assembler/2002-08-16-ConstExprInlined.ll new file mode 100644 index 0000000..f233bac --- /dev/null +++ b/test/Assembler/2002-08-16-ConstExprInlined.ll @@ -0,0 +1,22 @@ +; In this testcase, the bytecode reader or writer is not correctly handling the +; ConstExpr reference. Disassembling this program assembled yields invalid +; assembly (because there are placeholders still around), which the assembler +; dies on. + +; There are two things that need to be fixed here. Obviously assembling and +; disassembling this would be good, but in addition to that, the bytecode +; reader should NEVER produce a program "successfully" with placeholders still +; around! +; +; RUN: llvm-as < %s | llvm-dis | llvm-as + +@.LC0 = internal global [4 x i8] c"foo\00" ; <[4 x i8]*> [#uses=1] +@X = global i8* null ; <i8**> [#uses=0] + +declare i32 @puts(i8*) + +define void @main() { +bb1: + %reg211 = call i32 @puts( i8* getelementptr ([4 x i8]* @.LC0, i64 0, i64 0) ) ; <i32> [#uses=0] + ret void +} |