RE:cint updates

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Sat Apr 17 1999 - 05:09:32 MEST


Dear ROOTers,

I'll send cint5.13.96 to CERN with improved STL support. 
Fons, please expose this version sometime in next week.
Because I've been so busy doing this work, I could not respond to some of 
the bug-reports.  Please give me time to catch-up.

# Improved STL dummy headers for precompilation 
  The implementation is still experimental. I appreciate your feedback.

 STL dummy header files for precompilation is provided for following platforms
.
    Linux2.0  egcs    SGI STL implementation
    HP-UX10.2 aCC     RogueWave STL implementation for HP
    WinNT/9x  VC++5.0 P.J. Plauger STL implementation
    WinNT/9x  BC++5.0 RogueWave STL implementation for Borland

 Supported containers:
    vector<class T,class Allocator=allocator<T> >
    list<class T,class Allocator=allocator<T> >
    deque<class T,class Allocator=allocator<T> >
    map<class Key,class T,class Compare=less<T>,class Allocator=allocator<T> >
    string

 Can do:
    * Precompile source files including above STL containers
    * Use above STL containers from the interpreter
    * Some simple generic algorithms can be precompiled and/or interpreted

 Improvements:
    * Default template argument is treated properly.
    * iterator_category(iterator) resolution is implemented
    * Generic algorithm function without function object can be precompiled wi
th     some modification to the dummy headers.

 Limitations:
    * Many of the generic algorithms does not work still
    * Mismatch between interpreted and precompiled STL exists

 How to set it up:
    * Get cint5.13.96 source package when it is exposed, unpack and install
      it as described in README.txt.  In the installation process, 
      lib/dll_stl/setup script will be executed. Important files are
        stl/*           : STL header files for interpretation
        lib/prec_stl/*  : STL dummy header files for precompilation
        lib/dll_stl/*   : Setting up DLLs including some instantiated STL
                          container classes
        demo/makecint/stl/* : Example for precompiling user instantiated STL
                              containers.

    * This is not tested on ROOT yet. In order to do so, you need to 
      rebuild ROOT with new cint source and copy all files from following
      directories.
       $CINTSYSDIR/include       ->  $ROOTSYS/cint/include
       $CINTSYSDIR/stl           ->  $ROOTSYS/cint/stl
       $CINTSYSDIR/lib/prec_stl  ->  $ROOTSYS/cint/lib/prec_stl


# Other improvements
  * namespace can be precompiled with bare makecint/cint. Still need some
    work for doing so in ROOT. G__ClassInfo::Fullname() added.
  * Many bug fixes

# Back-logs
  * Several unresolved bug-reports
  * Scott's cint update needs to be merged
  * Dictionary rewinding feature has to be improved for SEGV/BUSERR
  * Testing precompiled STL containers on ROOT
  * CINT "Can do & Can't do" documentation
 Above work will cover most of the issues discussed in the Workshop.


Thank you
Masaharu Goto



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