Commit 77d4d7c5 by Jason Merrill Committed by Jason Merrill

re PR c++/36797 (ICE mangling __is_empty)

	PR c++/36797
	* mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR.

From-SVN: r184874
parent 57910f3a
2012-03-03 Jason Merrill <jason@redhat.com>
PR c++/36797
* mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR.
* class.c (add_method): Always build an OVERLOAD for using-decls.
* search.c (lookup_member): Handle getting an OVERLOAD for a
single function.
......
......@@ -2808,7 +2808,17 @@ write_expression (tree expr)
if (name == NULL)
{
sorry ("mangling %C", code);
switch (code)
{
case TRAIT_EXPR:
error ("use of built-in trait %qE in function signature; "
"use library traits instead", expr);
break;
default:
sorry ("mangling %C", code);
break;
}
return;
}
else
......
2012-03-03 Jason Merrill <jason@redhat.com>
PR c++/36797
* g++.dg/ext/is_empty2.C: New.
2012-03-03 Tobias Burnus <burnus@net-b.de>
PR fortran/48820
......
// PR c++/36797
template <int> struct A { };
template <class T>
int foo (A<__is_empty (T)>* = 0); // { dg-error "built-in trait" }
int main ()
{
foo<int>();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment