Skip to content

Commit

Permalink
Add tests from the Itanium C++ ABI spec.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96586 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
Anders Carlsson committed Feb 18, 2010
1 parent b14164b commit 22668a0
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions test/CodeGenCXX/vtable-layout-abi-examples.cpp
@@ -0,0 +1,25 @@
// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm-only -fdump-vtable-layouts 2>&1 | FileCheck %s

/// Examples from the Itanium C++ ABI specification.
/// http://www.codesourcery.com/public/cxx-abi/

namespace Test1 {

// This is from http://www.codesourcery.com/public/cxx-abi/cxx-vtable-ex.html

// CHECK: Vtable for 'Test1::A' (5 entries).
// CHECK-NEXT: 0 | offset_to_top (0)
// CHECK-NEXT: 1 | Test1::A RTTI
// CHECK-NEXT: -- (Test1::A, 0) vtable address --
// CHECK-NEXT: 2 | void Test1::A::f()
// CHECK-NEXT: 3 | void Test1::A::g()
// CHECK-NEXT: 4 | void Test1::A::h()
struct A {
virtual void f ();
virtual void g ();
virtual void h ();
int ia;
};
void A::f() {}

}

0 comments on commit 22668a0

Please sign in to comment.