view gcc/testsuite/g++.old-deja/g++.jason/ref10.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  }
// Test that conversion from D* to B*& works properly.

extern "C" int printf (const char *, ...);

struct V {
  int a;
};

struct B: virtual V {
  int b;
};

struct D: B {
  int c;
};

V* gp = 0;

void foo(V * const &r) {
  gp = r;
}

int bar(V *r) {
  return (r != gp);
}

int main() {
  D *p = new D;
  foo(p);
  return bar(p);
}