// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -fsyntax-only -std=c++11 -verify %s -Winvalid-offsetof | |
struct NonPOD { | |
virtual void f(); | |
int m; | |
}; | |
struct P { | |
NonPOD fieldThatPointsToANonPODType; | |
}; | |
void f() { | |
int i = __builtin_offsetof(P, fieldThatPointsToANonPODType.m); // expected-warning{{offset of on non-standard-layout type 'P'}} | |
} | |
struct StandardLayout { | |
int x; | |
StandardLayout() {} | |
}; | |
int o = __builtin_offsetof(StandardLayout, x); // no-warning |