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/] [inline1.C] - Diff between revs 301 and 384

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

Rev 301 Rev 384
// PR c++/6316
// PR c++/6316
// This testcase ICEd because when deferred bar()::F::F() was being
// This testcase ICEd because when deferred bar()::F::F() was being
// expanded, containing bar() was still deferred and had DECL_EXTERNAL set
// expanded, containing bar() was still deferred and had DECL_EXTERNAL set
// (and DECL_NOT_REALLY_EXTERN too).
// (and DECL_NOT_REALLY_EXTERN too).
// { dg-do compile }
// { dg-do compile }
// { dg-options "-O3" }
// { dg-options "-O3" }
struct A { ~A() throw() {} };
struct A { ~A() throw() {} };
template struct B { U a; B(const T *); };
template struct B { U a; B(const T *); };
typedef B C;
typedef B C;
struct D { D(); };
struct D { D(); };
struct E { virtual ~E(); };
struct E { virtual ~E(); };
E *bar ();
E *bar ();
void
void
foo ()
foo ()
{
{
  E *a = bar ();
  E *a = bar ();
}
}
extern char *z [];
extern char *z [];
E *
E *
bar ()
bar ()
{
{
  struct F : public E
  struct F : public E
  {
  {
    F ()
    F ()
    {
    {
      for (int i = 0; i < 2; i++)
      for (int i = 0; i < 2; i++)
        C e = z[i];
        C e = z[i];
    }
    }
    D x, y;
    D x, y;
  };
  };
  return new F ();
  return new F ();
}
}
int
int
main ()
main ()
{
{
  foo ();
  foo ();
}
}
 
 

powered by: WebSVN 2.1.0

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