aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-05-27 00:01:56 -0400
committerJason Merrill <jason@gcc.gnu.org>2011-05-27 00:01:56 -0400
commit5ac537d7b4983abe5eebe510c798bede816c8165 (patch)
tree5abe9440df300cee0594142fc12f8ddb9cf4921f
parent7c999b5781074ab69ec3604b13017625197872a9 (diff)
downloadgcc-5ac537d7b4983abe5eebe510c798bede816c8165.zip
gcc-5ac537d7b4983abe5eebe510c798bede816c8165.tar.gz
gcc-5ac537d7b4983abe5eebe510c798bede816c8165.tar.bz2
DR 1004
DR 1004 * pt.c (convert_template_argument): Don't complain about using injected-class-name as template template argument. From-SVN: r174318
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/pt.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 577273d..d5ad501 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2011-05-26 Jason Merrill <jason@redhat.com>
+ DR 1004
+ * pt.c (convert_template_argument): Don't complain about using
+ injected-class-name as template template argument.
+
PR c++/47956
* decl.c (check_static_variable_definition): Now static.
(cp_finish_decl): Call it here.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 3b26700..28c82b8 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -5962,7 +5962,9 @@ convert_template_argument (tree parm,
tree t = maybe_get_template_decl_from_type_decl (TYPE_NAME (arg));
if (TREE_CODE (t) == TEMPLATE_DECL)
{
- if (complain & tf_warning_or_error)
+ if (cxx_dialect >= cxx0x)
+ /* OK under DR 1004. */;
+ else if (complain & tf_warning_or_error)
pedwarn (input_location, OPT_pedantic, "injected-class-name %qD"
" used as template template argument", TYPE_NAME (arg));
else if (flag_pedantic_errors)