> > - non-default constructor coinsides with the default one...
> Certainly not. I changed my constructor just to
This is not a problem.
> That's true - interactively everything is ok.
>
> > I see 2 potential sources of confusion:
> > - 2 nested class declarations
>
> and the problem still remains (segmentation violation). I want to notice
> this is the only problem I have untill now, all other classes (not nested)
> compiled & linked into new ROOT work fine.
I reminded the nested class restriction in precompiled class. Nested
class works fine interactively. However for precompiled class, nested
classes are not registered into the dictionary.
It was a long time ago when I made this restriction. I do not remember
clearly. But I believe I did this to avoid dictionary compile error
due to compiler bug or something.
For the time being , please do not use nested classes in precompiled
library.
I propose following addition to the '#pragma link' statement.
#pragma link [C++|C|off] nestedclass ;
Default status is '#pragma link off nestedclasses;'. When you use it,
#pragma link off all classes;
#pragma link C++ nestedclasses;
#pragma link C++ class labelArea;
#pragma link C++ class labelArea::areaHolder;
Or simply
#pragma link C++ nestedclasses;
in case of this simple areaHolder case.
I'm afraid to simply eliminate this restriction because there are so
many platforms and compilers Cint supports. With this method, a user
always have to explicitly turn on nested class registeration. It is
user's risk to use this feature.
This change is not difficult. I plan to do this and send the new version
to CERN tomorrow morning.
P.S.
I'll be away for Embedded Systems Conference in San Jose, California
next week.
Masaharu Goto