CINT improvement news

From: Masaharu Goto (gotom@hpyiddq.jpn.hp.com)
Date: Mon Jun 30 1997 - 02:43:33 MEST


Rooters,

 I made a major improvement on CINT C++ interpreter.  

Operator precedence:
  CINT used to have different operator precedence to ANSI standard. This
 part was one of the oldest code which was rather messy. This time, I 
 completely re-write this part with a better implementation. Operator
 precedence should be compliant to the standard now.
 The new version will be copied to CERN soon.


 And next is a question to Rooters about another enhancement.

Operator new:
  I'd like to make an improvement on 'operator new' handling. Before I
 make a change, I'd like to ask ROOT users about my idea.  Now, you can 
 only use default operator new provided by OS and ROOT/CINT.  You could 
 overload operator new, but it is not a simple job. I have following 
 alternatives of future enhancement.

 1) ANSI/ISO standard says there is not default operator new with arena
   argument. Gussing that this is the most popular way of using overloaded
   new, CINT provides embedded operator new with arena argument. With
   this enhancement, a user can write following macro without having his
   own operator new(). 

	 class Txxx;
	 char buf[10000];
         Txxx *p1 = new Txxx;
	 Txxx *p2 = new((void*)buf) Txxx;
	 Txxx *p3 = new((void*)buf) Txxx[10];

 2) Allow user to overload operator new at his one risk. Overloading
   operator new in interpreter environment is simple. But doing so in
   compiled code is not. One has to go throught painful thinking. I
   do not explain in detail , but there is an inevitable reason.

 I prefer to implement 1).  Give me your opinion.

Masaharu Goto



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