[LLVMdev] Modifying Instruction Class

Chris Lattner sabre at nondot.org
Tue Oct 2 18:27:47 PDT 2007


On Oct 2, 2007, at 10:21 AM, ben mayne wrote:

> I'm attempting to add a new member variable to the Instruction  
> class but I get assertion errors when I run lli.
>
> All I add is the following line to the private portion of the  
> Instruction class definition.
>
> bool b;
>
> The error usually is:
>
> lli: /development/Contracts/DOVE/src/c/llvm/include/llvm/Type.h: 
> 329: void llvm::Type::dropRef() const: Assertion `isAbstract() &&  
> "Cannot drop a reference to a non-abstract type!"' failed.
> lli((anonymous namespace)::PrintStackTrace()+0x1a)[0x848a04a]
> /lib/tls/libc.so.6(abort+0x129)[0x5a1319]
> /lib/tls/libc.so.6(__assert_fail+0x101)[0x598f41]
> lli[0x8438796]
> Aborted
>
> I'm lost on where this error is coming from or what it means.  Is  
> there anyway of adding extra member variables to the Instruction  
> class?
>
It is impossible to say without more detail, but it sounds like you  
recompiled some code that uses the header, but not all.  If you  
change a header, you have to recompile and relink ALL code that uses it.

-Chris




More information about the llvm-dev mailing list