blob: 23f3537c74555a50ccd36b7482c4a672c39b2f1f [file] [log] [blame]
// PR c++/27601
// Origin: Patrik Hägglund <patrik.hagglund@bredband.net>
// { dg-do compile }
// { dg-options "-Wno-pointer-arith" }
struct bar {
static int foo;
static int baz();
};
int a = __builtin_offsetof(bar, foo); // { dg-error "static data member" }
int av = __builtin_offsetof(volatile bar, foo); // { dg-error "static data member" }
int b = __builtin_offsetof(bar, baz); // { dg-error "member function" }
int b0 = __builtin_offsetof(bar, baz[0]); // { dg-error "single identifier nor|member function" }
int bv0 = __builtin_offsetof(volatile bar, baz[0]); // { dg-error "function" }
int c = __builtin_offsetof(bar, ~bar); // { dg-error "member function" }
typedef int I;
enum E { };
int d = __builtin_offsetof(I, ~I); // { dg-error "destructor" }
int e = __builtin_offsetof(E, ~E); // { dg-error "destructor" }