Diego Novillo wrote:
Given

void foo(void) __attribute__((user("bleh")));

GCC will complain

foo.cc:1: warning: 'user' attribute directive ignored

whenever dehydra is not loaded.  Since our build system uses -Werror
for every build, users are not really able to use this attribute in
their dehydra scripts.  Has anyone run into this?  I have suggested
guarding the attribute with a special macro and define that macro
every time they use dehydra, but that's awkward.

We could change the compiler to never complain about the 'user'
attribute, unless plugins are loaded,but that also seems incomplete.

Compiling with -Wno-attributes helps, but that turns off all
attributes.  Perhaps we could control warnings on the 'user' attribute
with a new -Wuser-attribute?

I doubt you are using raw attributes in your code. They are likely hidden behind macros. At Mozilla we support a custom static analysis build configuration. Perhaps the correct solution would be for the plugin to define a new preprocessor variable, ie something akin to -DDEHYDRA.

Though I'm not sure how that would be a benefit over specifying -DDEHYDRA on the gcc commandline.

Taras

Reply via email to