[ROOT] error recovery and var argument in CINT

From: HP Wei (hp@rentec.com)
Date: Thu Feb 27 2003 - 21:24:55 MET


I managed to set up a (semi-automatic)
procedure to make a custom myroot (CINT) that
can access our local class libraries at some low levels.

So far, the testing raises in two issues:

(1) in CINT,
    I type
    an_object.local_class_member_function(0, 30.94, 1000);
    This function takes variable length of arguments.
    
    CINT tells me that 
    Limitation: Variable argument is not supported for this platform 
    FILE:/var/tmp/faawBaqX5_cint LINE:1
    Arithmetic Exception

    and it then exits out of Cint.
    
(2) If I type
    local_class_name  obj =  another_class_name["column_name"]
    where another_class_name should have been an object name (bt).
    Cint has a hard time in recovering from the error.
    
    First, it reports 
    "Error: No symbol another_class_name["column_name"]"
    
    (a) Then when I type in the correct statement,
        it tells me "*** Break *** segmentation violation"
    
    (b) I then check the existence of the object (bt)
        by typing --- bt
        It appears to report the right class name for this object.
    
    However, going back to step (a) 
    still gives me Segmentation violation error.
    And another try of (b) kicks me out of Cint
    with the message:
    Fatal in <operator delete>: unreasonable size (8692120)
     
----------------------------------------------------
General questions:

I am using CINT version 5.14.85 on Solaris.
Is 'functions with variable argument' supported on the newer version ???

Our local class libraries have their own error trapping procedures
and thus are not designed specifically for error recovery in an 
interpreter environment.
Could you point me to the place where I can learn about how
Cint catches and process an error 
and how we can design codes to be integrated in Cint with 
more forgiving error recovery  ??

Thanks,
HP


    
    
    



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET