Re: ports build failure, max_align_t

2017-01-09 Thread Mark Kettenis
> Date: Mon, 9 Jan 2017 12:14:21 +0100
> From: Marc Espie 
> 
> On Sun, Jan 08, 2017 at 09:53:50PM +, Stuart Henderson wrote:
> > graphics/ttfautohint
> > 
> > c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I..   -I../lib  -I../gnulib/src  
> > -I../gnulib/src  -I/usr/X11R6/include/freetype2   -O2 -pipe -MT info.o -MD 
> > -MP -MF .deps/info.Tpo -c -o info.o info.cpp
> > In file included from ../gnulib/src/stdio.h:53:0,
> >  from info.cpp:15:
> > ../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union 
> > max_align_t max_align_t'
> >  } max_align_t;
> >^
> > In file included from ../gnulib/src/stddef.h:55:0,
> >  from ../gnulib/src/stdio.h:53,
> >  from info.cpp:15:
> > /usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct 
> > max_align_t max_align_t'
> >  } max_align_t;
> >^
> Well, gnu/stddef.h has no business redefining max_align_t
> 
> That said, I don't see any way that our definition can be right. It should be
> an union.

The definition is carefully chosen to match what both gcc and clang
provide.  There are apparently a lot of subtleties involved, and
possibly compiler bugs that this works around.



Re: ports build failure, max_align_t

2017-01-09 Thread Mark Kettenis
> Date: Sun, 8 Jan 2017 21:53:50 +
> From: Stuart Henderson 
> 
> graphics/ttfautohint
> 
> c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I..   -I../lib  -I../gnulib/src  
> -I../gnulib/src  -I/usr/X11R6/include/freetype2   -O2 -pipe -MT info.o -MD 
> -MP -MF .deps/info.Tpo -c -o info.o info.cpp
> In file included from ../gnulib/src/stdio.h:53:0,
>  from info.cpp:15:
> ../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union 
> max_align_t max_align_t'
>  } max_align_t;
>^
> In file included from ../gnulib/src/stddef.h:55:0,
>  from ../gnulib/src/stdio.h:53,
>  from info.cpp:15:
> /usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct 
> max_align_t max_align_t'
>  } max_align_t;
>^

See the mail I sent to hackers.  Nobody replied to that yet...



Re: ports build failure, max_align_t

2017-01-09 Thread Marc Espie
On Sun, Jan 08, 2017 at 09:53:50PM +, Stuart Henderson wrote:
> graphics/ttfautohint
> 
> c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I..   -I../lib  -I../gnulib/src  
> -I../gnulib/src  -I/usr/X11R6/include/freetype2   -O2 -pipe -MT info.o -MD 
> -MP -MF .deps/info.Tpo -c -o info.o info.cpp
> In file included from ../gnulib/src/stdio.h:53:0,
>  from info.cpp:15:
> ../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union 
> max_align_t max_align_t'
>  } max_align_t;
>^
> In file included from ../gnulib/src/stddef.h:55:0,
>  from ../gnulib/src/stdio.h:53,
>  from info.cpp:15:
> /usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct 
> max_align_t max_align_t'
>  } max_align_t;
>^
Well, gnu/stddef.h has no business redefining max_align_t

That said, I don't see any way that our definition can be right. It should be
an union.



ports build failure, max_align_t

2017-01-08 Thread Stuart Henderson
graphics/ttfautohint

c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I..   -I../lib  -I../gnulib/src  
-I../gnulib/src  -I/usr/X11R6/include/freetype2   -O2 -pipe -MT info.o -MD -MP 
-MF .deps/info.Tpo -c -o info.o info.cpp
In file included from ../gnulib/src/stdio.h:53:0,
 from info.cpp:15:
../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union 
max_align_t max_align_t'
 } max_align_t;
   ^
In file included from ../gnulib/src/stddef.h:55:0,
 from ../gnulib/src/stdio.h:53,
 from info.cpp:15:
/usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct 
max_align_t max_align_t'
 } max_align_t;
   ^