brintos

brintos / llvm-project-archived public Read only

0
0
Text · 903 B · 01e4947 Raw
80 lines · cpp
1// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm-only -O32 3// Check that we don't assert on this case.4namespace Test1 {5 6struct Incomplete;7 8struct A {9  virtual void f();10  virtual void g(Incomplete);11  virtual void h();12  virtual void i();13  int a;14};15 16struct B {17  virtual void f();18  virtual void g(Incomplete);19  virtual void h();20  virtual void i();21  int b;22};23 24struct C : A, B {25  C();26 27  virtual void f();28  virtual void g(Incomplete);29  virtual void h();30  virtual void i();31};32 33void C::h() { }34 35C::C() { }36 37void C::i() { }38 39}40 41namespace Test2 {42 43struct A {44  virtual void f();45  int a;46};47 48struct B {49  virtual void f();50  int b;51};52 53struct C : A, B {54  virtual void f();55};56 57static void f(B* b) {58  b->f();59}60 61}62 63// Test that we don't assert.64namespace Test3 {65 66struct A {67  virtual ~A();68 69  int a;70};71 72struct B : A { };73struct C : virtual B { };74 75void f() {76  C c;77}78 79}80