[LLVMdev] Re: [llvm-commits] CAUTION: Type != Value

Reid Spencer reid at x10sys.com
Sat Jul 10 10:37:02 PDT 2004


Vladimir,

As you noted, the cast to Value* from (I presume) Type* is now invalid
as there is no inheritance relationship. You can give a type a name by
converting:

Ty->setName(Name, &ST)

to:

ST.insert(Name, Ty)

Hope that helps.

Reid.

On Sat, 2004-07-10 at 07:01, Vladimir Merzliakov wrote:
> In VMCore/Module.cpp i found line (254):
> 
>   ((Value*)Ty)->setName(Name, &ST);
> 
> Type is not Value now and for me this code call
> llvm::DerivedType::addAbstractTypeUser (I think it have same index in Type
> VMT in as setName in Value VMT)
> with random argument values and terminated with assert fail:
> 
> Assertion failed: (isAbstract() && "addAbstractTypeUser: Current type not
> abstract!"), function addAbstractTypeUser, file
> /home/wanderer/pkg/build/llvm/src/llvm/include/llvm/DerivedTypes.h, line 73.
> 
> In Chris Lattner remove setName from Type class
> http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040705/015869.html
> 
> And then i remove bogus code line as may not correct but tempory workaround
> for me.
> 
> Vladimir
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040710/1312d237/attachment.sig>


More information about the llvm-dev mailing list