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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [ctors2.C] - Diff between revs 149 and 154

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

Rev 149 Rev 154
// { dg-do run  }
// { dg-do run  }
// GROUPS passed constructors
// GROUPS passed constructors
// Message-Id: 
// Message-Id: 
// Date: Fri, 10 Dec 93 11:33 EST
// Date: Fri, 10 Dec 93 11:33 EST
// From: neal@ctd.comsat.com (Neal Becker)
// From: neal@ctd.comsat.com (Neal Becker)
// Subject: serious problems with static constructors
// Subject: serious problems with static constructors
#include 
#include 
#include 
#include 
#include 
#include 
#define CONST const
#define CONST const
class Sig {
class Sig {
public:
public:
  enum Type { Byte_t, Word_t, Long_t, Float_t, Double_t, Complex_t, ComplexLong_t, Bad_t };
  enum Type { Byte_t, Word_t, Long_t, Float_t, Double_t, Complex_t, ComplexLong_t, Bad_t };
private:
private:
  Type T;
  Type T;
public:
public:
  static CONST char *ByteMagic, *WordMagic, *LongMagic,
  static CONST char *ByteMagic, *WordMagic, *LongMagic,
    *FloatMagic, *DoubleMagic, *ComplexMagic, *ComplexLongMagic, *BadMagic;
    *FloatMagic, *DoubleMagic, *ComplexMagic, *ComplexLongMagic, *BadMagic;
  struct SigTable {
  struct SigTable {
    Type T;
    Type T;
    CONST char* Magic;
    CONST char* Magic;
  };
  };
  static CONST SigTable sigTable[];
  static CONST SigTable sigTable[];
};
};
CONST char
CONST char
*Sig::ByteMagic = "BYTE",
*Sig::ByteMagic = "BYTE",
*Sig::WordMagic = "WORD",
*Sig::WordMagic = "WORD",
*Sig::LongMagic = "LONG",
*Sig::LongMagic = "LONG",
*Sig::FloatMagic = "FLOA",
*Sig::FloatMagic = "FLOA",
*Sig::DoubleMagic = "DOUB",
*Sig::DoubleMagic = "DOUB",
*Sig::ComplexMagic = "COMP",
*Sig::ComplexMagic = "COMP",
*Sig::ComplexLongMagic = "CMPL",
*Sig::ComplexLongMagic = "CMPL",
*Sig::BadMagic = NULL;
*Sig::BadMagic = NULL;
CONST Sig::SigTable Sig::sigTable[] = {
CONST Sig::SigTable Sig::sigTable[] = {
  { Byte_t, ByteMagic },
  { Byte_t, ByteMagic },
  { Word_t, WordMagic },
  { Word_t, WordMagic },
  { Long_t, LongMagic },
  { Long_t, LongMagic },
  { Float_t, FloatMagic },
  { Float_t, FloatMagic },
  { Double_t, DoubleMagic },
  { Double_t, DoubleMagic },
  { Complex_t, ComplexMagic },
  { Complex_t, ComplexMagic },
  { ComplexLong_t, ComplexLongMagic },
  { ComplexLong_t, ComplexLongMagic },
  { Bad_t, BadMagic }
  { Bad_t, BadMagic }
};
};
int main() {
int main() {
  if (strcmp (Sig::sigTable[0].Magic, "BYTE")
  if (strcmp (Sig::sigTable[0].Magic, "BYTE")
      || strcmp (Sig::sigTable[1].Magic, "WORD")
      || strcmp (Sig::sigTable[1].Magic, "WORD")
      || strcmp (Sig::sigTable[2].Magic, "LONG")
      || strcmp (Sig::sigTable[2].Magic, "LONG")
      || strcmp (Sig::sigTable[3].Magic, "FLOA")
      || strcmp (Sig::sigTable[3].Magic, "FLOA")
      || strcmp (Sig::sigTable[4].Magic, "DOUB")
      || strcmp (Sig::sigTable[4].Magic, "DOUB")
      || strcmp (Sig::sigTable[5].Magic, "COMP"))
      || strcmp (Sig::sigTable[5].Magic, "COMP"))
    { printf ("FAIL\n"); return 1; }
    { printf ("FAIL\n"); return 1; }
  else
  else
    printf ("PASS\n");
    printf ("PASS\n");
}
}
 
 

powered by: WebSVN 2.1.0

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