blob: 4937b037de536a48216fd33f1a4d9fc4432eb256 [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin9 | FileCheck %s
Eli Friedman2adc9ab2009-11-27 04:56:40 +00002
3struct A { int a; };
4struct B { int b; };
5struct C : B, A { };
6
7int A::*pa;
8int C::*pc;
9
10void f() {
11 // CHECK: store i64 -1, i64* @pa
12 pa = 0;
13
14 // CHECK: [[ADJ:%[a-zA-Z0-9\.]+]] = add i64 {{.*}}, 4
15 // CHECK: store i64 [[ADJ]], i64* @pc
16 pc = pa;
17
18 // CHECK: [[ADJ:%[a-zA-Z0-9\.]+]] = sub i64 {{.*}}, 4
19 // CHECK: store i64 [[ADJ]], i64* @pa
20 pa = static_cast<int A::*>(pc);
21}