diff options
author | Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> | 2001-11-02 14:58:55 +0000 |
---|---|---|
committer | Kriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org> | 2001-11-02 14:58:55 +0000 |
commit | fccef71efb674ca2f33a626fe5cd588786e7ac00 (patch) | |
tree | 80c6102c352abc7b99dbc30d9e4973e3a7cbe26d /gcc | |
parent | ae31824cbbb984a1728a304185b3606d4262857b (diff) | |
download | gcc-fccef71efb674ca2f33a626fe5cd588786e7ac00.zip gcc-fccef71efb674ca2f33a626fe5cd588786e7ac00.tar.gz gcc-fccef71efb674ca2f33a626fe5cd588786e7ac00.tar.bz2 |
* pt.c (unify): Handle SCOPE_REF.
From-SVN: r46715
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/pt.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/unify3.C | 11 |
3 files changed, 16 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 49e771e..8016de5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2001-11-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + * pt.c (unify): Handle SCOPE_REF. + 2001-11-01 Jakub Jelinek <jakub@redhat.com> * tree.c (cp_copy_res_decl_for_inlining): Adjust diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index a99b80d..a2971f9 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -8566,6 +8566,7 @@ unify (tparms, targs, parm, arg, strict) switch (TREE_CODE (parm)) { case TYPENAME_TYPE: + case SCOPE_REF: case UNBOUND_CLASS_TEMPLATE: /* In a type which contains a nested-name-specifier, template argument values cannot be deduced for template parameters used diff --git a/gcc/testsuite/g++.dg/template/unify3.C b/gcc/testsuite/g++.dg/template/unify3.C new file mode 100644 index 0000000..190a0cb --- /dev/null +++ b/gcc/testsuite/g++.dg/template/unify3.C @@ -0,0 +1,11 @@ +// Test unifying SCOPE_REF. +// Origin: Marc Duflot <m.duflot@ulg.ac.be> +// { dg-do compile } + +template <int n> class A {}; +template <int m> class R {}; + +template <int n> struct Trait { enum {m = n}; }; + +template <int n> R<Trait<n>::m> f(A<n>); +template <> R<1> f(A<1>) {return R<1>();} |