https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310

--- Comment #3 from İsmail Dönmez <ismail at i10z dot com> ---
(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.

Reply via email to