Commit 136a1c15 by Paolo Carlini

re PR c++/50837 ([c++0x] static_assert and constexpr in template class)

/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50837
	* pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
	pass allow_non_integral_constant_expression_p = true to
	finish_id_expression.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50837
	* g++.dg/cpp0x/static_assert5.C: New.
	* g++.dg/template/nontype13.C: Tweak.

From-SVN: r181248
parent 430616e7
2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50837
* pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
pass allow_non_integral_constant_expression_p = true to
finish_id_expression.
2011-11-09 Jason Merrill <jason@redhat.com>
PR c++/50972
......
......@@ -13233,7 +13233,7 @@ tsubst_copy_and_build (tree t,
decl = finish_id_expression (t, decl, NULL_TREE,
&idk,
integral_constant_expression_p,
/*allow_non_integral_constant_expression_p=*/false,
/*allow_non_integral_constant_expression_p=*/(cxx_dialect >= cxx0x),
&non_integral_constant_expression_p,
/*template_p=*/false,
/*done=*/true,
......
2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50837
* g++.dg/cpp0x/static_assert5.C: New.
* g++.dg/template/nontype13.C: Tweak.
2011-11-09 Jason Merrill <jason@redhat.com>
PR c++/50972
......@@ -25,7 +31,7 @@
2011-11-09 Patrick Marlier <patrick.marlier@gmail.com>
* gcc.dg/tm/memopt-1.c: Adjust regexp.
* gcc.dg/tm/memopt-1.c: Adjust regexp.
2011-11-09 Jason Merrill <jason@redhat.com>
......
// PR c++/50837
// { dg-options "-std=c++0x" }
template<class T>
struct z
{
static constexpr bool test_constexpr()
{
return true;
}
static void test()
{
static_assert(test_constexpr(), "test1");
}
};
int main()
{
z<int>::test();
}
......@@ -11,7 +11,7 @@ struct Dummy
template<bool B>
void tester()
{
bar<evil>()(); // { dg-error "constant" }
bar<evil>()(); // { dg-error "constant|template" }
}
template<bool B>
struct bar
......
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