Hi!
When I try to build gcc from trunk with mingw-w64 I successfully build
only 64bit with seh exceptions. Other builds stop on error

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c:238:1:
warning: no previous prototype for '__gcc_personality_seh0'
[-Wmissing-prototypes]

 __gcc_personality_seh0 (PEXCEPTION_RECORD ms_exc, void *this_frame,

 ^

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c: In
function '__gcc_personality_seh0':

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c:242:14:
error: '__gcc_personality_imp' undeclared (first use in this function)

     ms_disp, __gcc_personality_imp);

              ^

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c:242:14:
note: each undeclared identifier is reported only once for each
function it appears in

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c: At top level:

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c:94:33:
warning: '__gcc_personality_sj0' defined but not used
[-Wunused-function]

 #define PERSONALITY_FUNCTION    __gcc_personality_sj0

                                 ^

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c:120:1:
note: in expansion of macro 'PERSONALITY_FUNCTION'

 PERSONALITY_FUNCTION (int version,

 ^

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c: In
function '__gcc_personality_seh0':

../../../../../../mingw-sources/gcc-trunk/libgcc/unwind-c.c:243:1:
warning: control reaches end of non-void function [-Wreturn-type]

 }

 ^

make[4]: *** [unwind-c.o] Error 1
make[4]: *** Waiting for unfinished jobs....

I  find that __SEH__ defined in gcc/config/i386/cygming.h as

.....
#undef TARGET_SEH
#define TARGET_SEH  (TARGET_64BIT_MS_ABI && flag_unwind_tables)
....
#define TARGET_OS_CPP_BUILTINS() \
  do \
    { \
if (!TARGET_64BIT) \
  builtin_define ("_X86_=1"); \
if (TARGET_SEH) \
  builtin_define ("__SEH__");
.....

As I think __SEH__ is always defined that leads to error.

Reply via email to