From 3acb1e03c47ef7fbba24da5a0f97a25f93e1f608 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Thu, 22 Sep 2011 18:20:53 +0000 Subject: [PATCH] re PR c++/50371 ([C++0x] std::nullptr_t rejected as non-type template-parameter) /cp 2011-09-22 Paolo Carlini PR c++/50371 * pt.c (invalid_nontype_parm_type_p): Handle NULLPTR_TYPE. /testsuite 2011-09-22 Paolo Carlini PR c++/50371 * g++.dg/cpp0x/nullptr24.C: New. From-SVN: r179096 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/pt.c | 2 ++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp0x/nullptr24.C | 5 +++++ 4 files changed, 17 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/nullptr24.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0dd01d9..8ec7a05 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2011-09-22 Paolo Carlini + + PR c++/50371 + * pt.c (invalid_nontype_parm_type_p): Handle NULLPTR_TYPE. + 2011-09-22 Jonathan Wakely Paolo Carlini diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index ee33daf..af5ca5c 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -18717,6 +18717,8 @@ invalid_nontype_parm_type_p (tree type, tsubst_flags_t complain) return 0; else if (TREE_CODE (type) == DECLTYPE_TYPE) return 0; + else if (TREE_CODE (type) == NULLPTR_TYPE) + return 0; if (complain & tf_error) error ("%q#T is not a valid type for a template constant parameter", type); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b9d638f..90fe936 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-09-22 Paolo Carlini + + PR c++/50371 + * g++.dg/cpp0x/nullptr24.C: New. + 2011-09-22 Uros Bizjak PR target/50482 diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr24.C b/gcc/testsuite/g++.dg/cpp0x/nullptr24.C new file mode 100644 index 0000000..f3917796 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr24.C @@ -0,0 +1,5 @@ +// PR c++/50371 +// { dg-options -std=c++0x } + +template +struct nt; -- 2.7.4