The following invalid testcase triggers a broken diagnostic on mainline: =================================== template<int> void foo() { __is_class(int)(); } =================================== bug.cc: In function 'void foo()': bug.cc:3: error: '#'trait_expr' not supported by dump_expr#<expression error>' cannot be used as a function This is similar to PR33212, but not yet fixed.
Subject: Bug 33464 Author: paolo Date: Tue Sep 18 14:35:42 2007 New Revision: 128578 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128578 Log: /cp 2007-09-18 Paolo Carlini <pcarlini@suse.de> PR c++/33464 * cxx-pretty-print.c (pp_cxx_trait_expression): Add. (pp_cxx_primary_expression): Use it. * cxx-pretty-print.h (pp_cxx_trait_expression): Declare. * error.c (dump_expr): Use it. /testsuite 2007-09-18 Paolo Carlini <pcarlini@suse.de> PR c++/33464 * g++.dg/ext/is_class_error.C: Rename to is_class_error1.C. * g++.dg/ext/is_class_error2.C: New. Added: trunk/gcc/testsuite/g++.dg/ext/is_class_error1.C - copied unchanged from r128570, trunk/gcc/testsuite/g++.dg/ext/is_class_error.C trunk/gcc/testsuite/g++.dg/ext/is_class_error2.C Removed: trunk/gcc/testsuite/g++.dg/ext/is_class_error.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cxx-pretty-print.c trunk/gcc/cp/cxx-pretty-print.h trunk/gcc/cp/error.c trunk/gcc/testsuite/ChangeLog
Fixed.