1*67e74705SXin Li // RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - -O2 | opt - -S -globalopt -o - | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li struct B; 4*67e74705SXin Li extern B x; 5*67e74705SXin Li char y; 6*67e74705SXin Li typedef __typeof(sizeof(int)) size_t; AA7*67e74705SXin Listruct A { int a; A() { y = ((size_t)this - (size_t)&x) / sizeof(void*); } }; 8*67e74705SXin Li struct B : virtual A { void* x; }; 9*67e74705SXin Li B x; 10*67e74705SXin Li 11*67e74705SXin Li // CHECK: @y = local_unnamed_addr global i8 2 12