The following invalid testcase triggers a broken diagnostic since GCC 3.4.0:
===================================
namespace std
{
class type_info {};
}
template<int> void foo()
{
!typeid(void);
}
===================================
bug.cc: In function 'void foo()':
bug.cc:8: error: no match for 'operator!' in '!#'typeid_expr' not supported by
dump_expr#<expression error>'
bug.cc:8: note: candidates are: operator!(bool) <built-in>
--
Summary: [4.1/4.2/4.3 regression] Broken diagnostic:
'typeid_expr' not supported by dump_expr
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: diagnostic, monitored
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33463