offsetof.cpp revision a5728872c7702ddd09537c95bc3cbd20e1f2fb09
1// RUN: %clang_cc1 -fsyntax-only -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-POD type 'struct P'}} 14} 15 16struct Base { int x; }; 17struct Derived : Base { int y; }; 18int o = __builtin_offsetof(Derived, x); // expected-warning{{offset of on non-POD type}} 19 20const int o2 = sizeof(__builtin_offsetof(Derived, x)); 21