> This fixes a compilation error preventing bootstrap with Ada on > x86_64-pc-cygwin. See PR bootstrap/94918 for details. > > Compared to the initial patch sent in May 2020, this v2 patch places > the fix in Ada's raise-gcc.c instead of the shared unwind-generic.h, > which should hopefully simplify getting it applied.
Not sure why. Applying it there looks incomplete and kludgy, don't you agree? Arno > gcc/ada/ > > 2021-01-10 Mikael Pettersson <mikpeli...@gmail.com> > > PR bootstrap/94918 > * raise-gcc.c: (__SEH__): Prevent windows.h from including > x86intrin.h or emmintrin.h on Cygwin64. > > --- gcc-11-20210103/gcc/ada/raise-gcc.c.~1~ 2021-01-03 > 23:32:14.000000000 +0100 > +++ gcc-11-20210103/gcc/ada/raise-gcc.c 2021-01-10 11:13:07.878685936 +0100 > @@ -79,6 +79,15 @@ typedef char bool; > (SJLJ or DWARF). We need a consistently named interface to import from > a-except, so wrappers are defined here. */ > > +#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__) && \ > + defined (__CYGWIN__) && !defined (__CYGWIN32__) && !defined (IN_RTS) > +/* Note: windows.h (via unwind-generic.h) on cygwin-64 includes x86intrin.h > + which uses malloc. That fails to compile if malloc is poisoned, i.e. if > + !IN_RTS. */ > +#define _X86INTRIN_H_INCLUDED > +#define _EMMINTRIN_H_INCLUDED > +#endif > + > #ifndef IN_RTS > /* For gnat1/gnatbind compilation: cannot use unwind.h, as it is for the > target. So mimic configure...