bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

The attribute module


From: Akim Demaille
Subject: The attribute module
Date: Sat, 9 May 2020 10:40:46 +0200

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!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]