1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 %s -emit-llvm -o - -O2 | FileCheck %s 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct B; 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoextern B x; 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaochar y; 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef __typeof(sizeof(int)) size_t; 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct A { int a; A() { y = ((size_t)this - (size_t)&x) / sizeof(void*); } }; 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct B : virtual A { void* x; }; 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei LiaoB x; 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// CHECK: @y = global i8 2 12