OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.dg/] [opt/] [nrv15.C] - Diff between revs 301 and 384

Only display areas with differences | Details | Blame | View Log

Rev 301 Rev 384
// PR debug/39086
// PR debug/39086
// { dg-options "-g -O -fno-tree-sra" }
// { dg-options "-g -O -fno-tree-sra" }
struct A { int v; };
struct A { int v; };
A ax;
A ax;
struct B
struct B
{
{
  static A f1 () { return ax; }
  static A f1 () { return ax; }
  static bool f2 ();
  static bool f2 ();
  static A f3 ();
  static A f3 ();
};
};
struct C
struct C
{
{
  A f4 ()
  A f4 ()
  {
  {
    A x;
    A x;
    if (__builtin_expect (this->f6 () < this->f12 (), true))
    if (__builtin_expect (this->f6 () < this->f12 (), true))
      x = B::f1 ();
      x = B::f1 ();
    else
    else
      x = this->f7 ();
      x = this->f7 ();
    return x;
    return x;
  }
  }
  A f5 ()
  A f5 ()
  {
  {
    A y;
    A y;
    if (this->f6 () < this->f12 ())
    if (this->f6 () < this->f12 ())
      y = B::f1 ();
      y = B::f1 ();
    else
    else
      y = this->f7 ();
      y = this->f7 ();
    return y;
    return y;
  }
  }
  void *f6 () const;
  void *f6 () const;
  void *f12 () const;
  void *f12 () const;
  virtual A f7 ();
  virtual A f7 ();
};
};
C *dx;
C *dx;
struct D
struct D
{
{
  C *f8 () const;
  C *f8 () const;
};
};
class E : virtual public D
class E : virtual public D
{
{
  void f11 ();
  void f11 ();
  void f9 ();
  void f9 ();
  void f10 ();
  void f10 ();
};
};
struct G
struct G
{
{
  explicit G ();
  explicit G ();
  operator bool () const;
  operator bool () const;
};
};
void
void
E::f11 (void)
E::f11 (void)
{
{
  A d = B::f3 ();
  A d = B::f3 ();
  d = this->f8 ()->f4 ();
  d = this->f8 ()->f4 ();
}
}
void
void
E::f9 ()
E::f9 ()
{
{
  G c;
  G c;
  if (c)
  if (c)
    {
    {
      const A e = B::f3 ();
      const A e = B::f3 ();
      C * f = this->f8 ();
      C * f = this->f8 ();
      A d = f->f5 ();
      A d = f->f5 ();
      if (B::f2 ())
      if (B::f2 ())
        ;
        ;
      else if (B::f2 ())
      else if (B::f2 ())
        f->f4 ();
        f->f4 ();
    }
    }
}
}
void
void
E::f10 ()
E::f10 ()
{
{
  G c;
  G c;
  if (c)
  if (c)
    {
    {
      const A e = B::f3 ();
      const A e = B::f3 ();
      C * f = this->f8 ();
      C * f = this->f8 ();
      A d = f->f5 ();
      A d = f->f5 ();
      if (B::f2 ())
      if (B::f2 ())
        ;
        ;
      else if (B::f2 ())
      else if (B::f2 ())
        f->f4 ();
        f->f4 ();
    }
    }
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.