aCC/ROOT operator new conflict

From: Martin Woudstra (Martin.Woudstra@cern.ch)
Date: Fri Jan 16 1998 - 12:08:46 MET


Dear rooters,

Compilation with HP/aCC of a C++ file using ROOT routines failes because of a conflict between
two definitions of operator new (on in aCC/new and one in ROOT/TStorage.h):

	aCC -g1 +Z +inst_v +inst_implicit_include -c -I/afs/cern.ch/user/w/woudstra/Clib/include/
-I/afs/cern.ch/user/w/woudstra/public/root/include -c read_rasnik.cpp
Error 607: "/opt/aCC/include/new", line 63 # Unexpected exception
    specification; "void *operator new(unsigned int,void *)" was previously
    declared without an exception specification at
    ["/afs/cern.ch/user/w/woudstra/public/root/include/TStorage.h", line 57]
      inline void* operator new  (size_t size, void* ptr) throw() { return ptr;

Since the aCC definition of operator new is in a section between #ifndef __HPACC_NOEH and #endif
I compiled with the option -D__HPACC_NOEH (to disable exception handling), 
Then I get even worse problems (and does not seem to be a solution):

	aCC -g1 -D__HPACC_NOEH +Z +inst_v +inst_implicit_include -c -I/afs/cern.ch/user/w/woudstra/Clib/include/
-I/afs/cern.ch/user/w/woudstra/public/root/include -c read_rasnik.cpp
Error 328: "/opt/aCC/include/memory", line 464 # Function 'bad_alloc' has not
    been defined yet; cannot call.
      RWSTD_THROW_NO_MSG(tmp == 0, bad_alloc);

Can anybody please help me here? Thanks!

Regards,

Martin.



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:29 MET