[cfe-dev] Loading Static Analyzer plugin fails with CommandLine Errors

Laszlo Nagy rizsotto.mailinglist at gmail.com
Tue Sep 3 07:52:14 PDT 2013


Hi Gabor,

>> #1 you should not link any Clang
>> library against when you make your plugin
>
> How do I not link against any Clang library when I'm writing a Clang plugin?
> I need to use Clang's classes extensively.

Sound weird, but works just fine. Your plugin will be loaded by the
Clang binary, and it already loaded the needed symbols. That's why you
don't need to explicitly link against them... You can look at
https://github.com/rizsotto/Constantine for cmake example.

> In the meanwhile, I realize that I have done it all with the assumption that
> GCC 4.7.2 and Clang 3.3 generate compatible binaries. Could this be the
> source of the issue? I'll try self-hosting Clang 3.3 and see what happens
> then.

I do compile my plugin with GCC and Clang is able to load it without problem.

My two cents are still on the llvm::cl classes. Although you are not
using them, but the libraries that you are link against might. (That's
why I was suggest not to do that.) And not to mention the fact, that
the messages are emitted by the CommandLine.cpp:144. See also:

  http://comments.gmane.org/gmane.comp.compilers.clang.devel/6870
  http://comments.gmane.org/gmane.comp.compilers.clang.scm/63478

Regards,
Laszlo



More information about the cfe-dev mailing list