public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
@ 2003-06-08 18:48 ` pinskia@physics.uc.edu
  2003-07-11 22:36 ` mmitchel at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: pinskia@physics.uc.edu @ 2003-06-08 18:48 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia@physics.uc.edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |3.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
  2003-06-08 18:48 ` [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace pinskia@physics.uc.edu
@ 2003-07-11 22:36 ` mmitchel at gcc dot gnu dot org
  2003-07-15 13:16 ` pinskia at physics dot uc dot edu
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2003-07-11 22:36 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.3.1                       |3.3.2


------- Additional Comments From mmitchel at gcc dot gnu dot org  2003-07-11 22:36 -------
Postponed until GCC 3.3.2.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
  2003-06-08 18:48 ` [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace pinskia@physics.uc.edu
  2003-07-11 22:36 ` mmitchel at gcc dot gnu dot org
@ 2003-07-15 13:16 ` pinskia at physics dot uc dot edu
  2003-10-16  2:22 ` mmitchel at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-15 13:16 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-15 13:16 -------
Acording to Phil's regression hunter this has been accepted since at least 2000-12-31, 
so a change before that day caused this regression.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (2 preceding siblings ...)
  2003-07-15 13:16 ` pinskia at physics dot uc dot edu
@ 2003-10-16  2:22 ` mmitchel at gcc dot gnu dot org
  2003-12-28  4:36 ` pinskia at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2003-10-16  2:22 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.3.2                       |3.4


------- Additional Comments From mmitchel at gcc dot gnu dot org  2003-10-16 02:22 -------
Fixing this requires removing support for ARM-style name-injection.  That's fine
-- but it's too invasive for a 3.3.x release.  Postponed until GCC 3.4.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (3 preceding siblings ...)
  2003-10-16  2:22 ` mmitchel at gcc dot gnu dot org
@ 2003-12-28  4:36 ` pinskia at gcc dot gnu dot org
  2003-12-28  5:06 ` pinskia at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-28  4:36 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-12-28 04:31 -------
*** Bug 8280 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dbaron at fas dot harvard
                   |                            |dot edu


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (4 preceding siblings ...)
  2003-12-28  4:36 ` pinskia at gcc dot gnu dot org
@ 2003-12-28  5:06 ` pinskia at gcc dot gnu dot org
  2004-01-14 12:55 ` steven at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-28  5:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-12-28 04:36 -------
*** Bug 2949 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jens dot maurer at gmx dot
                   |                            |net


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (5 preceding siblings ...)
  2003-12-28  5:06 ` pinskia at gcc dot gnu dot org
@ 2004-01-14 12:55 ` steven at gcc dot gnu dot org
  2004-01-14 16:55 ` mark at codesourcery dot com
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: steven at gcc dot gnu dot org @ 2004-01-14 12:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2004-01-14 12:54 -------
Mark,  
 
You wrote that "[f]ixing this requires removing support for ARM-style 
name-injection.  That's fine -- but it's too invasive for a 3.3.x release.  
Postponed until GCC 3.4.". 
 
Does this mean that we should deprecate this name-injection for 3.4 so 
that this can be fixed for GCC 3.5? 
 
Thanks, 
 
Gr. 
Steven 
 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at codesourcery dot com


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (6 preceding siblings ...)
  2004-01-14 12:55 ` steven at gcc dot gnu dot org
@ 2004-01-14 16:55 ` mark at codesourcery dot com
  2004-01-14 16:58 ` mmitchel at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: mark at codesourcery dot com @ 2004-01-14 16:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mark at codesourcery dot com  2004-01-14 16:54 -------
Subject: Re:  [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace

Correct you are.

I've checked in the attached documentation patch, and I'll change the bug
target on that bug.

Thanks,

--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
----- Original Message ----- 
From: "steven at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: <mark@codesourcery.com>
Sent: Wednesday, January 14, 2004 4:55 AM
Subject: [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions
defined in class-definition but not declared in the enclosing namespace


>
> ------- Additional Comments From steven at gcc dot gnu dot org  2004-01-14
12:54 -------
> Mark,
>
> You wrote that "[f]ixing this requires removing support for ARM-style
> name-injection.  That's fine -- but it's too invasive for a 3.3.x release.
> Postponed until GCC 3.4.".
>
> Does this mean that we should deprecate this name-injection for 3.4 so
> that this can be fixed for GCC 3.5?
>
> Thanks,
>
> Gr.
> Steven
>
>
> -- 
>            What    |Removed                     |Added
> --------------------------------------------------------------------------
--
>                  CC|                            |mark at codesourcery dot
com
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7874
>
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
>



-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (7 preceding siblings ...)
  2004-01-14 16:55 ` mark at codesourcery dot com
@ 2004-01-14 16:58 ` mmitchel at gcc dot gnu dot org
  2004-01-14 17:03 ` giovannibajo at libero dot it
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-01-14 16:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-01-14 16:58 -------
Postponed until GCC 3.5, after deprecation has taken effect.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.0                       |3.5.0


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (8 preceding siblings ...)
  2004-01-14 16:58 ` mmitchel at gcc dot gnu dot org
@ 2004-01-14 17:03 ` giovannibajo at libero dot it
  2004-01-14 17:10 ` mark at codesourcery dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: giovannibajo at libero dot it @ 2004-01-14 17:03 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-01-14 17:03 -------
Mark, shouldn't we also emit a warning when trying to compile the deprecated 
construct? Otherwise, given how many C++ changes we already have for 3.4, we 
could remove it immediatly.

-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (9 preceding siblings ...)
  2004-01-14 17:03 ` giovannibajo at libero dot it
@ 2004-01-14 17:10 ` mark at codesourcery dot com
  2004-01-29  6:05 ` [Bug c++/7874] [3.3/3.4/3.5 " pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: mark at codesourcery dot com @ 2004-01-14 17:10 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mark at codesourcery dot com  2004-01-14 17:10 -------
Subject: Re:  [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace

We can't remove it immediately because that's not technically easy, and not
appropriate for Stage 3.

We can't emit warnings because the old warning we would emit would be to
warn about every single friend declaration.

Thanks,

--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
----- Original Message ----- 
From: "giovannibajo at libero dot it" <gcc-bugzilla@gcc.gnu.org>
To: <mark@codesourcery.com>
Sent: Wednesday, January 14, 2004 9:03 AM
Subject: [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions
defined in class-definition but not declared in the enclosing namespace


>
> ------- Additional Comments From giovannibajo at libero dot it  2004-01-14
17:03 -------
> Mark, shouldn't we also emit a warning when trying to compile the
deprecated
> construct? Otherwise, given how many C++ changes we already have for 3.4,
we
> could remove it immediatly.
>
> -- 
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7874
>
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
>



-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4/3.5 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (10 preceding siblings ...)
  2004-01-14 17:10 ` mark at codesourcery dot com
@ 2004-01-29  6:05 ` pinskia at gcc dot gnu dot org
  2004-08-12  0:58 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-29  6:05 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-29 06:05 -------
*** Bug 13917 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |carlo at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4/3.5 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (11 preceding siblings ...)
  2004-01-29  6:05 ` [Bug c++/7874] [3.3/3.4/3.5 " pinskia at gcc dot gnu dot org
@ 2004-08-12  0:58 ` pinskia at gcc dot gnu dot org
  2004-10-17 14:41 ` [Bug c++/7874] [3.3/3.4/4.0 " lerdsuwa at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-12  0:58 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
OtherBugsDependingO|                            |16995
              nThis|                            |


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4/4.0 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (12 preceding siblings ...)
  2004-08-12  0:58 ` pinskia at gcc dot gnu dot org
@ 2004-10-17 14:41 ` lerdsuwa at gcc dot gnu dot org
  2004-11-28  5:38 ` lerdsuwa at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: lerdsuwa at gcc dot gnu dot org @ 2004-10-17 14:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From lerdsuwa at gcc dot gnu dot org  2004-10-17 14:41 -------
Working on friend class name injection.  It's very likely 
the fix also applies to friend function.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|gdr at gcc dot gnu dot org  |lerdsuwa at gcc dot gnu dot
                   |                            |org
      Known to fail|4.0 3.4.0                   |4.0.0 3.4.0


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4/4.0 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (13 preceding siblings ...)
  2004-10-17 14:41 ` [Bug c++/7874] [3.3/3.4/4.0 " lerdsuwa at gcc dot gnu dot org
@ 2004-11-28  5:38 ` lerdsuwa at gcc dot gnu dot org
  2004-12-20  1:17 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: lerdsuwa at gcc dot gnu dot org @ 2004-11-28  5:38 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From lerdsuwa at gcc dot gnu dot org  2004-11-28 05:38 -------
Got a solution for friend class, but not friend function yet.
The tough part is the need to look at interaction between 
hidden friend and hidden built-in functions.  Likely postponed to 4.1.

-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4/4.0 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (14 preceding siblings ...)
  2004-11-28  5:38 ` lerdsuwa at gcc dot gnu dot org
@ 2004-12-20  1:17 ` pinskia at gcc dot gnu dot org
  2005-04-21  4:58 ` [Bug c++/7874] [3.3/3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-20  1:17 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal
   Last reconfirmed|2004-05-05 03:49:06         |2004-12-20 01:17:23
               date|                            |


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.3/3.4/4.0/4.1 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (15 preceding siblings ...)
  2004-12-20  1:17 ` pinskia at gcc dot gnu dot org
@ 2005-04-21  4:58 ` mmitchel at gcc dot gnu dot org
  2005-07-08  1:36 ` [Bug c++/7874] [3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 20+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-04-21  4:58 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.0                       |4.0.1


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.4/4.0/4.1 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (16 preceding siblings ...)
  2005-04-21  4:58 ` [Bug c++/7874] [3.3/3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
@ 2005-07-08  1:36 ` mmitchel at gcc dot gnu dot org
  2005-09-12 19:55 ` cvs-commit at gcc dot gnu dot org
  2005-09-12 20:10 ` ian at airs dot com
  19 siblings, 0 replies; 20+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-07-08  1:36 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.1                       |4.0.2


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.4/4.0/4.1 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (17 preceding siblings ...)
  2005-07-08  1:36 ` [Bug c++/7874] [3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
@ 2005-09-12 19:55 ` cvs-commit at gcc dot gnu dot org
  2005-09-12 20:10 ` ian at airs dot com
  19 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-12 19:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 19:54 -------
Subject: Bug 7874

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	ian@gcc.gnu.org	2005-09-12 19:54:23

Modified files:
	gcc            : ChangeLog c.opt 
	gcc/cp         : ChangeLog call.c class.c cp-tree.h decl.c 
	                 friend.c name-lookup.c name-lookup.h pt.c 
	                 semantics.c 
	gcc/doc        : invoke.texi 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/g++.dg/parse: defarg4.C 
	gcc/testsuite/g++.old-deja/g++.brendan: crash56.C 
	gcc/testsuite/g++.old-deja/g++.jason: friend.C scoping15.C 
	gcc/testsuite/g++.old-deja/g++.mike: net43.C 
Added files:
	gcc/testsuite/g++.dg/lookup: friend7.C friend8.C 

Log message:
	./
	PR g++/7874
	* c.opt (ffriend-injection): New C++ option.
	* doc/invoke.texi (Option Summary): Mention -ffriend-injection.
	(C++ Dialect Options): Document -ffriend-injection.
	cp/
	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.
	* name-lookup.c (supplement_binding): Don't ignore a
	DECL_HIDDEN_FRIEND_P.
	(pushdecl_maybe_friend): Break out contents of pushdecl.  Add
	is_friend parameter.  Set DECL_ANTICIPATED and
	DECL_HIDDEN_FRIEND_P for a friend function.
	(pushdecl): Just call pushdecl_maybe_friend.
	(pushdecl_with_scope): Add is_friend parameter.  Change prototype
	and all callers.
	(pushdecl_namespace_level): Likewise.
	(push_overloaded_decl): Likewise.  Check DECL_HIDDEN_FRIEND_P as
	well as DECL_ANTICIPATED when checking for a builtin.
	(do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well as
	DECL_ANTICIPATED when checking for a builtin.
	(do_nonmember_using_decl): Likewise.
	(pushdecl_top_level_1): Add is_friend parameter.  Change all
	callers.
	(pushdecl_top_level_maybe_friend): New function.
	(remove_hidden_names): New function.
	(struct arg_lookup): Add args field.
	(friend_of_associated_class_p): New static function.
	(arg_assoc_namespace): Ignore hidden functions which are not
	friends of an associated class of some argument.
	(lookup_arg_dependent): Remove hidden functions from list passed
	in.  Initialize k.args.
	* name-lookup.h (remove_hidden_names): Declare.
	* friend.c (do_friend): Call pushdecl_maybe_friend instead of
	pushdecl.
	* call.c (add_function_candidate): Change DECL_ANTICIPATED test to
	an assertion, with a check for DECL_HIDDEN_FRIEND_P.
	(build_new_function_call): Add koenig_p parameter.  Change
	prototype and callers.
	* pt.c (register_specialization): Add is_friend parameter.  Change
	all callers.
	(push_template_decl_real): Change is_friend parameter to bool.
	Change prototype and all callers.
	(tsubst_friend_class): Call pushdecl_top_level_maybe_friend
	instead of pushdecl_top_level.
	testsuite/
	PR g++/7874
	* g++.dg/lookup/friend7.C: New test.
	* g++.dg/lookup/friend8.C: New test.
	* g++.dg/parse/defarg4.C: Add a parameter to the friend function,
	so that it will be found via argument dependent lookup.
	* g++.old-deja/g++.brendan/crash56.C: Don't expect errors for
	friend functions which will no longer be found.
	* g++.old-deja/g++.jason/friend.C: Add a parameter to the friend
	function g, so that it will be found via argument dependent
	lookup.
	* g++.old-deja/g++.jason/scoping15.C: Use -ffriend-injection.
	* g++.old-deja/g++.mike/net43.C: Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9941&r2=2.9942
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c.opt.diff?cvsroot=gcc&r1=1.50&r2=1.51
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4884&r2=1.4885
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/call.c.diff?cvsroot=gcc&r1=1.551&r2=1.552
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.731&r2=1.732
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1163&r2=1.1164
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1425&r2=1.1426
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/friend.c.diff?cvsroot=gcc&r1=1.109&r2=1.110
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/name-lookup.c.diff?cvsroot=gcc&r1=1.140&r2=1.141
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/name-lookup.h.diff?cvsroot=gcc&r1=1.44&r2=1.45
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.1031&r2=1.1032
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.489&r2=1.490
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&r1=1.676&r2=1.677
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6049&r2=1.6050
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/lookup/friend7.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/lookup/friend8.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/defarg4.C.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C.diff?cvsroot=gcc&r1=1.9&r2=1.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.old-deja/g++.jason/friend.C.diff?cvsroot=gcc&r1=1.4&r2=1.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.old-deja/g++.jason/scoping15.C.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.old-deja/g++.mike/net43.C.diff?cvsroot=gcc&r1=1.4&r2=1.5



-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/7874] [3.4/4.0/4.1 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace
       [not found] <20020909155601.7874.gdr@nerim.net>
                   ` (18 preceding siblings ...)
  2005-09-12 19:55 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-12 20:10 ` ian at airs dot com
  19 siblings, 0 replies; 20+ messages in thread
From: ian at airs dot com @ 2005-09-12 20:10 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From ian at airs dot com  2005-09-12 20:10 -------
Bug is fixed in mainline.  The fix will not be migrated back to the 3.4 or 4.0
branches, as it is inappropriate to change default behaviour to stop accepting
working programs in a point release.


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


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2005-09-12 20:10 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20020909155601.7874.gdr@nerim.net>
2003-06-08 18:48 ` [Bug c++/7874] [3.3/3.4 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace pinskia@physics.uc.edu
2003-07-11 22:36 ` mmitchel at gcc dot gnu dot org
2003-07-15 13:16 ` pinskia at physics dot uc dot edu
2003-10-16  2:22 ` mmitchel at gcc dot gnu dot org
2003-12-28  4:36 ` pinskia at gcc dot gnu dot org
2003-12-28  5:06 ` pinskia at gcc dot gnu dot org
2004-01-14 12:55 ` steven at gcc dot gnu dot org
2004-01-14 16:55 ` mark at codesourcery dot com
2004-01-14 16:58 ` mmitchel at gcc dot gnu dot org
2004-01-14 17:03 ` giovannibajo at libero dot it
2004-01-14 17:10 ` mark at codesourcery dot com
2004-01-29  6:05 ` [Bug c++/7874] [3.3/3.4/3.5 " pinskia at gcc dot gnu dot org
2004-08-12  0:58 ` pinskia at gcc dot gnu dot org
2004-10-17 14:41 ` [Bug c++/7874] [3.3/3.4/4.0 " lerdsuwa at gcc dot gnu dot org
2004-11-28  5:38 ` lerdsuwa at gcc dot gnu dot org
2004-12-20  1:17 ` pinskia at gcc dot gnu dot org
2005-04-21  4:58 ` [Bug c++/7874] [3.3/3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
2005-07-08  1:36 ` [Bug c++/7874] [3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
2005-09-12 19:55 ` cvs-commit at gcc dot gnu dot org
2005-09-12 20:10 ` ian at airs dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).