view gcc/testsuite/g++.old-deja/g++.robertl/eb26.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do run  }
//
// egcs-2.90.06
// cannot declare friend of enclosing class using its scope, works fine
// without scope or for definition of foo::bar::f
//

class foo
{
public:
  static int f();
  class bar {
    friend int foo::f();
//  friend int f();
    static int x;
  public:
    static int f() {return foo::f();}
   };
};

int foo::bar::x;

int foo::f() {
  return bar::x;
}

int
main ()
{
  return foo::bar::f ();
}