Hi all, Bison started to use the new attribute module, but it generates conflicts with other modules, because one definition comes from config.h, and another from the other module's file. For instance:
> In file included from ../lib/bitsetv.c:21: > In file included from ../lib/bitsetv.h:24: > In file included from ../lib/bitset.h:31: > In file included from ../lib/bitset/base.h:28: > ../lib/xalloc.h:43:10: warning: '_GL_ATTRIBUTE_ALLOC_SIZE' macro redefined > [-Wmacro-redefined] > # define _GL_ATTRIBUTE_ALLOC_SIZE(args) > ^ > ./lib/config.h:1657:10: note: previous definition is here > # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) > ^ I can provide a patch to address this, but I don't know what's the guideline here. Should (virtually) all the modules eventually depend on "attribute" and stop defining these macros themselves, or should their macro definitions be robust to the now possibly existing macros? Also, what's the rule inside gnulib to decide whether to use _GL_ATTRIBUTE_FOO rather than using attribute.h and ATTRIBUTE_FOO? Cheers!