Commit dcdb8613 by Jason Merrill Committed by Jason Merrill

re PR c++/56059 (SIGSEGV on invalid C++11 code)

	PR c++/56059
	* tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
	template args count.

From-SVN: r195355
parent d2ae47e5
2013-01-21 Jason Merrill <jason@redhat.com>
PR c++/56059
* tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
template args count.
2013-01-18 Jason Merrill <jason@redhat.com>
PR target/54908
......
......@@ -1351,6 +1351,8 @@ strip_typedefs_expr (tree t)
r = copy_node (t);
for (i = 0; i < n; ++i)
TREE_VEC_ELT (r, i) = (*vec)[i];
SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT
(r, GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT (t));
}
else
r = t;
......
// PR c++/56059
// { dg-options -std=c++11 }
typedef int Int;
template<typename T> struct baz { };
template<typename T> T bar();
template<typename T, typename ... U>
baz<decltype(bar<Int>(bar<U>() ...))> // { dg-error "no match" }
foo();
int main()
{
foo<int, int>(); // { dg-error "no match" }
return 0;
}
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