------- Comment #8 from sandra at codesourcery dot com 2007-02-14 00:04 ------- Testing of the CALL_EXPR representation patch turned up a related ICE in tree_ssa_useless_type_conversion() while compiling libjava/java/lang/reflect/natMethod.cc. It was failing because the expansion of memcpy produced by fold_builtin_memory_op includes a GIMPLE_MODIFY_STMT, and expansion of builtins happens long before the gimplifier is invoked by the C++ front end. See http://gcc.gnu.org/ml/gcc-patches/2007-02/msg01193.html for more discussion.
As a temporary solution, the CALL_EXPR patch includes a tweak to use GENERIC_TREE_TYPE in tree_ssa_useless_type_conversion(). This should be revisited as part of a general solution. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30391