Re: cint problems/changes in head

From: Constantin Loizides <loizides_at_mit.edu>
Date: Mon, 19 Feb 2007 17:29:42 -0500


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: 114824520
Received 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