I have a question about rootcint parsing a type definition
(I'm using SGI IRIX 5.3, GCC-compiled ROOT 1.01/03):
--------------------------------------------------------------------------------
-1-
I have a problem when trying to define a new type interactively:
CINT/ROOT C/C++ Interpreter version 5.13.10, May 22 1997
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] struct AA {
end with '}'> int ia;
end with '}'> };
root [1] AA a;
root [2] a.ia = 10;
*** Break *** segmentation violation
--------------------------------------------------------------------------------
-2-
However the same type definition could be used without any problem
when loaded from a file:
-------------------------- test.cc
struct AA {
int ia;
};
---------------------------
root [0] .L test.cc
root [1] AA a;
root [2] a.ia = 10;
root [3] .p a
(struct AA)272045208
0x0 int ia=10
--------------------------------------------------------------------------------
-3-
Finally, the following command sequence works:
root [13] typedef struct AA {
end with '}'> int ia;
end with '}'> };
root [14] a.ia = 10;
root [15] .p a
(struct AA)272045208
0x0 int ia=10
--------------------------------------------------------------------------------
The question is why interactive type definition does require
`typedef' whereas loading the same type definition from the macro
file does not?
Thanks, Pasha