Rene,
while I understand your very good reasons to improve the performance for everybody, I dislike the way decisions are taken that break compatibility with existing (even if badly designed) code.
Of course, I know that I can omit the offending functions from the cint interface, but what if I dont want to? Another thing is that I did not check yet are all macros that are in place: I assume that if I am using more than 20 parameters in a macro function, one cannot compile that macro either? (20 is not so much for a macro that typically are never well designed, but I enforce at least that people compile them).
How about having G__MAXFUNCPARA be adjustable at ROOT config time?
Constantin
Rene Brun wrote:
> Constantin,
>
> Yes, today I decreased a parameter in CINT (G__MAXFUNCPARA) from 40 to 20.
> It turns out that accepting functions up to 40 parameters in the
> interactive interface
> was penalizing everybody else designing good interfaces with less
> parameters.
> The cost in memory was totally prohibitive giving the current structure
> of CINT with
> some fixed length dimensions in the area describing functions arguments.
>
> The solution to this problem is simple. Add the statement
> #ifndef __CINT__
> void myfunction with more 20 arguments
> #endif
> in the section of your header files declaring the prototypes of such
> functions.
>
> Rene Brun
>
>
> Constantin Loizides wrote:
>> Hi all, >> >> it seems there have been some changes to the cint interface in head. >> Compiling our reconstruction code I get after today's update the >> errors of the following kind: >> >> Limitation: cint can not accept more than 20 function arguments >> phatmul/TPhPadMap.h:87: >> Limitation: cint can not accept more than 20 function arguments >> phatmul/TPhCentInfo.h:71: >> Limitation: cint can not accept more than 20 function arguments >> phatmul/TPhCentInfo.h:124: >> Limitation: cint can not accept more than 20 function arguments >> phatmul/TPhCentInfo.h:198: >> build/depend.sh phatmul/G__phatmul.d "--ansi -Wall -Wno-long-long >> -DPHAT2 -Df2cFortran -D_GNU_SOURCE -Iinclude >> -I/opt/root/root_head/include -I/lib/prec_stl -I/stl" >> phatmul/G__phatmul.cxx > phatmul/G__phatmul.d >> g++ -g -I. --ansi -Wall -Wno-long-long -DPHAT2 -Df2cFortran >> -D_GNU_SOURCE -Iinclude -I/opt/root/root_head/include -o >> phatmul/G__phatmul.o -c phatmul/G__phatmul.cxx >> >> Anything one can do about this? >> >> Constantin >>
-- Tel: +1-617-8301823 (SkypeIn) Skype: loizides AOL: ConLoi / ICQ: 114824520Received on Mon Feb 19 2007 - 23:32:39 CET
This archive was generated by hypermail 2.2.0 : Tue Feb 20 2007 - 05:50:01 CET