https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310
--- Comment #4 from torvald at gcc dot gnu.org --- (In reply to İsmail Dönmez from comment #3) > (In reply to torvald from comment #2) > > (In reply to İsmail Dönmez from comment #1) > > > r232454 also breaks bootstrap for mingw-w64: > > > > > > libtool: compile: x86_64-w64-mingw32-c++ > > > -L/havana/mingw-w64-6.0.0/x86_64-w64-mingw32/lib > > > -L/havana/mingw-w64-6.0.0/mingw/lib -isystem > > > /havana/mingw-w64-6.0.0/x86_64-w64-mingw32/include -isystem > > > /havana/mingw-w64-6.0.0/mingw/include > > > -I/havana/mingw-w64-build/combined-6.0.0/libstdc++-v3/../libgcc > > > -I/havana/mingw-w64-build/build-6.0.0/x86_64-w64-mingw32/libstdc++-v3/ > > > include/x86_64-w64-mingw32 > > > -I/havana/mingw-w64-build/build-6.0.0/x86_64-w64-mingw32/libstdc++-v3/ > > > include -I/havana/mingw-w64-build/combined-6.0.0/libstdc++-v3/libsupc++ > > > -std=gnu++11 -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra > > > -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once > > > -ffunction-sections -fdata-sections -frandom-seed=cow-stdexcept.lo -g -O2 > > > -c > > > ../../../../../combined-6.0.0/libstdc++-v3/src/c++11/cow-stdexcept.cc -o > > > cow-stdexcept.o > > > ../../../../../combined-6.0.0/libstdc++-v3/src/c++11/cow-stdexcept.cc:235:70: > > > warning: unused parameter 'exc' [-Wunused-parameter] > > > _txnal_cow_string_C1_for_exceptions(void* that, const char* s, void *exc) > > > ^ > > > ../../../../../combined-6.0.0/libstdc++-v3/src/c++11/cow-stdexcept.cc: In > > > function 'void* txnal_read_ptr(void* const*)': > > > ../../../../../combined-6.0.0/libstdc++-v3/src/c++11/cow-stdexcept.cc:281:39: > > > error: expected ',' before ')' token > > > || sizeof(uint32_t) == sizeof(void*)); > > > ^ > > > ../../../../../combined-6.0.0/libstdc++-v3/src/c++11/cow-stdexcept.cc:281:39: > > > error: expected string-literal before ')' token > > > > is mingw's static_assert any different? Right now, I can't see how this > > could produce this error: > > > > static_assert(sizeof(uint64_t) == sizeof(void*) > > || sizeof(uint32_t) == sizeof(void*)); > > g++-5 on Linux does not compile that either, clang is more helpful to why: > > t.cpp:5:85: warning: static_assert with no message is a C++1z extension > [-Wc++1z-extensions] > > So, just adding a message to static_assert fixes the issue here. Ah, right. See https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01203.html (Not linked to this bug because this bug is about the darwin breakage.)