More digging has identified this patch as the cause of the ongoing C++-related m32c build failures:
2008-03-24 Richard Guenther <[EMAIL PROTECTED]> PR c/22371 * gimplify.c (gimplify_modify_expr): For frontend type-correct pointer assignments change conversions according to middle-end rules. (gimplify_modify_expr_rhs): Deal with NULL TARGET_EXPR_INITIAL. * configure.ac: Include type checking in yes. * configure: Regenerate. In file included from ../../../../../gcc/libstdc++-v3/src/strstream.cc:50: /greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/backward/strstream: In member function 'void std::ostrstream::_ZTv0_n12_NSt10ostrstreamD0Ev()': /greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/backward/strstream:142: error: invalid types in nop conversion unsigned int int (*__vtbl_ptr_type) (void) D.25530 = (unsigned int) D.25529 /greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/backward/strstream:142: internal compiler error: verify_gimple failed I have a .ii file and command line, but it's 560kb (-mcpu=m32cm build of strstream.cc in libstdc++) Note that --enable-checking=none lets the build pass (as of the 25th) but I haven't yet tried testing to see if proper code is generated. Thus, I don't know if the patch caused the bug, or exposed it.