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