diff options
author | Chris Lattner <sabre@nondot.org> | 2002-08-16 16:54:52 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-08-16 16:54:52 +0000 |
commit | a9c677e41b8d29d7871e9d2836c6574975b40f8c (patch) | |
tree | 1822b43d8cf437a03fc09aa63c66bd16f68bc58d | |
parent | 85907a64c2e63e1420c915f0537fbf5af92c2e7d (diff) |
New testcase distilled from much larger problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3360 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Assembler/2002-08-16-ConstExprInlined.llx | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/Assembler/2002-08-16-ConstExprInlined.llx b/test/Assembler/2002-08-16-ConstExprInlined.llx new file mode 100644 index 0000000000..37d94248c4 --- /dev/null +++ b/test/Assembler/2002-08-16-ConstExprInlined.llx @@ -0,0 +1,25 @@ +; 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: as < %s | dis | as + +%.LC0 = internal global [4 x sbyte] c"foo\00" ; <[4 x sbyte]*> [#uses=1] + +%X = global sbyte * null + +implementation ; Functions: + +declare int %puts(sbyte*) + +void %main() { +bb1: ;[#uses=0] + %reg211 = call int %puts( sbyte* getelementptr ([4 x sbyte]* %.LC0, uint 0, uint 0) ) ; <int> [#uses=0] + ret void +} |