view gcc/testsuite/g++.dg/cpp1z/eval-order5.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// PR c++/91974
// { dg-do run }
// { dg-options "-fstrong-eval-order" }

extern "C" void abort ();

bool ok = false;

void
foo (int x)
{
  if (x != 0)
    abort ();
  ok = true;
}

void
bar (int)
{
  abort ();
}

int
main ()
{
  typedef void (*T) (int);
  T fn = foo;
  fn ((fn = bar, 0));
  if (fn != bar || !ok)
    abort ();
}