view gcc/testsuite/g++.dg/ipa/pr61800.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

/* PR ipa/61800 */
/* { dg-do compile } */
/* { dg-require-visibility "" } */
/* { dg-options "-O2 -Wno-return-type" } */

#pragma GCC visibility push(hidden)
class A
{
public:
  unsigned long m_fn1 () const;
};
class B;
class C
{
public:
  ;
  virtual bool m_fn2 (void) = 0;
};
class D
{
  virtual bool m_fn3 (const int &p1, B *p2) = 0;
};
class F : public D
{
  bool m_fn3 (const int &p1, B *p2);
  A mPredicates;
};
class B
{
};
class G : public B
{
  virtual unsigned int m_fn4 () = 0;
};
class H : public G
{
public:
  int txNodeSetContext_aContextNodeSet;
  H (B *p1) {}
  int
  m_fn5 ()
  {
    return mPosition < m_fn4 ();
  }
  unsigned int m_fn4 ();
  unsigned int mPosition;
};

unsigned int a;
C *b;
bool
F::m_fn3 (const int &p1, B *p2)
{
  if (!b->m_fn2 ())
    return false;
  unsigned int c = mPredicates.m_fn1 ();
  for (1; 1 < c; ++a)
    {
      H d (p2);
      while (d.m_fn5 ())
        {
          do
            {
            }
          while (0);
        }
    }
}