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++.dg/] [ext/] [asmspecValid.C] - Diff between revs 149 and 154

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

Rev 149 Rev 154
// tests that the asm directive is correctly handled for static fields
// tests that the asm directive is correctly handled for static fields
// in structures and classes.  This only applies to C++; such
// in structures and classes.  This only applies to C++; such
// directives generate errors in C.  Assembler directives for local
// directives generate errors in C.  Assembler directives for local
// variables should be tested by the C test suite.
// variables should be tested by the C test suite.
//
//
// Contributed by Robert Bowdidge (bowdidge@apple.com) 14 Oct 2003
// Contributed by Robert Bowdidge (bowdidge@apple.com) 14 Oct 2003
// { dg-do compile }
// { dg-do compile }
struct Foo {
struct Foo {
  // This should reference a variable called bar
  // This should reference a variable called bar
  static int i __asm__("bar");
  static int i __asm__("bar");
};
};
class Bar {
class Bar {
public:
public:
  static int i __asm__("theRealI");
  static int i __asm__("theRealI");
  static int j __asm__("theRealJ");
  static int j __asm__("theRealJ");
  int boof;
  int boof;
};
};
class Baz : public Bar {
class Baz : public Bar {
public:
public:
   static char *ptr __asm__ ("theRealString");
   static char *ptr __asm__ ("theRealString");
};
};
int main (int argc, char **argv) {
int main (int argc, char **argv) {
  struct Foo myFoo;
  struct Foo myFoo;
  Bar b;
  Bar b;
  myFoo.i = 1;
  myFoo.i = 1;
  Foo::i = 2;
  Foo::i = 2;
  Baz::j = 10;
  Baz::j = 10;
  Baz::ptr = 0;
  Baz::ptr = 0;
  b.i = 1;
  b.i = 1;
  return (b.i);
  return (b.i);
}
}
/* { dg-final {scan-assembler "bar"} } */
/* { dg-final {scan-assembler "bar"} } */
/* { dg-final {scan-assembler "theRealString"} } */
/* { dg-final {scan-assembler "theRealString"} } */
/* { dg-final {scan-assembler "theRealI" } } */
/* { dg-final {scan-assembler "theRealI" } } */
/* { dg-final {scan-assembler "theRealJ" } } */
/* { dg-final {scan-assembler "theRealJ" } } */
 
 

powered by: WebSVN 2.1.0

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