[LLVMdev] LLVMC tests failing when building with clang

John McCall rjmccall at apple.com
Fri Aug 13 01:36:05 PDT 2010


On Aug 12, 2010, at 11:04 PM, Mikhail Glushenkov wrote:
> Argyrios Kyrtzidis <kyrtzidis <at> apple.com> writes:
> 
>> 
>> Hi,
>> 
>> After building llvm with clang the llvmc tests are failing with:
>> 
>> llvmc: Node llc is not in graph
>> 
>> Anyone else see this ? (TOT llvm & clang)
> 
> It looks like this is due to a bug in clang:
> 
> // file1.cpp
> 
> namespace {
> 
> class Plugin {
> };
> }
> 
> // file2.cpp
> 
> namespace {
> 
> class Plugin {
> };
> }
> 
> Clang can't distinguish between file1::Plugin and
> file2::Plugin. Is this a known issue? I've added a workaround for
> now: change the names of file1::Plugin and file2::Plugin to
> Pluginfile1 and Pluginfile2, respectively.


Aha!  Good catch.  It turns out that Clang gives non-internal linkage to member
functions of member class templates instantiated at members of anonymous
namespaces.  Fixed in r111012.

John.



More information about the llvm-dev mailing list