// Contributed by Dodji Seketeli <dodji@redhat.com> | |
// Origin PR c++/38699 | |
// { dg-do compile } | |
template<class T> | |
struct A | |
{ | |
const T *p; | |
}; | |
struct B | |
{ | |
A<int> a; | |
}; | |
template class A<char>; | |
void | |
f0 () | |
{ | |
__builtin_offsetof(A<char>, p); // OK | |
__builtin_offsetof(A<char>, p[1]); // { dg-error "non constant address" } | |
__builtin_offsetof(B, a.p); // OK | |
__builtin_offsetof(B, a.p[1]); // { dg-error "non constant address" } | |
} | |