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