view gcc/testsuite/g++.dg/opt/pr83608.C @ 131:84e7813d76e9

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

// PR middle-end/83608
// { dg-do compile }
// { dg-options "-O2" }

template <typename> class B;
template <> struct B<float>
{
  float foo () { return __real__ b; }
  _Complex double b;
};

void bar (int);

template <class T>
void
baz ()
{
  B<T> h;
  T *a = (T *) &h;
  a[0] = a[1] = 6;
  h.foo () ? void () : bar (7);
}

int
main ()
{
  baz<float> ();
}