This is the mail archive of the gcc-bugs@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]

[Bug c++/33468] C++: Invalid interpretation of friendness with nested classes



------- Comment #1 from bangerth at dealii dot org  2007-09-18 18:59 -------
Confirmed.

A simpler to understand testcase is this one (all crud removed):
-----------------
class A {
    class B { };
    friend class X;
};
class X {
    A::B mx;
    class Y : A::B {
        A::B my;
    };
};
----------------
It shouldn't compile because X::Y is not a friend and therefore can't
access A::B in the declaration of 'my', as noted in 11.4/2.

This is a regression introduced in gcc 4.0.x. We get the correct error
in everything leading up to 4.0.3, but not any more in 4.0.4. This
may help figure out which patch is at fault...

W.


-- 

bangerth at dealii dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bangerth at dealii dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |accepts-invalid
      Known to fail|                            |4.0.4 4.1.0 4.2.0
      Known to work|                            |3.3.5 3.4.6 4.0.0 4.0.2
                   |                            |4.0.3
   Last reconfirmed|0000-00-00 00:00:00         |2007-09-18 18:59:43
               date|                            |


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


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