I get this failure building libstdc++: /home/rask/build/gcc-m32c-unknown-elf/m32c-unknown-elf/m32cm/libstdc++-v3/include/ext/bitmap_allocator.h: In member function 'void __gnu_cxx::bitmap_allocator<_Tp>::_M_deallocate_single_object(_Tp*) [with _Tp = wchar_t]': /home/rask/build/gcc-m32c-unknown-elf/m32c-unknown-elf/m32cm/libstdc++-v3/include/ext/bitmap_allocator.h:1027: internal compiler error: in smallest_mode_for_size, at stor-layout.c:220 Can be reproduced with this command line and the attached preprocessed source: ./xgcc -B./ -O2 -mcpu=m32cm ~/bitmap-allocator.cc -S -o /dev/null These are the flags I configured gcc with: --target m32c-unknown-elf --with-newlib --enable-sim --disable-gdb --disable-nls --enable-languages=c,c++ --enable-cxx-flags=-O2
Created attachment 13856 [details] test case
*** Bug 32659 has been marked as a duplicate of this bug. ***
Created attachment 13859 [details] Minimized test case Here's a minimal test case (from my duplicate report of this, #32659). I analyzed it a bit there - the important thing to know is that reload wants a MODE_PARTIAL_INT with 64 bits; as the target has no such mode, we abort. I think reload wants this in order to deal with a (subreg:PSI (reg:DI)) construct.
Adding DJ to cc: list, confirming.
Created attachment 13860 [details] Even smaller test case
Created attachment 13861 [details] and smaller still I can't believe I didn't think of these reductions three hours ago...
Seems to work for me now; could you recheck it with the patches I just committed?
It works for me too at revision 128761.