http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55445



             Bug #: 55445

           Summary: Always defined __SEH__ when build from trunk

    Classification: Unclassified

           Product: gcc

           Version: unknown

            Status: UNCONFIRMED

          Severity: major

          Priority: P3

         Component: target

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: alex...@gmail.com





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