diff options
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/pt.c | 4 |
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) |