view gcc/testsuite/g++.dg/parse/friend7.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
line wrap: on
line source

// PR c++/34488
// { dg-do compile }
// { dg-additional-options "-Wno-return-type" }

struct A
{
  A ();
  ~A ();
  A (const A &);
};

struct B
{
  friend A::A ();
  friend A::~A ();
  friend A::A (const A &);
};

struct C
{
  friend int C ();
  friend int ~C ();		// { dg-error "10:return type" }
  // { dg-error "14:expected qualified name in friend decl" "" { target *-*-* } .-1 }
  friend int C (const C &);
};

struct D
{
  friend int D () {}
  friend int ~D () {}		// { dg-error "10:return type" }
  // { dg-error "14:expected qualified name in friend decl" "" { target *-*-* } .-1 }
  friend int D (const D &) {}
};

struct E
{
  friend A::A () {}		// { dg-error "cannot define member" }
  friend A::~A () {}		// { dg-error "cannot define member" }
  friend A::A (const A &) {}	// { dg-error "cannot define member" }
};