diff options
author | Chris Lattner <sabre@nondot.org> | 2002-01-25 03:44:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-01-25 03:44:58 +0000 |
commit | ef308f8210dc4317f91b2f9e6cfea274054ff3e6 (patch) | |
tree | 8107012aa13cd124aeacd6aba6c8df4cc105c964 | |
parent | 15a2e175fdf8399c27ffff20b109d32425b2eda5 (diff) | |
download | external_llvm-ef308f8210dc4317f91b2f9e6cfea274054ff3e6.zip external_llvm-ef308f8210dc4317f91b2f9e6cfea274054ff3e6.tar.gz external_llvm-ef308f8210dc4317f91b2f9e6cfea274054ff3e6.tar.bz2 |
Check in testcase and fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1581 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Assembler/2002-01-24-ValueRefineAbsType.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Assembler/2002-01-24-ValueRefineAbsType.ll b/test/Assembler/2002-01-24-ValueRefineAbsType.ll new file mode 100644 index 0000000..c833c00 --- /dev/null +++ b/test/Assembler/2002-01-24-ValueRefineAbsType.ll @@ -0,0 +1,24 @@ +; This testcase used to fail due to a lack of this diff in Value.cpp: +; diff -r1.16 Value.cpp +; 11c11 +; < #include "llvm/Type.h" +; --- +; > #include "llvm/DerivedTypes.h" +; 74c74,76 +; < assert(Ty.get() == (const Type*)OldTy &&"Can't refine anything but my type!"); +; --- +; > assert(Ty.get() == OldTy &&"Can't refine anything but my type!"); +; > if (OldTy == NewTy && !OldTy->isAbstract()) +; > Ty.removeUserFromConcrete(); +; +; This was causing an assertion failure, due to the "foo" Method object never releasing +; it's reference to the opaque %bb value. +; +declare void "foo"(%bb) + +%exception_descriptor = type opaque + +%bb = type int + +implementation + |