This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: pthread related breakage (mainline)


Jason Merrill <jason@redhat.com> wrote:

> Let's go back to your original patch,
>   http://gcc.gnu.org/ml/gcc-patches/2003-10/msg02572.html

Sure. Retested with current HEAD on i686-pc-linux-gnu (rebuild v3 & libjava
nat, check-c++), no new regressions, and of course it fixes using9.C.
OK for mainline?

Giovanni Bajo



2003-12-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>

        PR c++/2294
        * name-lookup.c (push_overloaded_decl): always construct an OVERLOAD
        if the declaration comes from an using declaration.


Index: name-lookup.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/name-lookup.c,v
retrieving revision 1.25
diff -c -3 -p -r1.25 name-lookup.c
*** name-lookup.c       8 Dec 2003 23:15:30 -0000       1.25
--- name-lookup.c       9 Dec 2003 17:56:18 -0000
*************** push_overloaded_decl (tree decl, int fla
*** 2006,2012 ****
        }
      }

!   if (old || TREE_CODE (decl) == TEMPLATE_DECL)
      {
        if (old && TREE_CODE (old) != OVERLOAD)
        new_binding = ovl_cons (decl, ovl_cons (old, NULL_TREE));
--- 2006,2016 ----
        }
      }

!   if (old || TREE_CODE (decl) == TEMPLATE_DECL
!       /* If it's a using declaration, we always need to build an OVERLOAD,
!        because it's the only way to remember that the declaration comes
!        from 'using', and have the lookup behave correctly.  */
!       || (flags & PUSH_USING))
      {
        if (old && TREE_CODE (old) != OVERLOAD)
        new_binding = ovl_cons (decl, ovl_cons (old, NULL_TREE));



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]