cint5.13.96 & STL precompilation

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


Dear ROOTers,

I'll send cint5.13.96 to CERN with improved STL support in this weekend.
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 Snyder'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