view gcc/testsuite/g++.dg/ipa/ipa-pta-2.C @ 131:84e7813d76e9

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

// { dg-do run }
// { dg-options "-O2 -fipa-pta" }

extern "C" void abort (void);

struct Y { ~Y(); int i; };

Y::~Y () {}

static Y __attribute__((noinline)) foo ()
{
  Y res;
  res.i = 3;
  return res;
}

static Y __attribute__((noinline)) bar ()
{
  Y res;
  res.i = 42;
  return res;
}

static Y (*fn) ();

int a;
int main()
{
  if (a)
    fn = foo;
  else
    fn = bar;
  Y res = fn ();
  if (res.i != 42)
    abort ();
  return 0;
}