re PR c++/58560 ([c++11] ICE with auto in typedef)

/cp
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58560
	* typeck2.c (build_functional_cast): Use error_operand_p on exp.

/testsuite
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58560
	* g++.dg/cpp0x/auto39.C: New.

From-SVN: r203220
This commit is contained in:
Paolo Carlini 2013-10-04 23:48:29 +00:00 committed by Paolo Carlini
parent 12f64ca5e1
commit 76b67a0ac9
4 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
* typeck2.c (build_functional_cast): Use error_operand_p on exp.
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58503

View File

@ -1757,7 +1757,7 @@ build_functional_cast (tree exp, tree parms, tsubst_flags_t complain)
tree type;
vec<tree, va_gc> *parmvec;
if (exp == error_mark_node || parms == error_mark_node)
if (error_operand_p (exp) || parms == error_mark_node)
return error_mark_node;
if (TREE_CODE (exp) == TYPE_DECL)

View File

@ -1,3 +1,8 @@
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
* g++.dg/cpp0x/auto39.C: New.
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58503

View File

@ -0,0 +1,6 @@
// PR c++/58560
// { dg-do compile { target c++11 } }
typedef auto T; // { dg-error "typedef declared 'auto'" }
void foo() { T(); }