Re: problem after recent upgrade to CINT 60010024

From: Axel Naumann <Axel.Naumann_at_cern.ch>
Date: Tue, 02 Oct 2007 12:54:20 +0200


Hi Constantin,

I will process your mail some time during the next few weeks only - currently, my daughter's 9th day wins over CINT :-)

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
>
>
Received on Tue Oct 02 2007 - 12:54:33 CEST

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