The following invalid testcase triggers a broken diagnostic since at least GCC 2.95.3: =================================== int foo(int); void bar(double d) { foo(d)(); } =================================== bug.cc: In function 'void bar(double)': bug.cc:5: error: 'foo(#'fix_trunc_expr' not supported by dump_expr#<expression error>)' cannot be used as a function The other conversion is broken, too: =================================== int foo(double); void bar(int i) { foo(i)(); } =================================== bug.cc: In function 'void bar(int)': bug.cc:5: error: 'foo(#'float_expr' not supported by dump_expr#<expression error>)' cannot be used as a function
On it.
Subject: Bug 33465 Author: paolo Date: Fri Jan 30 15:03:10 2009 New Revision: 143790 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143790 Log: /cp 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/33465 * error.c (dump_expr): Handle FIX_TRUNC_EXPR and FLOAT_EXPR. /testsuite 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/33465 * g++.dg/parse/error34.C: New. * g++.dg/parse/error35.C: Likewise. /cp 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38655 * error.c (dump_type_prefix, dump_type_suffix): Handle FIXED_POINT_TYPE. /testsuite 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38655 * g++.dg/cpp0x/decltype-38655.C: New. Added: trunk/gcc/testsuite/g++.dg/cpp0x/decltype-38655.C (with props) trunk/gcc/testsuite/g++.dg/parse/error34.C trunk/gcc/testsuite/g++.dg/parse/error35.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/error.c trunk/gcc/testsuite/ChangeLog Propchange: trunk/gcc/testsuite/g++.dg/cpp0x/decltype-38655.C ('svn:mergeinfo' added)
Fixed for 4.4.0.