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