[LLVMdev] Static variable symbol not found error

Umer umerlqt at gmail.com
Mon Jun 16 04:34:31 PDT 2014


Hello,

Here is the error:

Error opening '../lib/LLVMENTRA.dylib': dlopen(../lib/LLVMENTRA.dylib, 9):
Symbol not found: __ZN8CiaoType14typeInstances1E

typeInstances1 is a static variable defined in a class, whenever it is used
during a function pass I get this error see below a minimal class
definition.


class A{
 static MapVector<Type*, A *> typeInstances1;
 public:
 static CiaoType * create(Type* T)
 {
    if(CiaoType * CT= typeInstances1.lookup(T))
        return CT;
    else
     //create new instance and return
 }
};

As long as I don't call the create method, everything works fine. Any idea
why the static variable symbol is not found in the dynamic library?


PS:
here is how I load and run my pass using opt

./opt -analyze -load ../lib/LLVMENTRA.dylib -instnamer -mypass foo.ll

Regards
Umer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140616/83a25745/attachment.html>


More information about the llvm-dev mailing list