summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.abi/primary5.C
blob: 07ea2d7d8e303fd2fb29f25c53b4983c8620a785 (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
32
33
34
35
36
37
// { dg-do run  }
// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 4 February 2001 <nathan@codesourcery.com>

// Check primary bases are chosen correctly.

struct A1
{
   virtual void Foo () {}
};

struct A : A1
{
};

struct B : A
{
};

struct C : virtual B
{
};

struct D : virtual B, virtual C
{
};

int main()
{
  D d;
#if __GXX_ABI_VERSION >= 100
  if (sizeof (D) != sizeof (A))
    return 1;
#endif

  return 0;
}