OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.dg/] [opt/] [static3.C] - Diff between revs 154 and 816

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

Rev 154 Rev 816
// { dg-do link }
// { dg-do link }
// { dg-options "-O2" }
// { dg-options "-O2" }
class Foo {
class Foo {
public:
public:
  // No out-of-class definition is provided for these class members.
  // No out-of-class definition is provided for these class members.
  // That's technically a violation of the standard, but no diagnostic
  // That's technically a violation of the standard, but no diagnostic
  // is required, and, as a QOI issue, we should optimize away all
  // is required, and, as a QOI issue, we should optimize away all
  // references.
  // references.
  static const int erf = 0;
  static const int erf = 0;
  static const int foo = 1;
  static const int foo = 1;
};
};
int one()
int one()
{
{
  return Foo::foo;
  return Foo::foo;
}
}
int two()
int two()
{
{
  return Foo::foo + Foo::erf;
  return Foo::foo + Foo::erf;
}
}
int three(int x)
int three(int x)
{
{
  return x ? Foo::erf : Foo::foo;
  return x ? Foo::erf : Foo::foo;
}
}
int i;
int i;
int main ()
int main ()
{
{
  one ();
  one ();
  two ();
  two ();
  three (i);
  three (i);
}
}
 
 

powered by: WebSVN 2.1.0

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