RE:CINT doesn't see syntactic error

From: Christoph Borgmeier (borg@mail.desy.de)
Date: Sun Mar 07 1999 - 20:28:19 MET


On 5 Mar 1999, Masaharu Goto wrote:

[...]
> Major part of the problem comes from the fact that "you have choosen C++ 
> and OO".  No matter what the tool environment will be, you will live in a 
> fragile world. This is a logical consequence.
[...]

Hello everyone,

I still have the feeling, that the major part of the `crash problem' is on
the ROOT part in the CINT/ROOT combination. It seems to have little to do
with OO, but with bookkeeping. ROOT adds its `Named' concept on top of the
C++ idea of object identity. I would say it breaks the OO encapsulation
concept, although it might be be a good feature for interactive work. It
can lead to inconsistencies, since objects can be overwritten although
they should not be `visible' in the usual C++ sense (just think of
file->Get("histogram")). Maybe it would help, if CINT would adjust its own
list of object names with ROOT's list. (It could then also get the correct
type of TObject derived objects.) I understand that this would be a severe
change.

One other favourite problem is, that wrong pointers or non-existing
objects can be drawn onto pads (and then painted) or that attribute
windows of short-lived objects remain (e.g. from TTree::Draw("x")). One
could think of magic-number mechanisms or destructors which work more
robustly together with ROOT's object bookkeeping.

Kind regards
Christoph



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET