]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGenCXX/virtual-functions-incomplete-types.cpp
Vendor import of clang 3.9.0 release r280324:
[FreeBSD/FreeBSD.git] / test / CodeGenCXX / virtual-functions-incomplete-types.cpp
1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
2
3 struct A;
4
5 struct B {
6   virtual void f();
7   virtual A g();
8 };
9
10 void B::f() { }
11
12 // CHECK-LABEL: define i32 @_ZN1D1gEv(%struct.D* %this)
13 // CHECK: declare void @_ZN1B1gEv()
14
15 struct C;
16
17 struct D {
18   virtual void f();
19   virtual C g();
20 };
21
22 void D::f() { }
23
24 struct C {
25   int a;
26 };
27
28 C D::g() {
29   return C();
30 }