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