view gcc/testsuite/g++.dg/other/offsetof9.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
line wrap: on
line source

// PR c++/68727
// { dg-do compile }
// { dg-options "-Winvalid-offsetof" }

struct A { int i; };
struct B : virtual A { };
__SIZE_TYPE__ s = __builtin_offsetof (B, A::i);	// { dg-warning "offsetof within non-standard-layout type" }

template <typename T>
__SIZE_TYPE__
foo ()
{
  return __builtin_offsetof (T, A::i)		// { dg-warning "offsetof within non-standard-layout type" }
	 + __builtin_offsetof (B, A::i);	// { dg-warning "offsetof within non-standard-layout type" }
}

__SIZE_TYPE__ t = foo<B> ();