blob: 610d919c1af1ce457389aacd30a355582ba56156 [file] [log] [blame]
Benjamin Kramer98f71aa2012-04-28 11:14:51 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -fsyntax-only -std=c++11 -verify %s -Winvalid-offsetof
2
3struct NonPOD {
4 virtual void f();
5 int m;
6};
7
8struct P {
9 NonPOD fieldThatPointsToANonPODType;
10};
11
12void f() {
13 int i = __builtin_offsetof(P, fieldThatPointsToANonPODType.m); // expected-warning{{offset of on non-standard-layout type 'P'}}
14}
15
16struct StandardLayout {
17 int x;
18 StandardLayout() {}
19};
20int o = __builtin_offsetof(StandardLayout, x); // no-warning