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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900107_01.C] - Rev 853

Go to most recent revision | Compare with Previous | Blame | View Log

// { dg-do run  }
// g++ 1.36.1 bug 900107_01

// Unlike GCC and Cfront 2.0, the g++ 1.36.1 compiler gives struct, union,
// and class declarations which are nested within blocks file scope.

// Cfront 2.0 passes this test.

// keywords: block scope, file scope, nested types, tagged types

class c1 { int c1_member1; };
struct s1 { int s1_member1; };
union u1 { int u1_member1; };
enum e1 { e1_val1 };
typedef int t1;

void foo ()
{
  class c1 {                    // { dg-bogus "" } 
    int c1_member1;
  } c1_local_object_0;

  struct s1 {                   // { dg-bogus "" } 
    int s1_member1;
  } s1_local_object_0;

  union u1 {                    // { dg-bogus "" } 
    int u1_member1;
  } u1_local_object_0;

  enum e1 {             // OK using g++ or GCC, but mishandled by Cfront 2.0.
    e1_value1
  } e1_local_object_0;

  typedef int t1;               // OK
}

int main () { return 0; }

Go to most recent revision | 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.