Broken diagnostics are issued for the following invalid code snippet since
GCC 3.0:
====================================================
void foo(double x)
{
__builtin_isgreater(x, 0.0)();
__builtin_isless(x, 0.0)();
__builtin_isunordered(x, 0.0)();
}
====================================================
bug.cc: In function 'void foo(double)':
bug.cc:3: error: '!#'unle_expr' not supported by dump_expr#<expression error>'
cannot be used as a function
bug.cc:4: error: '!#'unge_expr' not supported by dump_expr#<expression error>'
cannot be used as a function
bug.cc:5: error: '#'unordered_expr' not supported by dump_expr#<expression
error>' cannot be used as a function
--
Summary: [4.1/4.2/4.3/4.4 regression] Broken diagnostics for
builtins
Product: gcc
Version: 4.4.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=35332