summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/virtual11.C
blob: 8b46dc7542126b1f692dd5ad6e2f2a3faf810e2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// { dg-do assemble  }

// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 14 Nov 2000 <nathan@codesourcery.com>

// We failed to check virtual functions hidden by using declarations.

struct A
{
  virtual int foo ();
};

struct B
{
  virtual void foo ();  // { dg-error "" } of this function
};

struct C : A , B
{
};

struct D : C
{
  void foo (short);
  using A::foo;
};

struct E : D
{
  virtual int foo ();   // { dg-error "" } invalid override
};