Dear Christoph, Cint5.14.25 had severe problem regarding implicit type conversion. This was a side effect of fix number 1240. I tried to support implicit conversion + derived to base conversion and it created side-effect. I hope cint5.14.28 or later should restore the old behavior. Sorry for inconvenience. Please download the latest version and see what happens. Thank you Masaharu Goto > >Dear Masaharu, > >I am trying to move to the most recent ROOT version but seem to be stuck >in a CINT problem. In ROOT 2.22/10 (CINT 5.14.10, Jul 20 1999), the >following thing worked: > >--------------------------------------------------------------------- >template <class C, class T> >class ClProperty >{ >public: > ... > ClExpression<C,T,int> operator&( const ClProperty<C,T>& rhs ) const; > >protected: > operator=(... >} >---------------------------------------------------------------------- > >ClProperty is an interface class, which must not be constructed. The old >ROOT version traces this: > >---------------------------------------------------------------------- >root [6] pt>.5 & hsi>1 >{pt>.5 & hsi>1; >!!!Trying implicit conversion ClProperty<RecoTrack,int>((ClExpression<RecoTrack,int,int>)142615712),0 >!!!Implicit conversion from ClExpression<RecoTrack,int,int> to base ClProperty<RecoTrack,int> >!!!Destroy temp object (ClExpression<RecoTrack,int,int>)0x8802618 createlevel=0 destroylevel=0 >[...] >---------------------------------------------------------------------- > >pt and hsi are derived from ClProperty and the result of the > operators >are ClExpressions (derived, too, from ClProperty). CINT has to be aware, >that it can implicitely cast the ClExpression to its base class >ClProperty. The later version (5.14.25, Nov 25 1999) does not do that any >more: > >---------------------------------------------------------------------- >root [4] (pt>.5) & (hsi>1) >{(pt>.5) & (hsi>1); >!!!Trying implicit conversion ClProperty<RecoTrack,int>((ClExpression<RecoTrack,int,int>)143382168),0 >Error: ClProperty<RecoTrack,int>::ClProperty<RecoTrack,int> is private or protected FILE:/tmp/filemDnDyY_cint LINE:1 >!!!Create temp object >(ClProperty<RecoTrack,int>((ClExpression<RecoTrack,int,int>)143382168))(-1073 8 01304),0 >for implicit conversion > > *** Break *** segmentation violation >----------------------------------------------------------------------- > >Since ClProperty cannot be created, this code fails. Has there been a >change in CINT, which does not recognize base classes any more? > >Thank you for looking into this >Christoph > > > >-- > Christoph Borgmeier Mail: DESY F15/HERA-B, Geb. 61/117 > Notkestr. 85, 22607 Hamburg > DESY HERA-B Phone: +49 40 8998 4850 > Email: Christoph.Borgmeier@desy.de >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:18 MET