]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/28215 (Bootstrap failure on arm-eabi)
authorJason Merrill <jason@redhat.com>
Sat, 1 Jul 2006 22:01:18 +0000 (18:01 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 1 Jul 2006 22:01:18 +0000 (18:01 -0400)
        PR c++/28215
        * method.c (make_thunk): Unset DECL_USE_TEMPLATE and
        DECL_TEMPLATE_INFO.

From-SVN: r115118

gcc/cp/ChangeLog
gcc/cp/method.c
gcc/cp/search.c

index 29888c7b2bcaa9236e9eb6d806ecebf73cb59985..896749ede5d379717c5c5a92885b3c02884b2d3d 100644 (file)
@@ -1,3 +1,9 @@
+2006-07-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/28215
+       * method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
+       DECL_TEMPLATE_INFO.
+
 2006-06-30  Jason Merrill  <jason@redhat.com>
 
        PR c++/26577
index 1f06229eb1ce23a079791aeadb4d3e11ea781108..9029e85a653ac31de32977dac44473324209714d 100644 (file)
@@ -161,6 +161,9 @@ make_thunk (tree function, bool this_adjusting,
   DECL_DECLARED_INLINE_P (thunk) = 0;
   /* Nor has it been deferred.  */
   DECL_DEFERRED_FN (thunk) = 0;
+  /* Nor is it a template instantiation.  */
+  DECL_USE_TEMPLATE (thunk) = 0;
+  DECL_TEMPLATE_INFO (thunk) = NULL;
 
   /* Add it to the list of thunks associated with FUNCTION.  */
   TREE_CHAIN (thunk) = DECL_THUNKS (function);
index 21d1b7762465cc44b0ffa4b9bbe38599abb67506..2af5e04d3631fb94268a5e12f8a9b0f24a46887f 100644 (file)
@@ -792,11 +792,12 @@ friend_accessible_p (tree scope, tree decl, tree binfo)
     if (protected_accessible_p (decl, TREE_VALUE (t), binfo))
       return 1;
 
-  /* Nested classes are implicitly friends of their enclosing types, as
+  /* Nested classes have the same access as their enclosing types, as
      per core issue 45 (this is a change from the standard).  */
   if (TYPE_P (scope))
     for (t = TYPE_CONTEXT (scope); t && TYPE_P (t); t = TYPE_CONTEXT (t))
-      if (protected_accessible_p (decl, t, binfo))
+      if (protected_accessible_p (decl, t, binfo)
+         || friend_accessible_p (t, decl, binfo))
        return 1;
 
   if (TREE_CODE (scope) == FUNCTION_DECL