[Bug c++/9230] Friend functions defined within template class definitions are injected into the namespace scope at template instantiation time even if there is no declaration.

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Sep 16 00:58:00 GMT 2005


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-16 00:58 -------
Fixed in 4.1.0 by:
2005-09-12  Ian Lance Taylor  <ian@airs.com>

        PR g++/7874
        * cp-tree.h (struct lang_decl_flags): Add hidden_friend_p
        bitfield.  Make dummy bitfield one bit smaller.
        (DECL_HIDDEN_FRIEND_P): Define.
        (pushdecl_maybe_friend): Declare.
        (pushdecl_top_level_maybe_friend): Declare.
        * decl.c (duplicate_decls): Add newdecl_is_friend parameter.
        Change prototype and all callers.  Add assertion that a
        DECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P.  Set
        DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl if
        appropriate.
....

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9230



More information about the Gcc-bugs mailing list