pt.c (check_explicit_specialization): Complain about default args in explicit special...
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 18 Mar 1998 01:07:57 +0000 (01:07 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 18 Mar 1998 01:07:57 +0000 (20:07 -0500)
* pt.c (check_explicit_specialization): Complain about default args
in explicit specialization.

From-SVN: r18652

gcc/cp/ChangeLog
gcc/cp/pt.c

index ec69afe5f110f0cd7b860526760035a7a51a2676..31dcfe42b54efbac006c32962bd89a3eaeae1cf5 100644 (file)
@@ -1,5 +1,8 @@
 Wed Mar 18 00:24:10 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
+       * pt.c (check_explicit_specialization): Complain about default args
+       in explicit specialization.
+
        * parse.y (nomods_initdcl0): Also call cp_finish_decl for a 
        constructor_declarator.
 
index 6cc0aa30083f4ff392e56b1593abf28e2e9c9ada..30b4054d6554832a0236ffd8f0f23a711bec9e41 100644 (file)
@@ -839,6 +839,18 @@ check_explicit_specialization (declarator, decl, template_count, flags)
        }
     }
 
+  if (specialization || member_specialization)
+    {
+      tree t = TYPE_ARG_TYPES (TREE_TYPE (decl));
+      for (; t; t = TREE_CHAIN (t))
+       if (TREE_PURPOSE (t))
+         {
+           cp_pedwarn
+             ("default argument specified in explicit specialization");
+           break;
+         }
+    }
+
   if (specialization || member_specialization || explicit_instantiation)
     {
       tree tmpl = NULL_TREE;