DO_GLOBAL_CTORS_BODY casts __CTOR_LIST__[0] to unsigned long, probably with the assumption that long is 64 bits on all 64 bit systems, which isn't true for win64. it must cast to uintptr_t, instead. here is the warning: ../../../gcc-svn/libgcc/../gcc/libgcc2.c: In function '__do_global_ctors': ../../../gcc-svn/libgcc/../gcc/libgcc2.c:2161: warning: cast from pointer to integer of different size
-- Summary: DO_GLOBAL_CTORS_BODY needs uintptr_t Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sezeroz at gmail dot com GCC target triplet: x86_64-pc-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39066