131ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh// { dg-do run  }
231ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh// GROUPS passed operators
331ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh// opr-new file
431ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh// From: (The Crossjammer) <xjam@cork.cs.berkeley.edu>
531ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh// Date:     Mon, 23 Nov 92 23:35:26 PST
631ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh// Subject:  g++-2.3.1 : Incorrectly calls overloaded operator new
731ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh// Message-ID: <9211240735.AA06872@cork.CS.Berkeley.EDU>
831ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
931ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
1031ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh#include <stdio.h>
1131ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh#include <stdlib.h>
1231ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
1331ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsiehclass blah {
1431ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     int j;
1531ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh   public:
1631ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     blah();
1731ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     void *operator new(size_t size) throw();
1831ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh};
1931ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
2031ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsiehinline blah::blah() : j(0) {
2131ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
2231ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh}
2331ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
2431ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
2531ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsiehvoid *blah::operator new(size_t size) throw(){
2631ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     printf ("FAIL\n");
2731ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     exit (1);
2831ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     return NULL;
2931ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh}
3031ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
3131ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsiehint main(int arg, char** argv) {
3231ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     blah* blahPtr;
3331ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh
3431ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     blahPtr = new blah[100];
3531ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh     printf ("PASS\n");
3631ad4de047c50cddfc3072be3a82232c53f1ca2dAndrew Hsieh}
37