From: Mark Mitchell Date: Sat, 13 Jun 1998 23:35:46 +0000 (+0000) Subject: pt.c (for_each_template_parm): Traverse the TYPE_CONTEXT for types. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=581d38d0bac90445b1a58cff2857609d141e995f;p=gcc.git pt.c (for_each_template_parm): Traverse the TYPE_CONTEXT for types. * pt.c (for_each_template_parm): Traverse the TYPE_CONTEXT for types. From-SVN: r20498 --- diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 69856b7e8dd..9fe7fdd6ccb 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -3164,6 +3164,11 @@ for_each_template_parm (t, fn, data) { if (!t) return 0; + + if (TREE_CODE_CLASS (TREE_CODE (t)) == 't' + && for_each_template_parm (TYPE_CONTEXT (t), fn, data)) + return 1; + switch (TREE_CODE (t)) { case INDIRECT_REF: diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum4.C b/gcc/testsuite/g++.old-deja/g++.pt/enum4.C new file mode 100644 index 00000000000..28f4b2949df --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/enum4.C @@ -0,0 +1,16 @@ +// Build don't link: + +template +struct U +{ + T mT; +}; + +template +struct M +{ + enum FLAG {On, Off}; + U mUF; +}; + +M gm;