blob: 9303bdaba8bc50ea35212ede28ca0ed9d778c872 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
Anders Carlsson696798f2009-07-27 17:10:54 +00002
Anders Carlsson68e30132010-05-05 05:47:36 +00003// An extra byte should be allocated for an empty class.
Anders Carlssonc2456822009-12-08 01:24:23 +00004// CHECK: %struct.A = type { i8 }
Anders Carlsson696798f2009-07-27 17:10:54 +00005struct A { } a;
Anders Carlssonc2456822009-12-08 01:24:23 +00006
7// No need to add tail padding here.
8// CHECK: %struct.B = type { i8*, i32 }
9struct B { void *a; int b; } b;
Anders Carlsson4b3e5be2009-12-16 17:27:20 +000010
11// C should have a vtable pointer.
Anders Carlsson68e30132010-05-05 05:47:36 +000012// CHECK: %struct.C = type { i32 (...)**, i32 }
Anders Carlsson4b3e5be2009-12-16 17:27:20 +000013struct C { virtual void f(); int a; } *c;