I've read your message more carefully.
Can you try to disable the CINT optimization with
".O0" commnad and try your example again ?
It may help too.
Cheers, Valeri
-----
Dr.Valeri Fine
STAR/US Atlas E-mail: fine@bnl.gov
Brookhaven National Lab Phone: +1 631 344 7806
Upton, NY 11973-5000 FAX: +1 631 344 4206
USA
----- Original Message -----
From: "Frederic Sarazin" <sarazin@triumf.ca>
To: <roottalk@pcroot.cern.ch>
Sent: Friday, February 15, 2002 8:49 PM
Subject: [ROOT] Compiler/Interpreter ?
> Hello Root'er,
>
> In my program (a script that I load with the .L command), I've got
> the following lines:
>
> cout << gPad << endl;
>
> if (Pads==0)
> {
> ...
> gPad = (TPad*)gPad->GetMother();
> ...
> }
> else
> {
> cout << gPad << endl;
> ...
> }
>
> In my case, the value of "Pads" is not 0... so the two print-out of
> gPad should
> be identical. I trace the problem down to the command I left in the if
> loop... the
> problem is that this part is not accessed by the program when executed.
>
> I tried a few other things (use of a temporary variable then a copy of
> the pointer
> into gPad, a difference cast...) but nothing seems to work.
>
> Thanks for your help.
>
> Fred
>
>
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:41 MET