view gcc/testsuite/g++.dg/opt/pr95080.C @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
line wrap: on
line source

// PR debug/95080
// { dg-do compile }
// { dg-options "-Og -fcse-follow-jumps -fnon-call-exceptions -fcompare-debug" }

char *a;

void baz ();

static inline bool
bar ()
{
  int j = a[0] - 1;
  switch (j)
    {
    case 0:
    case 2:
      return true;
    default:
      return false;
    }
}

static inline bool
foo ()
{
  if (bar ())
    baz ();
  return 0;
}

struct S
{
  int h;
   ~S ();
};

S::~S ()
{
  if (a[0] == 0)
    foo () != h;
}