Re: [Gimp-developer] libgimpbase/gimpbaseenums.h and gimpcompatenums.h name collisions



On Thu, 2017-01-12 at 20:16 +0100, Helmut Jarausch wrote:
On 01/12/2017 07:01:14 PM, Michael Natterer wrote:
On Thu, 2017-01-12 at 18:14 +0100, Helmut Jarausch wrote:
Hi, I cannot compile the GIT version (today 16:00 GMT)
Both, gimpbaseenums.h  and gimpcompatenums.h define several enums
of  
the same name.
This is on Gentoo, gcc-6.3.0

This shouldn't happen, the resp. values in gimpbaseenums.h are
protected by #ifndef GIMP_DISABLE_DEPRECATED and that is always
defined when building GIMP.

Did you somehow undefine it?

Regards,
Mitch

Not intentionally, at least.

File gimpbase-private.c unconditionally includes

gimpbasetypes.h  which includes gimpbaseenums.h
and
gimpcompatenums.h

both, gimpbaseenums.h and gimpcompatenums.h declare uncondtionally

typedef enum
{
   GIMP_ADD_WHITE_MASK          = GIMP_ADD_MASK_WHITE,
   GIMP_ADD_BLACK_MASK          = GIMP_ADD_MASK_BLACK,
   GIMP_ADD_ALPHA_MASK          = GIMP_ADD_MASK_ALPHA,
   GIMP_ADD_ALPHA_TRANSFER_MASK = GIMP_ADD_MASK_ALPHA_TRANSFER,
   GIMP_ADD_SELECTION_MASK      = GIMP_ADD_MASK_SELECTION,
   GIMP_ADD_COPY_MASK           = GIMP_ADD_MASK_COPY,
   GIMP_ADD_CHANNEL_MASK        = GIMP_ADD_MASK_CHANNEL
} GimpAddMaskTypeCompat;

and
typedef enum
{
   GIMP_ADD_MASK_WHITE,          /*< desc="_White (full  
opacity)"           >*/
   GIMP_ADD_MASK_BLACK,          /*< desc="_Black (full  
transparency)"      >*/
   GIMP_ADD_MASK_ALPHA,          /*< desc="Layer's _alpha  
channel"          >*/
   GIMP_ADD_MASK_ALPHA_TRANSFER, /*< desc="_Transfer layer's alpha  
channel" >*/
   GIMP_ADD_MASK_SELECTION,      /*<  
desc="_Selection"                      >*/
   GIMP_ADD_MASK_COPY,           /*< desc="_Grayscale copy of  
layer"        >*/
   GIMP_ADD_MASK_CHANNEL,        /*<  
desc="C_hannel"                        >*/

#ifndef GIMP_DISABLE_DEPRECATED
   GIMP_ADD_WHITE_MASK          = GIMP_ADD_MASK_WHITE,     /*<
skip,  
pdb-skip >*/
   GIMP_ADD_BLACK_MASK          = GIMP_ADD_MASK_BLACK,     /*<
skip,  
pdb-skip >*/
   GIMP_ADD_ALPHA_MASK          = GIMP_ADD_MASK_ALPHA,     /*<
skip,  
pdb-skip >*/
   GIMP_ADD_ALPHA_TRANSFER_MASK = GIMP_ADD_MASK_ALPHA_TRANSFER, /*<  
skip, pdb-skip >*/
   GIMP_ADD_SELECTION_MASK      = GIMP_ADD_MASK_SELECTION, /*<
skip,  
pdb-skip >*/
   GIMP_ADD_COPY_MASK           = GIMP_ADD_MASK_COPY,      /*<
skip,  
pdb-skip >*/
   GIMP_ADD_CHANNEL_MASK        = GIMP_ADD_MASK_CHANNEL    /*<
skip,  
pdb-skip >*/
#endif /* GIMP_DISABLE_DEPRECATED */
} GimpAddMaskType;

such that  GIMP_ADD_MASK_WHITE is declared twice, indeed.

It's only declared twice if GIMP_DISABLE_DEPRECATED is *not*
defined. Can you paste the output of "make V=1" of
gimpbase-private.c please?

Regards,
Mitch



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