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