// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm-only -O3
// Check that we don't assert on this case.
namespaceTest1{structIncomplete;structA{virtualvoidf();virtualvoidg(Incomplete);virtualvoidh();virtualvoidi();int a;};structB{virtualvoidf();virtualvoidg(Incomplete);virtualvoidh();virtualvoidi();int b;};structC:A,B{C();virtualvoidf();virtualvoidg(Incomplete);virtualvoidh();virtualvoidi();};voidC::h(){}C::C(){}voidC::i(){}}namespaceTest2{structA{virtualvoidf();int a;};structB{virtualvoidf();int b;};structC:A,B{virtualvoidf();};staticvoidf(B*b){
b->f();}}// Test that we don't assert.
namespaceTest3{structA{virtual~A();int a;};structB:A{};structC:virtualB{};voidf(){
C c;}}