ed12c096f7feaf56f11fbbab545827819f753ca7
[oota-llvm.git] / test / Assembler / 2002-01-24-ValueRefineAbsType.ll
1 ; RUN: llvm-upgrade < %s | llvm-as -o /dev/null -f
2
3 ; This testcase used to fail due to a lack of this diff in Value.cpp:
4 ; diff -r1.16 Value.cpp
5 ; 11c11
6 ; < #include "llvm/Type.h"
7 ; ---
8 ; > #include "llvm/DerivedTypes.h"
9 ; 74c74,76
10 ; <   assert(Ty.get() == (const Type*)OldTy &&"Can't refine anything but my type!");
11 ; ---
12 ; >   assert(Ty.get() == OldTy &&"Can't refine anything but my type!");
13 ; >   if (OldTy == NewTy && !OldTy->isAbstract())
14 ; >     Ty.removeUserFromConcrete();
15 ;
16 ; This was causing an assertion failure, due to the "foo" Method object never 
17 ; releasing it's reference to the opaque %bb value.
18 ;
19 declare void "foo"(%bb)
20
21 %exception_descriptor = type opaque  
22
23 %bb = type int
24
25 %exception_descriptor = type int
26
27 implementation
28