Re: problem after recent upgrade to CINT 60010024

From: Constantin Loizides <loizides_at_MIT.EDU>
Date: Tue, 16 Oct 2007 18:47:06 +0200


Hi Axel,
no problem, it will again allow me to use head which is why I need it.

Constantin

Axel Naumann wrote:

> Hi,
> 
> I can reproduce this problem; I'm currently debugging it. The solution
> will not make it into the release though :-/ Sorry about that.
> 
> Cheers, Axel.
> 
> Constantin Loizides wrote:

>> Hi,
>>
>> I just updated ROOT head and therefore got the CINT changes
>> from middle of September 60010024. However, compilations
>> breaks (without modification of my code that worked with
>> earlier head version) at
>>
>> loizides_at_mitlapi:/opt/phobos/PhatII$ make
>> g++ -g -I. --ansi -Wall -Wno-long-long -DPHAT2 -Df2cFortran
>> -D_GNU_SOURCE -Iinclude -I/opt/root/root_head/include -o dat/G__dat.o -c
>> dat/G__dat.cxx
>> dat/G__dat.cxx: In function ‘int G__G__dat_108_0_15(G__value*, const
>> char*, G__param*, int)’:
>> dat/G__dat.cxx:11494: error: ‘TPhKeyPtr<TPhTopology>’ is not a template
>> dat/G__dat.cxx: In function ‘int G__G__dat_866_0_15(G__value*, const
>> char*, G__param*, int)’:
>> dat/G__dat.cxx:33991: error: ‘TPhKeyPtr<TPhTopology>’ is not a template
>> dat/G__dat.cxx: In function ‘int G__G__dat_868_0_15(G__value*, const
>> char*, G__param*, int)’:
>> dat/G__dat.cxx:34253: error: ‘TPhKeyPtr<TPhTopology>’ is not a template
>> dat/G__dat.cxx: In function ‘int G__G__dat_870_0_15(G__value*, const
>> char*, G__param*, int)’:
>> dat/G__dat.cxx:34515: error: ‘TPhKeyPtr<TPhTopology>’ is not a template
>> dat/G__dat.cxx: In function ‘int G__G__dat_889_0_15(G__value*, const
>> char*, G__param*, int)’:
>> dat/G__dat.cxx:37864: error: ‘TPhKeyPtr<TPhTopology>’ is not a template
>>
>> Looking at the generated code it is easy to spot the "mistake" in the
>> generated code
>> (however I could not really pin down where in the source of cint it is
>> coming from)
>>
>> For example code around 11494 reads:
>>
>> static int G__G__dat_108_0_15(G__value* result7, G__CONST char*
>> funcname, struct G__param* libp, int hash)
>> {
>> {
>> const TPhKeyPtr<TPhTopology>* pobj;
>> const TPhKeyPtr<TPhTopology> xobj = ((const
>> TPhKeyPtr<TPhTopology>*) G__getstructoffset())->operator
>> TPhKeyPtr<TPhTopology><TPhTopology>(); // this is line 11494
>> pobj = new TPhKeyPtr<TPhTopology>(xobj);
>> result7->obj.i = (long) ((void*) pobj);
>> result7->ref = result7->obj.i;
>> G__store_tempobject(*result7);
>> }
>> return(1 || funcname || hash || result7 || libp) ;
>> }
>>
>> You can see that "PhKeyPtr<TPhTopology><TPhTopology>()" should have been
>> only "PhKeyPtr<TPhTopology>()". It seems to me this needs to be fixed in
>> cint.
>>
>> Thanks
>> Constantin
>>
>>

>
-- 
Phone: +41-22-76 74875 (CERN)
Skype: loizides / AOL: ConLoi
Received on Tue Oct 16 2007 - 18:47:33 CEST

This archive was generated by hypermail 2.2.0 : Tue Oct 16 2007 - 23:50:01 CEST