Home | History | Annotate | Line # | Download | only in gdb.cp
ambiguous.cc revision 1.1.1.1
      1 
      2 void marker1()
      3 {
      4   return;
      5 }
      6 
      7 class A1 {
      8 public:
      9   int x;
     10   int y;
     11 };
     12 
     13 class A2 {
     14 public:
     15   int x;
     16   int y;
     17 };
     18 
     19 class A3 {
     20 public:
     21   int x;
     22   int y;
     23 };
     24 
     25 class X : public A1, public A2 {
     26 public:
     27   int z;
     28 };
     29 
     30 class L : public A1 {
     31 public:
     32   int z;
     33 };
     34 
     35 class LV : public virtual A1 {
     36 public:
     37   int z;
     38 };
     39 
     40 class M : public A2 {
     41 public:
     42   int w;
     43 };
     44 
     45 class N : public L, public M {
     46 public:
     47   int r;
     48 };
     49 
     50 class K : public A1 {
     51 public:
     52   int i;
     53 };
     54 
     55 class KV : public virtual A1 {
     56 public:
     57   int i;
     58 };
     59 
     60 class J : public K, public L {
     61 public:
     62   int j;
     63 };
     64 
     65 class JV : public KV, public LV {
     66 public:
     67   int jv;
     68 };
     69 
     70 class JVA1 : public KV, public LV, public A1 {
     71 public:
     72   int jva1;
     73 };
     74 
     75 class JVA2 : public KV, public LV, public A2 {
     76 public:
     77   int jva2;
     78 };
     79 
     80 class JVA1V : public KV, public LV, public virtual A1 {
     81 public:
     82   int jva1v;
     83 };
     84 
     85 int main()
     86 {
     87   A1 a1;
     88   A2 a2;
     89   A3 a3;
     90   X x;
     91   L l;
     92   M m;
     93   N n;
     94   K k;
     95   J j;
     96   JV jv;
     97   JVA1 jva1;
     98   JVA2 jva2;
     99   JVA1V jva1v;
    100 
    101   int i;
    102 
    103   i += k.i + m.w + a1.x + a2.x + a3.x + x.z + l.z + n.r + j.j;
    104 
    105   marker1();
    106 
    107 }
    108 
    109 
    110 
    111