]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/14143 (Overeager ADL)
authorGiovanni Bajo <giovannibajo@gcc.gnu.org>
Mon, 23 Feb 2004 05:10:37 +0000 (05:10 +0000)
committerGiovanni Bajo <giovannibajo@gcc.gnu.org>
Mon, 23 Feb 2004 05:10:37 +0000 (05:10 +0000)
PR c++/14143
* name-lookup.c (arg_assoc_class): Don't look into template
arguments if it is not a primary template.

From-SVN: r78287

gcc/cp/ChangeLog
gcc/cp/name-lookup.c

index d8f31c3d36df901f2f7f36ddc71b2fcd5c769a4e..be8d7054e1fec4099f1dc0ada601eb69132423ba 100644 (file)
@@ -1,6 +1,12 @@
+2004-02-23  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/14143
+       * name-lookup.c (arg_assoc_class): Don't look into template 
+       arguments if it is not a primary template.
+
 2004-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
-        PR c++/12007
+       PR c++/12007
        * method.c (use_thunk): Always clone function argument tree.
 
 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
index be1b8228353298658cf3b50738b3313040c1d5b3..cbdcd1ba21e6b434e91071393498e19aad244d3b 100644 (file)
@@ -4279,7 +4279,8 @@ arg_assoc_class (struct arg_lookup *k, tree type)
            return true;
 
   /* Process template arguments.  */
-  if (CLASSTYPE_TEMPLATE_INFO (type))
+  if (CLASSTYPE_TEMPLATE_INFO (type) 
+      && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (type)))
     {
       list = INNERMOST_TEMPLATE_ARGS (CLASSTYPE_TI_ARGS (type));
       for (i = 0; i < TREE_VEC_LENGTH (list); ++i)