aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-18 23:42:55 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-18 23:42:55 +0000
commitc2c0d562bb1d03501433b450bb97df7812598d4c (patch)
treea1e2adb29d8711df3d49b5e24fa0564e30482990
parent8c69235d21dfb067efb530a8cf1f35d633394270 (diff)
Test for r91724.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91730 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGenCXX/virtual-base-ctor.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGenCXX/virtual-base-ctor.cpp b/test/CodeGenCXX/virtual-base-ctor.cpp
new file mode 100644
index 0000000000..2d81ebd3a4
--- /dev/null
+++ b/test/CodeGenCXX/virtual-base-ctor.cpp
@@ -0,0 +1,11 @@
+// RUN: %clang_cc1 %s -emit-llvm -o - -O2 | FileCheck %s
+
+struct B;
+extern B x;
+char y;
+typedef __typeof(sizeof(int)) size_t;
+struct A { int a; A() { y = ((size_t)this - (size_t)&x) / sizeof(void*); } };
+struct B : virtual A { void* x; };
+B x;
+
+// CHECK: @y = global i8 2