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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.jason/] [operator.C] - Diff between revs 305 and 338

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 305 Rev 338
// { dg-do assemble  }
// { dg-do assemble  }
// { dg-options "" }
// { dg-options "" }
// General test for operator overloading permissiveness.
// General test for operator overloading permissiveness.
typedef __SIZE_TYPE__ size_t;
typedef __SIZE_TYPE__ size_t;
struct A {
struct A {
  int operator?:(int a, int b);    // { dg-error "expected type-specifier" }
  int operator?:(int a, int b);    // { dg-error "expected type-specifier" }
  static int operator()(int a);    // { dg-error "must be a nonstatic member" }
  static int operator()(int a);    // { dg-error "must be a nonstatic member" }
  static int operator+(A,A);       // { dg-error "either a non-static member" }
  static int operator+(A,A);       // { dg-error "either a non-static member" }
  int operator+(int a, int b = 1); // { dg-error "either zero or one" }
  int operator+(int a, int b = 1); // { dg-error "either zero or one" }
  int operator++(char);            // { dg-error "must take 'int'" }
  int operator++(char);            // { dg-error "must take 'int'" }
  void operator delete (void *);
  void operator delete (void *);
  void operator delete (void *, unsigned long);
  void operator delete (void *, unsigned long);
};
};
struct B {
struct B {
  void * operator new (size_t, void *);
  void * operator new (size_t, void *);
  int operator++(int = 0);
  int operator++(int = 0);
  int operator+ (int);
  int operator+ (int);
  void operator()();
  void operator()();
  char * operator[](int);
  char * operator[](int);
  B * operator->();
  B * operator->();
};
};
int operator-(int a, int b);    // { dg-error "argument of class or" }
int operator-(int a, int b);    // { dg-error "argument of class or" }
void * operator new (A a);      // { dg-error "first parameter" }
void * operator new (A a);      // { dg-error "first parameter" }
void operator delete (A a);     // { dg-error "first parameter" }
void operator delete (A a);     // { dg-error "first parameter" }
char * operator char * (int);   // { dg-error "return type" "ret" }
char * operator char * (int);   // { dg-error "return type" "ret" }
// { dg-error "nonstatic member function" "mem" { target *-*-* } 31 }
// { dg-error "nonstatic member function" "mem" { target *-*-* } 31 }
 
 

powered by: WebSVN 2.1.0

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