27 lines
436 B
C
27 lines
436 B
C
// 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" }
|
|
}
|
|
|