------- 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