Hey all,

The test mass rebuild against r6284 has shown that tcl currently still
fails to build:

i686-w64-mingw32-gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions --param=ssp-buffer-size=4 -O2 -fomit-frame-pointer -Wall
-I"../../generic" -DTCL_TOMMATH -DMP_PREC=4 -I"../../libtommath" -I".."
-pipe -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"
-DSTDC_HEADERS=1 -DTCL_CFGVAL_ENCODING=\"cp1252\" -DHAVE_SYS_TYPES_H=1
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NO_SEH=1
-DHAVE_CAST_TO_UNION=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DNDEBUG=1
-DTCL_CFG_OPTIMIZED=1   -DBUILD_tcl "../tclWin32Dll.c" -o tclWin32Dll.o
../tclWin32Dll.c:63:3: error: conflicting types for
'EXCEPTION_REGISTRATION'
 } EXCEPTION_REGISTRATION;
   ^
In file included
from /usr/i686-w64-mingw32/sys-root/mingw/include/minwindef.h:146:0,

from /usr/i686-w64-mingw32/sys-root/mingw/include/windef.h:8,

from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:69,
                 from ../tclWinPort.h:23,
                 from ../../generic/tclPort.h:21,
                 from ../../generic/tclInt.h:36,
                 from ../tclWinInt.h:15,
                 from ../tclWin32Dll.c:14:
/usr/i686-w64-mingw32/sys-root/mingw/include/winnt.h:3554:43: note:
previous declaration of 'EXCEPTION_REGISTRATION' was here
     typedef EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION;
                                           ^
make: *** [tclWin32Dll.o] Error 1

====

This one is caused by the fact that tcl contains its own implementation
of the EXCEPTION_REGISTRATION structure. I've applied a workaround to
the tcl code so that it uses the mingw-w64 implementation of this
structure, but apparently this introduces a new build failure:

i686-w64-mingw32-gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions --param=ssp-buffer-size=4 -O2 -fomit-frame-pointer -Wall
-I"../../generic" -DTCL_TOMMATH -DMP_PREC=4 -I"../../libtommath" -I".."
-pipe -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"
-DSTDC_HEADERS=1 -DTCL_CFGVAL_ENCODING=\"cp1252\" -DHAVE_SYS_TYPES_H=1
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NO_SEH=1
-DHAVE_CAST_TO_UNION=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DNDEBUG=1
-DTCL_CFG_OPTIMIZED=1   -DBUILD_tcl "../tclWin32Dll.c" -o tclWin32Dll.o
../tclWin32Dll.c: In function 'TclWinCPUID':
../tclWin32Dll.c:1170:26: error: 'EXCEPTION_REGISTRATION' has no member
named 'status'
     status = registration.status;
                          ^
make: *** [tclWin32Dll.o] Error 1

====


The mingw-w64 header excpt.h has this implementation for the
EXCEPTION_REGISTRATION structure:

  typedef struct _EXCEPTION_REGISTRATION {
    struct _EXCEPTION_REGISTRATION *prev;
    EXCEPTION_DISPOSITION (*handler)(struct _EXCEPTION_RECORD*, void*,
struct _CONTEXT*, void*);
  } EXCEPTION_REGISTRATION, *PEXCEPTION_REGISTRATION;

So the mingw-w64 EXCEPTION_REGISTRATION structure currently doesn't have
a field named 'status'.

The tcl of this structure is this:

typedef struct EXCEPTION_REGISTRATION {
    struct EXCEPTION_REGISTRATION *link;
    EXCEPTION_DISPOSITION (*handler)(
            struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
    void *ebp;
    void *esp;
    int status;
} EXCEPTION_REGISTRATION;

====

Any ideas on whether this should be fixed in mingw-w64?

Regards,

Erik




------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to