summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/crash36.C
blob: 4002ce3af1f3c7a0054efcba4606fc517acaf4d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// { dg-do assemble  }
// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 7 Nov 2000 <nathan@codesourcery.com>

// Bug 573. We ICE'd verifying operator new and operator delete conformed
// to the standard's expectation.

void *operator new (__SIZE_TYPE__); // ok
void operator new (__SIZE_TYPE__);  // { dg-error "" } must return void *
void *operator new ();              // { dg-error "" } must take size_t
void *operator new (char);          // { dg-error "" } must take size_t
void *operator new (__SIZE_TYPE__, ...) throw(); // ok

void operator delete (void *) throw (); // ok
int operator delete (void *) throw ();          // { dg-error "" } must return void
void operator delete () throw ();               // { dg-error "" } must take void *
void operator delete (int *) throw ();          // { dg-error "" } must take void *
void operator delete (void *, __SIZE_TYPE__) throw (); // ok

void operator delete (...) throw ();             // { dg-error "" } must take void *
void operator delete (void *, ...) throw ();     // ok