Sorry to duplicately reporting this bug, but i failed to get a feedback after i announced it after another small bug unfortunately.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43477 /libcpp/files.c: Line 609-614: comparison is always false under win x64 and /gcc/emit-rtl.c: Line 361: /gcc/ggc-common.c: Line 310: /gcc/graphite-dependences.c: Line 107: /gcc/src/gcc/ira-conflicts.c: Line 125: /gcc/src/gcc/pointer-set.c: Line 67: /gcc/src/gcc/tree dump: Line 168: /gcc/src/gcc/cp/class.c: Line 6740, 6742, 6764, 6767, 6900: all have host-dependent code such as explictly cast a pointer to long (in win x64 means long long to long) and use %ld or &lx to fprintf a pointer. they cause the cc1 treat warnings as error and stop the make procedure, though they are easy to fix manually but quite annoying while making bootstrap. maybe needs to change their type to be ssize_t & size_t? (These are gcc 4.5.0 20100322 version source) -- Summary: Some architecture-dependent codes Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: aflyhorse at foxmail dot com GCC build triplet: x86_64-w64-mingw32 GCC host triplet: x86_64-w64-mingw32 GCC target triplet: x86_64-w64-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43613