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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [opt/] [static3.C] - Rev 693

Compare with Previous | Blame | View Log

// { dg-do link }
// { dg-options "-O2" }

class Foo {
public:
  // No out-of-class definition is provided for these class members.
  // That's technically a violation of the standard, but no diagnostic
  // is required, and, as a QOI issue, we should optimize away all
  // references.
  static const int erf = 0;
  static const int foo = 1;
};

int one()
{
  return Foo::foo;
}

int two()
{
  return Foo::foo + Foo::erf;
}

int three(int x)
{
  return x ? Foo::erf : Foo::foo;
}

int i;

int main ()
{
  one ();
  two ();
  three (i);
}

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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