RE:[Fwd: [ROOT] CINT bug ?]

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Thu May 10 2001 - 17:14:38 MEST


Hello Patois,

Thank you for reporting this problem. I'll fix this in
cint5.14.87.

Masaharu Goto



>Date: Tue, 08 May 2001 12:38:19 +0000
>From: Fons Rademakers <Fons.Rademakers@cern.ch>
>To: Masaharu Goto <MXJ02154@niftyserve.or.jp>
>Cc: Rene Brun <Rene.Brun@cern.ch>
>Subject: [Fwd: [ROOT] CINT bug ?]
>
>Hi Masa,
>
> can you check.
>
>Cheers, Fons.
>
>-- 
>Org:    CERN, European Laboratory for Particle Physics.
>Mail:   1211 Geneve 23, Switzerland
>E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
>WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7677910
>-----------------------------------------------------------------------------
-
--
>Date: Tue, 8 May 2001 13:35:52 +0200 (CEST)
>From: "Patois Yannick" <patois@ganil.fr>
>To: ROOT mailing list <roottalk@pcroot.cern.ch>
>Subject: [ROOT] CINT bug ?
>
>Hi,
>
>The following code doesnt work for me.
>
>Class Ta only has one member function 'void Bugged(double x)' which
>simply apply successively 2 conditions on x, returning when x lower than
>15 and above 80.
>But when instancied and called, even when x is between those 2 limits
>CINT return before the next part of the method.
>The code works as expected when compiled (g++).
>
><<<< bug.C
>#ifndef __CINT__
>#include <stdio.h>
>#endif
>class TA {
>public:
>  void Bugged(const double x) const; };
>void TA::Bugged(const double x) const {
>  printf("x:%f\n",x);
>  if (x<15           ) return;
>  if (x>80           ) return;
>  int    i   = 0;        // Removing this line solve the problem
>  printf("OK x:%f\n",x); // This line is never reached
>}
>void bug() {
>  TA a;
>  for (int i=0;i<10;i++) a.Bugged(i*10);}
>#ifndef __CINT__
>main() { bug(); }
>#endif
>>>>>
>
>Interpreted output:
>
>root [3] .x bug.C
>x:0.000000
>x:10.000000
>x:20.000000
>x:30.000000
>x:40.000000
>x:50.000000
>x:60.000000
>x:70.000000
>x:80.000000
>x:90.000000
>
>
>Compiled:
>$ g++ bug.C
>$ ./a.out
>x:0.000000
>x:10.000000
>x:20.000000
>OK x:20.000000
>x:30.000000
>OK x:30.000000
>x:40.000000
>OK x:40.000000
>x:50.000000
>OK x:50.000000
>x:60.000000
>OK x:60.000000
>x:70.000000
>OK x:70.000000
>x:80.000000
>OK x:80.000000
>x:90.000000
>
>
>I use ROOT version 3.00.06 from the binary version for Intel Linux RH
>6.1 (I'm using a Mdk 6.1 with some upgrades).
>
>Thanx for any informations.
>
>       Yannick
>
>



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:44 MET