re PR c++/59635 ([c++1y] ICE with auto and ... as lambda parameter)

Fix PR c++/59635

	PR c++/59635
	* cp/lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
	function as unimplemented for generic lambdas with varargs.

	* g++.dg/cpp1y/pr59635.C: New testcase.

From-SVN: r206368
This commit is contained in:
Adam Butcher 2014-01-06 18:22:19 +00:00 committed by Adam Butcher
parent 0225cc0f1f
commit 2c8c627389
4 changed files with 21 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2014-01-06 Adam Butcher <adam@jessamine.co.uk>
PR c++/59635
* cp/lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
function as unimplemented for generic lambdas with varargs.
2014-01-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/58950

View File

@ -970,7 +970,7 @@ maybe_add_lambda_conv_op (tree type)
the conversion op is used. */
if (varargs_function_p (callop))
{
DECL_DELETED_FN (fn) = 1;
DECL_DELETED_FN (STRIP_TEMPLATE (fn)) = 1;
return;
}

View File

@ -1,3 +1,8 @@
2014-01-06 Adam Butcher <adam@jessamine.co.uk>
PR c++/59635
* g++.dg/cpp1y/pr59635.C: New testcase.
2014-01-06 Martin Jambor <mjambor@suse.cz>
PR ipa/59008

View File

@ -0,0 +1,9 @@
// { dg-do compile }
// { dg-options "-std=c++1y" }
// PR c++/59635
auto f = [] (auto, ...) { return 0; };
int (*p) (int, ...) = f; // { dg-message "unimplemented" }