[ROOT] RE:Bug in CINT 5.14.81 ?

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Wed Apr 25 2001 - 14:17:00 MEST


Hello Jens,

Thank you very much for reporting this problem. This turned out to be
a problem of (int)!=(unsigned int) comparison. In Error.cpp,
-1 is compared against 'size_t string::find()'. Because size_t is
defined as unsigned int and Cint made a wrong decision on 
(int)(-1)!=((unsigned int)0xffffffff) , problem occured.  BTW,
this happens only when the loop is compiled into bytecode and 
optimized by level3 or above.  I'll fix this in cint5.14.85.

For workaround, you can cast
(size_t)(-1) or use optimization level2 or below (-O2 command line
option or 'O2' command)

Thank you
Masaharu Goto 


>Date: Tue, 24 Apr 2001 14:26:16 +0200
>From: Jens Scheidtmann <scheidtmann@mpi-muelheim.mpg.de>
>To: roottalk@pcroot.cern.ch
>Cc: Masaharu Goto <MXJ02154@niftyserve.or.jp>
>Subject: Bug in CINT 5.14.81 ?
>
>Dear Masaharu, Dear members of roottalk,
>
>included you will find a small programm which seems to have a never
>ending loop in it:
>
>$ cint Error.cpp
>class XXX: public Recipe
>
>FILE:Error.cpp LINE:21 cint.exe>
>[Lots of lines running by, after the first press of enter]
>
>If you then uncomment the G__pause() in the while loop, it works as
>expected.
>
>Can you reproduce this?
>
>My platform information: 
>Windows 2000 SP 1, CINT compiled by myself with Visual C++ 6.0
>enterprise ed. 
>
>TIA,
>
>Jens
>
>P.S.: If you could please CC your reply to the list to me, because at
>the moment I only use cint and are therefore not subscribed to roottalk.
>Thank you.
>--
>Max Planck Instute of coal research
>Jens Scheidtmann
>Kaiser-Wilhelm-Platz 1
>45470 Muelheim an der Ruhr



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