// GROUPS passed operators
// opr-new file
// From: (The Crossjammer) <xjam@cork.cs.berkeley.edu>
// Date:     Mon, 23 Nov 92 23:35:26 PST
// Subject:  g++-2.3.1 : Incorrectly calls overloaded operator new
// Message-ID: <9211240735.AA06872@cork.CS.Berkeley.EDU>


#include <stdio.h>
#include <stdlib.h>

class blah {
     int j;
   public:
     blah();
     void *operator new(size_t size);
};

inline blah::blah() : j(0) {
	  
}


void *blah::operator new(size_t size) {
     printf ("FAIL\n");
     exit (1);
     return NULL;
}

int main(int arg, char** argv) {
     blah* blahPtr;

     blahPtr = new blah[100];
     printf ("PASS\n");
}
