parse.y (template_arg): Add rule for template qualified with global scope.
authorKriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
Sat, 12 Aug 2000 02:09:02 +0000 (02:09 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 12 Aug 2000 02:09:02 +0000 (22:09 -0400)
        * parse.y (template_arg): Add rule for template qualified with
        global scope.

From-SVN: r35654

gcc/cp/ChangeLog
gcc/cp/parse.y
gcc/testsuite/g++.old-deja/g++.pt/ttp63.C [new file with mode: 0644]

index 82ceceb9c0439caac44aa6ee8f83ba5539add2a5..f05ee3230a3612aa7c4394bd3d06a8c54a521ef4 100644 (file)
@@ -1,3 +1,8 @@
+2000-08-11  Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
+
+       * parse.y (template_arg): Add rule for template qualified with
+       global scope.
+
 2000-08-11  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
 
        * decl2.c (add_function): Reorganize.
index 09108d40ee72f3681affec0faf5b60204861a17e..2aba6089d1c61d8a6da631282d5e49349fe20fa2 100644 (file)
@@ -1065,6 +1065,12 @@ template_arg:
                  if (DECL_TEMPLATE_TEMPLATE_PARM_P ($$))
                    $$ = TREE_TYPE ($$);
                }
+       | global_scope PTYPENAME
+               {
+                 $$ = lastiddecl;
+                 if (DECL_TEMPLATE_TEMPLATE_PARM_P ($$))
+                   $$ = TREE_TYPE ($$);
+               }
        | expr_no_comma_rangle
        ;
 
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp63.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp63.C
new file mode 100644 (file)
index 0000000..43abedb
--- /dev/null
@@ -0,0 +1,7 @@
+// Build don't link:
+// Origin: Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+template <template <class> class TT> class X {};
+template <class T> class Y {
+       X< ::Y> x;
+};