RELNOTE.txt 

cint 5.16.29/6.1.29  release note

 - CINT mailing list 
    Cint mailing list 'root-cint@cern.ch' is started. Send request to 
    'Majordomo@pcroot.cern.ch' containing following line for subscription.

       subscribe cint [preferred mail address]

* Cint installation ********************************************************

 See http://root.cern.ch/twiki/bin/view/ROOT/CINT

Recent changes ************************************************************

 (See src/HISTORY for older changes)

* 5.15.126, Mar 4 2004
* 2012, display DLL name for .class, .func
* 2013, findposition() insure filenum>=0 && linenum>=0 
* 2014, classname autoloading , t1218.cxx
*-2015, classname autoloading 2, t1220.cxx
*
* 5.15.127, Mar 10 2004
* 2016, typedef double* X; f(*(X*)a); casting problem, t1221.cxx
* 2017, (enum xxx)1, ' xxx' => 'xxx', t1222.cxx
* 2018, operator[](char*) t1223.h/cxx
* 2019, G__CallFunc::SetFunc(... MatchMode), t1228.cxx
* 2020, G__CallFunc::SetFunc(), reftype handling bug, t1228.cxx 
* -   , stl/pair.dll, lib/dll_stl/pr.h experimental version
*
* 5.15.128, Mar 16 2004
* 2021, G__ANSI defined for gcc3.x, Solaris
* 2022, newlink.c, ptr to static member function, ns::f -> &ns::f 
* 2023, cintdll for Solaris
* 2024, 2014 side-effect found with valgrind, 
* -   , G__MAXBASE -> 50
* 2025, 2011, more to fix, by Philippe Canal
* -   , str.h, operator==, != to char* are added
* 2026, 2014 bug fix,
*
* 5.15.129, Mar 21 2004
* 2027, dtor always registered at the beginning (as part of reeng)
* 2028, 2024, one more fix
* 2029, long arguments in CallFunc
* 2030, G__calldtor() is added in struct.c, not used yet (as part of reeng)
* 2031, $ command  -> sh -I -c [com]
* -   , fix to 2030,
*
* 5.15.130, Mar 30 2004
* 2032, lib/prec_stl/memory
* 2033, typedef list<int**> listintxx;, 1967
*
* 5.15.131, Apr 6 2004
* 2034, #define ZEXTERN extern, t1239.cxx
*       CAUTION: This implementation has limitation. Using map, macro table can
*               only be reset in G__scratch_all.
* 2035, 2012 left-over
* 2036, operator=() more check
* 2037, memberfunc initialization in G__define_struct 
* 2038, add G__var_array::enclosing_scope, inner_scope member
*       G__free_bytecode() deletes inner_scope
*       G__searchvariable() searchs enclosing_scope
* 2039, 2027, dtor location left-over
* 2040, dictionary for implicit assignment operator turned on for ROOT
* 2041, G__defined_macro searchs for function macro and symbol macros
*
* 5.15.132, Apr 12 2004
*r2042, ENTERSCOPE, EXITSCOPE instructions, temporary disabled in pcode.c
* 2043, G__ClassInfo::Delete , Destroy added
*
* 5.15.133, Apr 18 2004
*-2044, detecting private ctor/dtor/opr= in precompiled class, t980.cxx problem
* 2045, generate dictionary for private ctor/dtor/opr=
* -   , regeneration of *strm.cxx due to 2045
* 2046, 1993 side-effect, #pragma link MACRO for static member function
* -   , IBM xlc,xLC flags are added
* -   , G__define_var temp1 length of buffer increased
*-2047, G__MBoolref(), t1250.cxx, not completely done yet.
*
* 5.15.134, Apr 27 2004
* 2048, autoloading patch
* 2049, G__TypeInfo::Init("int**&");  
*
* 5.15.135, May 07 2004
* 2050, G__struct.memfunc->busy[0] initizlization
*
* ---------------------------------------------------------------------
*
* 5.15.136, May 09 2004
* 6.0,0, May 09 2004
* 2051, activate cint dictionary for new bytecode compiler library
* 2052, namespace compiled member deallocation problem, t1258.cxx/.h
* 2053, missing initialization
*
* 5.15.137, May 17 2004
* 6.0,1, May 17 2004
* 2054, CTOR_SETGVP, store_globalvarpointer 
* -   , 1073 activated
* 2055, ifunc.c compile error fixed by Philippe Canal
*r2056, G__callfunc0(), G__asm_exec restoration
*r2057, G__calldtor(), free memory for interpreted class 
*r2058, G__exec_bytecode(), allocate autoobjectstack for return value
*r2059, G__ClassInfo::GetCtor/Dtor/Assign added
* 2060, G__ST_LVAR optimization
* 2061, addtional fix to template, by Philippe Canal
*
* 5.15.138, May 23 2004
* 6.0,2, May 23 2004
*r2062, CL -> G__autoobjectstack::Autodelete()
*
* 5.15.139, June 1 2004
* 6.0,3, June 1 2004
*r2066, LD_IFUNC -> always call new bytecode compiler
*r2067, G__interpret_func -> always call new bytecode compiler
* 2068, uninitialized G__value::isconst
*
* 5.15.140, June 6 2004
* 6.0,4, June 6 2004
* 2069, abs -> labs in G__setiparseobject
*rw2070, operator=, (on going change)
* 2071, TMath::pow wrong call
* 2072, f(arg) {const double x=arg;}
*r2073, G__struct.vtable, G__ifunc_table.vtblindex added
*r2074, virtual function
*
* 5.15.141, June 14 2004
* 6.0,5, June 14 2004
*r2075, vtbl and implicit operator= generation in struct.c
*r2076, G__ClassInfo::AddMethod(name,arg)
*r2077, BASECONV, ref==0?ref=obj.i;
*r2078, PUSHCPY, does not clear ref.
*  One of 2077 or 2078 solves operator=(const A&) problem
*r2079, GetMethod() + withInheritance parameter
*r2080, G__MethodInfo::IsVirtual();
*
* 5.15.142, June 20 2004
* 6.0,6, June 20 2004
*r2081, pBase=pDerived;
* 2082, G__MethodInfo::GetBytecode() always compile bytecode.
* 2083, printf("%2$*1$d", width, num); printf("%*d", width, num);
*r2084, vtbl, add basetagnum for multiple inheritance resolution
* 2085, operator<< bug fix
* 2086, FOO::operator> bug fix
*r2087, new -> new implementation
*
* 5.15.143, July 6 2004
* 6.0,7, July 6 2004
* 2088, G__exec_asm() presult=NULL;
*r2089, G__CAST generation in G__asm_gen_stvar()
* 2090, Philippe's operator>> fix in func.c and ifunc.c cint_35.diffs
* 2091, tmplt.c fix by Philippe
* 2092, tmpfile()==NULL -> G__tmpnam()
*
* 5.15.144, July 12 2004
* 6.0,8, July 12 2004
* 2093, array dimention error detection
* 2094, fix to 'typedef void ** const * const_iterator;' by Philippe, (919)
* 2095, MacOS X problem with GNUC macros, by Fons
* 2096, G__calc("TPara<long long>::f()"), by Philippe
* 2097, autoloading patch, by Philippe
* 2098, static private array initialization
*
* 5.15.145, July 19 2004
* 6.0,9, July 19 2004
*r2099, G__SETGVP <- G__store_struct_offset
* 2100, typedef.c, patch by Philippe,
*r2101, new x[n],
*
* 5.15.146, July 25 2004
* 6.0,10, July 25 2004
*r2102, delete -> new implementation
* 2103, map forward declaration, by Philippe
* 2104, namespace fix, by Philippe
*r2105, G__genericerror() display message if cintv6
*
* 5.15.147, Aug 3 2004
* 6.0,11, Aug 3 2004
* 2106, friend template, by Philippe
* 2107, ICC v8.1 fix, by Fons
* -   , Type.cxx valgrind error fix, by Philippe, 2105 -> 2106
* 2108, missin protection in G__what_type, by Philippe
*
* 5.15.148, Aug 17 2004
* 6.0,12, Aug 17 2004
*r2109, exception handling, G__THROW instruction
*r2110, RTN_FUNC 2, G__exec_asm returns from try { }
*r2111, explicit conversion for exception, don't put into legacy tempobj buf
*
* 5.15.149, Aug 23 2004
* 6.0,13, Aug 23 2004
*r2112, G__exec_bytecode -> C++
* 2113, G__asm_optimize, i<5 optimization potential bug fix
*
*-2114, G__asm_optimize3() returns max stack usage
*-2115, re-sizable stack buffer
*   2114 and 2115 failed. Those changes are deleted. That state is archived
*   as backup/cint6.0.13C.tar.gz. 
*
*r2116, resizable G__asm_inst buffer
*r2117, throw G__bc_compile_error + error handling
* 2118, G__ClassInfo::Funcflag() returns G__struct.funs[]
* -   , Error handling
*
* 5.15.150, Aug 30 2004
* 6.0,14, Aug 30 2004
* 2119, G__delete_ipath(char* path);
* 2120, class A { operator()(int i);} a; a(i)(i) bug fix
* TODO, class A { operator[](int i);} a; a[i](i) reserved 2121
*r2122, assignment error check
*r2123, A<A<int> > x; avoid recursive G__bc_struct call
*r2124, G__asm_noverflow reset after template instantiation,
*
* 5.15.151, Sep 5 2004
* 6.0,15, Sep 5 2004
* 2125, initary[]={f(),g()};
* 2126, intassignbyref, if(!ref) 
*r2127, local stitic/const handling
*r2128, G__letvalue, 'c' memcpy
*r2129, G__OP2 '#', add arbitrary value to pointer
* 2130, implicit ctor -> allow array initiazliation
*r2131, incsetup_memvar in G__initmemvar()
*r2132, G__CL line+filenum
*
* 5.15.152, Sep 12 2004
* 6.0,16, Sep 12 2004
*r2133, G__CL, 's','S','c', + 2 lines G__pr() call 
*r2134, G__CL position, end of statement -> beginning of statement
*r2135, turn off source code trace in step mode
*r2136, implement new stack trace mechanism 
*r2137, use new stack trace mechanism for V command
*r2138, break/continue 
* 2139, eof check in G__input
*
* 5.15.153, Sep 20 2004
* 6.0,17, Sep 20 2004
*r2140, MEMCPY instruction 
*r2141, copy ctor dictionary -> array copying
*r2142, G__PAUSE() instruction
*r2143, argument name difference in header and definition,
* 2144, argument difference in reference,  header vs definition
* -   , int *a, b , &c=b; bug fix
* 2145, class A *p=new A[5]; p[i].disp();
*r2146, virtual base class G__abortbytecode()
* 2146, array of pointer to function
*
* 5.15.154, Sep 29 2004
* 6.0,18, Sep 29 2004
*r2147, MEMSETINT instruction
*r2148, G__BaseClassInfo::Property() G__BIT_ISVIRTUAL -> G__BIT_ISVIRTUALBASE
* 2149, template specialization bug fix by Philippe Canal
*r2150, virtual base initialization in bc_*
*
* 5.15.155, Oct 11 2004
* 6.0,19, Oct 11 2004
*r2151, virtual base class, G__ISINDIRECTVIRTUALBASE flag, may be unnecessary
*r2152, virtual base function resolution VIRTUALADDSTROS
*r2153, virtual base function resolution in bytecode, bc_exec_virtualbase_
*r2154, base class cast to array element, rewind stack before cast
*r2155, SETMEMFUNCENV, RECMEMFUNCENV for x.y when G__cintv6
*
* 5.15.156, Oct 20 2004
* 6.0,20, Oct 20 2004
*r2156, G__STATICCONST flag is set for constant literals
* 2157, bug fix A<T> A<T>::x=0;
* 2158, timeout at main()
*
* 5.15.157, Oct 24 2004
* 6.0,21, Oct 24 2004
*-    , r2156 fixed
*r2159, local variable monitor
*r2160, G__CAST instruction added
*r2161, B<int,5*2> bug fix for v6
*r2162, virtual table debugging, disp()
*r2163, G__exec_asm moved in bc_exec.cxx
* 2164, bug fix -> reserved dtor does not trigger template instantiation
*-    , bit field assignment in bytecode, bug fix
* 2165, vector::iterator::operator= added for gcc3.x
* 2166, (*vecvec[0])[0] bug fix
* 2167, multiple occurannce of using namespace, by Philippe
* 2168, HP aCC fix by Fons
*r2169, new int*; bug fix in SET_NEWALLOC
*
* 5.15.158, Nov 2 2004
* 6.0,22, Nov 2 2004
*r2170, A** p=new A*[3]; p[0]=new A[2]; p[0][0];
*r2171, G__ExceptionWrapper() returns value from running function
*r2172, virtual dtor free operation offset calculation in G__exec_asm
* 2173, template function and member name conflict
* 2174, loadfile.c fix by Philippe
* 2175, printf fix by Philippe
   *r2176, improvement on type conversion at assignment
*r2177, GetMethod() add doconvert flag
* 2178, Philippe's fix on tmplt.c
* 2179, Philippe's fix on scope operator '::' at the beginning
*-2180, Philippe's fix on template bool
* 2181, Addition to Philippe's fix. No error for G__fgetname_template()
* -   , std::string getline added
*
* 5.15.159, Nov 14 2004
* 6.0,23, Nov 14 2004
*r2182, improvement on type conversion at assignment
* 2183, return (*this)[1]; bug fix
*r2184, *expr1=expr2; bug fix
* 2185, this erase isconst flag
* 2186, Fons' fix on MacOS X bool
*r2187, delete 0; skip dtor call and deletefree
* 2188, bool fix,
*
* 5.15.160, Nov 24 2004
* 6.0,24, Nov 24 2004
* 2189, native long long support with G__NATIVELONGLONG
*      n, m, q     M:macro, Q:p2f
* 2190, delete all dictpos->ptype
* 2191, 'm' macro -> 'j'
*
* 5.15.161, Dec 12 2004
* 6.0,25, Dec 12 2004
* 2189, + long long(x) and unsigned long long(y) fixed
* 2192, long long bug fix by Philippe,
* 2193, 1<<31, bug fix
*-2194, Philippe's namespace <tab> fix
*
* 5.15.162, Jan 4 2005
* 6.0,26, Jan 4 2005
* 2195, bug fix, G__convert_param G__BASECONV
* 2196, bug fix, namespace variable array initialization
*
* 5.15.163, Jan 10 2005
* 6.0,27, Jan 10 2005
* 2197, newlink.c fix by Philippe
* 2198, tmplt.c fix by Philippe
* 2199, VC7 optimizer bug workaround by Philippe,
* 2200, Philippe's valgrind fix
*
* 5.15.164, Jan 23 2005
* 6.0,28, Jan 23 2005
* 2201, 0x0E + 12  bug fix
* 2202, warning for 64bit to 32bit integer conversion in G__int, G__uint
* 2203, G__DLL_direct_globalfunc supported for bytecode
* 2204, G__DLL_direct_globalfunc with argument type conversion
* 2205, G__DLL_direct_globalfunc for G__CallFunc, test2/t1353.cxx/h
* 2206, unexpectedEOF improvement for error reporting,
*
* 5.15.165, Feb 18 2005
* 6.0,29, Feb 18 2005
* 2207, bool(0.1) -> 1
* 2208, assert test G__int() -> G__bool()
* 2209, template vec2<long double> f(); bug fix
* 2210, G__fgetname_template, bug fix
* 2211, template ostream& operator<<(); bug fix in G__keyword_anytime_8
* 2212, cint_10 Philippe's change on template member
* 2213, cint_13 Constructor execution bug fix, by Philippe
* 2214, cint_15 template member function fix by Philippe
*
* 5.15.166, Feb 22 2005
* 6.0,30, Feb 22 2005
* 2215, long long casting in dictionary
* 2216, G__fdumpstream(), '<' + G__defined_templateclass() '>' 
* 2217, char (*fName)[5];
* 2218, Philippe's fix in vector DLL
* 2219, abstract class instantiation error for new
* 2220, stub function flag setting bug fix,
*
* 5.15.167, Mar 2 2005
* 6.0,31, Mar 2 2005
* 2221, display pure virtual function 
* 2222, buffer overrun bug fix by Philippe,
* 2223, avoid segv from typo, TMath::Max)TMath::MaxElement(n,
* 2224, #pragma link C++ macro fix? by Philippe
*
* 5.15.168, Mar 10 2005
* 6.0,32, Mar 10 2005
* 2225, template<class T> void f(const T& x);  T=char* fix
* 2226, G__setmemtestbreak(n,m);
* 2227, errordictpos memory leak 
* 2228, VPersonTest.cxx bug fix for VObject** p=a;
*
* 5.15.169, Mar 14 2005
* 6.0,33, Mar 14 2005
* 2229, comment out 64bit->32bit conversion
* 2230, operator with invalid argument, Philippe
* 2231, Philippe's patch
* 2232, Fons's patch
*
* 5.15.170, Mar 23 2005
* 6.0,34, Mar 23 2005
* 2233, Axel's patch for windows fclose
*
* 5.15.171, Apr 12 2005
* 6.0,35, Apr 12 2005
* 2234, return"";
* 2235, va_arg, float -> passing as double for gcc
* 2236, var.c G__var_type store/restore, by Philippe,
* 2237, template<classA,B> MyTmplt<A,B<A> > operator*(..) fix by Philippe
* 2238, Windows patch by Philippe,
* 2239, G__SourceFileInfo::Next() fix
* 2240, G__srcreader<T>::fgetstream_core() bug fix
*
* 5.15.172, May 3 2005
* 6.0.36, May 3 2005
* -   , Philippe's change on G__ci.h
*
* 5.15.173, May 4 2005
* 6.0.37, May 4 2005
*
* 5.15.174, May 5 2005
* 6.0.38, May 5 2005
* -   , removed 90% of G__OLDIMPLEMENTATION* from source
*
* 5.16.2, July 14 2005
* 6.1.2, July 14 2005
* -   , Convert most of the C source file from K&R C to Ansi C++
* -     The files *.c were renamed v6_*.cxx.  The interfaces are
* -     kept backward compatible (extern "C")
* 
* 5.16.3, November 11, 2005
* 6.1.3, November 11, 2005
* -   , Port to windows visual C++ version 8
* -   , Many bugs fixes (see CVS change log for details)
* 
* 5.16.4 November 30, 2005
* 6.1.4 November 30, 2005
* - Add support for generating dictionary using the reflex API (makecint -c3)
* - See CVS Change log for other updates.
* 
* 5.16.5 November 30, 2005
* 6.1.5 November 30, 2005
* - Improve support for generating dictionary using the reflex API (makecint -c3)
* - Extend ClassInfo to better support array allocation and deallocation
* - See CVS Change log for other updates.
*
* 5.16.6 January 9, 2006
* 6.1.6 January 9, 2006
* - Import and use the shadow class mechanism from ROOT.  This allows the 
*   calculation of the data member offset even if they are protected/private.
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
*
* 5.16.7 January 19, 2006
* 6.1.7 January 19, 2006
* - Many improvement to the shadow class generation.
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
*
* 5.16.8 February 9, 2006
* 6.1.8 February 9, 2006
* - Update and streamline the handling operator new and delete
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
*
* 5.16.9 March 3, 2006
* 6.1.9 March 3, 2006
* - Upgrade the support for operator new and delete in the dictionaries (improve usage
    of user provided operator new).
* - Add a new command line option (-E) to insure exit on error.
* - Improve error message in case of missing symbols.
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
*    
* 5.16.10 March 30, 2006
* 6.1.10 March 30, 2006
* - Refresh of the port to icc and alpha cxx
* - Fix for comment parsing in the CPP parser.
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
*    
* 5.16.11 April 14, 2006
* 6.1.10 April 14, 2006
* - Improve template support
* - Port to MacOS on Intel
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
*    
* 5.16.12 May 16, 2006
* 6.1.12 May 16, 2006
* - Add support for variadic functions on AMD64 and EM64T.
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
* 
* 5.16.13 June 8, 2006
* 6.1.13 June 8, 2006
* - New build system based on the configure/make model.  MAKEINFO is not longer used.
* - A few more function has been officially exported and/or added to the appropriate 
*   header files
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
* 
* 5.16.14 August 18, 2006
* 6.1.14 August 18, 2006
* - Clarification of the license (Now MIT License)
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
* 
* 5.16.15 September 21, 2006
* 6.1.15 September 21, 2006
* - Various bug fixes (include a couple of cint dlls cleanups)
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
* 
* 5.16.16 November 24, 2006
* 6.1.16 November 24, 2006
* - Some minor bug fixes: remove G__CINTVERSION from strm dict files, AMD64 vararg passing, long comments, extern "C" multiline issue
* - G__sizeof, G__getfunction now part of the API
* - respect system macros when generating dictionaries
* - Move public header files into inc/
* - Changes to achieve binary compatibility with cint7; some of these are temporary
* - Move C++ API into namespace Cint
* - added build support for linux x86_64
* - See CVS Change log for other updates (http://root.cern.ch/root/ChangeLog-cint.phtml)
*
* 5.16.17 December 12, 2006
* 6.1.17 December 12, 2006
* - Some previously publicly visibly types are now private. Please let us know if this 
*   causes problems for you!
* - G__MethodInfo::Get/SetUserParam() added
* - extend G__ClassInfo::AddMethod
* - the relevant platform macros are now known to CINT, except when interpreting where the 
*   compiler macros (e.g. __GNUC__) are hidden
* - Fix prec_stl for solarisgcc, cygwin (posix)
*
* 5.16.18 February 9, 2007
* 6.1.18 February 9, 2007
* - Fix a few bugs (fix arithmetics involving long double, "!", 
*   LL suffix for operators' long long args, quoting of default
*   params, 
* - Implement G__pop_tempobject_nodel() to "steal" temp object from CINT
* - modify algo.h's random_shuffle to use new Cint::G__long_random in new v6_random.cxx
* - make G__free_ifunc_table non-recursive
* - for ROOT, use R__HAVE_CONFIG, not HAVE_CONFIG
*
* 5.16.19 March 16, 2007
* 6.1.19 March 16, 2007
* - handle 1dim arrays properly (!= scalar)
* - more memory effient G__param and G__inherit
* - implement forward decl in dictionaries (e.g. if dict for "A* f()" is 
*   setup, lib containing A will not be loaded)
* - add a reference layer between API ifunc* and internal ifunc*, so 
*   reloading (scrupto of scripts) doesn't invalidate the external 
*   ptrs for dependent libs
* - update tagnums below scrupto limit if they are autoload entries
* - allow multiple shared lib init routines
* - bug fixes: fix decl locations in .so-s, distinguish "class*", 
*   "decl if unknown" in G__search_tagname
* - split Shadow.h off Api.h
* - remove temporary files on windows once they are unused (fixes problem 
*   with tmp file flooding)
*
* 5.16.20 June 1, 2007
* 6.1.20 June 1, 2007
* - from Diego Marcos: use base classes' function call stubs / wrappers for virtual functions
* - implement '#pragma link option=...' syntax (for ROOT dictionary flags)
* - several minor bug fixes: buffer overflow checks, uninitialized vars, 
*   template class memfunc improvements, default values for function arguments, etc
*
* 5.16.21 June 22, 2007
* 6.1.21 June 22, 2007
* - fix value cast functions
* - distinguish char, short, int, long, and unsigned ones.
* - fix type determination of integer literals
* - improve memory and speed performance of dict setup collection
* - fix library un/reloading issues with member setup functions
* - fix an issue with parameter default values and wrappers for virtual 
*   functions
* - fix a problem with by-reference parameters, where the reference was 
*   built to the wrong parameter
* - fix partial template specialization for non-type template arguments
* - don't alloc space for static members during dictionary generation
* - support "#if defined MACRO", the alternative form of "#if defined(MACRO)"
* - remove configure and Makefile routines for internal readline, now that 
*   it's not part of the CINT distribution anymore.
* - test suite now uses external diff
*
* 5.16.22 July 17, 2007
* 6.1.22 July 17, 2007
* - Revert changes to val2a.cxx that got lost in previous release
* - Fix issue of "ifunc_table overflow" caused by auto-loading while 
*   reading function parameters in a macro.
*   !!! Requires (an unchanged) MAX_IFUNC==1 !!!
* - When autoloading a lib work on a copy of the libname
* - Fix #if defined (FOO) (space in front of opening paranthesis).
* - Don't call the d'tor on a static member if we didn't allocate it
*   (e.g. when parsing only)
* - Remove several warnings (comparison signed/unsigned, unused var)
* - Allow resetting of G__UserSpecificGetSpecialObject
* - Surround command line macro definitions for external preprocessor by "".
*
* 5.16.23 July 25, 2007
* 6.1.23 July 25, 2007
* - remove loadfile of bool.h
* - fix parsing of templated operators
* - fix constness determination of conversion operators
* - simplify and fix parsing of cast to basic type
* - better error message for dangling parentheses
*
* 5.16.24 July 26, 2007
* 6.1.24 July 26, 2007
* - scrupto: don't free const vars
* - MSVC: embed manifest
*
* 5.16.25 Sept 10, 2007
* 6.1.25 Sept 10, 2007
* - add gcc4 iostream dictionary.
* - fix support for multi line command line entries
* - fix handling of storage duration for unspecified length arrays
* - fix bytecode generation for switch
* - fix parsing/execution of a break or continue nested inside 
*   multiple levels of braces
* - disable bytecode generation for any function or loop
*   which uses G__va_arg
* - conversion "operator A*()": keep the '*' (and references etc)
* - tighten up the semantics of statictype (namespace
*   members were getting declared static, even when they were not)
* - scratch_upto now returns a counter that gets bumped 
*   every time the dictionary is rewound, allows detection of changed dict.
*
* 5.16.26 Oct 11, 2007
* 6.1.26 Oct 11, 2007
* - move to subversion
* - fix gcc4strm
* - update CINT API dictionary
* - update ReadF tutorial
* - fix bytecode generation (was disabled in some loops)
* - minor bug fixes
*
* 5.16.27 Oct 25, 2007
* 6.1.27 Oct 25, 2007
* - a few fixes for parsing conversion operators:
*   template args, type in namespace, local vs. global type
* - fix bytecode generation for switch statement
* - fix spelling of G__SetCriticalSectionEnv()
*
* 5.16.28 Nov 22, 2007
* 6.1.28 Nov 25, 2007
* - support MacOSX 10.5 + macos64, rename macgcc to macos.
* - from Christian Holm Christensen:
*   new MIPS and HPPA linux architectures supported
* - support MSVC2008
* - fix several problems discovered in CINT's test suite and with valgrind
* - fix autoloading of templated classes with typedefs as template argument
* - Add dictionary for std::string::(const_)reverse_iterator and 
*   std::string::iterator's operator ==, != also for GCC > 3.
*
* 5.16.29 Jan 08, 2008
* 6.1.29 Jan 08, 2008
* - Fix 'int n((0));' and related syntax.
* - Fixes problem with re-using artificial source files.
* - Add G__get_class_autoloading_table() returning the library name for a class name; used by TCint to determine whether the enclosing class's auto-load entry should be set.
* - Fix <https://savannah.cern.ch/bugs/?32403> and "operator std::string()" by skipping "std::" and setting G__vartype for conversion functions.
* - Add better support for indirect self reference
* - Correct the constness in the case: Object * const &front() const; (i.e Object*const vs Object const*).
* - Fix handling of case(1): [The issue was the missing space between case and (]
* - Fix for passing the result of post increment directly to a function taking a parameter by reference (for example cout << c++;
* - Add interface to set a G__ifile context: G__setfilecontext(filename, ifile). Sets G__ifile to filename (can be an artificial tag) and stores the previous one in ifile
* - Support const T& operator()(const Key& key) const;
* - Support obj*&operator()(int)
* - Properly handle pragma link of operator in namespace
* - Prevent the autoloader from destroying entries for templated classes that are defining in a namespace and/or class
*
* 5.17.00 Dec 21, 2008
* 6.2.00  Dec 21, 2008
* - CINT stand-alone can be checked out as svn co http://root.cern.ch/svn/root/trunk/cint (current development snapshot) or http://root.cern.ch/svn/root/tags/cint/cint-5.17.00 (release).
* - libcint is now called libCint.
* - CINT's files have been renamed (the "v6_" prefix is removed), its dictionary files are now moved to a new subdirectory of src called "dict".
* - Support for new platforms (MacOSX 10.5, MIPS, HPPA, MSVC2008, FreeBSD 7.0).
* - Makefile targets for RMP and debian packages, thanks to Daniel Barna.
* - Don't automatically use /tmp directory for temporary files but rely on CINTTMPDIR, TMP, or TEMP environment variables.
* - Remove loadfile of bool.h
* - Simplify and fix parsing of cast to basic type.
* - Fix parsing of templated operators and constness determination of conversion operators' (return) type.
* - Better error message for dangling parentheses.
* - Fixes concerning CINT's representation of size_t, char* vs. const char* in CINT's C API.
* - Fix function overload resolution involving enums.
* - Remove unused long.dll.
* - Fix treatment of break in loops.
* - Introduce cintdictversion.h holding a version number for the CINT dictionary API. This file is useful to determine when dictionaries need to be regenerated.
* - Improved initialization of class static variable that are objects.
* - Dictionaries for templated functions are now accessible both as func<int>(int) and func(int).
* - Fixes for template parameters being arrays, functions returning templated classes, allowing CINT to parse T*const&.
* - Support qt cintdll for Qt4.
* - Corrected the handling of function parameter of type 'reference to bool'.
* - Avoid incorrectly matching a non-static class member function when called without an object (i.e. typically TString::Form(...));). Previously this was allowed and lead to a segfault.
* - Extended "#pragma link C++ defined_in filename;" to look for the file name in the same include paths as G__loadfile (i.e. previously defined_in was restrict to full path names and relative path names). Allow quote around the file name.
* - CINT now also keeps track (see .files) of the libraries that have been loaded indirectly (i.e. via a hard link as opposed to via G__loadfile for example) and that contain a CINT dictionary.

* === THIS WILL BE THE LAST CINT5 RELEASE, THE NEXT WILL BE A CINT7 RELEASE! ===
* Starting from the next version, the new CINT core version will be the default: you will have to explicitly specify "./configure --coreversion=old" to get CINT5; we are only planning to support CINT7.
 
* 7.3.00 Dec 21, 2008
* First release of CINT7 using Reflex as reflection database.

* 5.18.00 July 2, 2010
* 6.03.00 July 2, 2010
* - CINT7 has been discontinued, see <http://old.nabble.com/Cint7-Status-tt26503422.html#a26503422> and <http://indico.cern.ch/materialDisplay.py?contribId=3&materialId=slides&confId=71078>
* - Replace fixed-size buffers by a very fast dynamic buffer pool (G__FastAllocString), fixing many possible buffer overflows and removing most buffer size limitations
* - Commands ".Lk" load (or execute ".xk") files _keeping_ already loaded files, i.e. not unloading them.
* - Implement prompt interface ".preproc" for toggling the external preprocessing of scripts
* - Many fixes to issues reported by Coverity
* - Many bytecode improvements
* - Add G__x86_64__ and G__amd64 macros if available
* - Port up to GCC <= 4.5, MSVC <=10, ICC <= 11, OpenSolaris CC with -library=stlport4; add support for building with clang >= 2
* - KCC not supported anymore
* - Improve integer operators' behavior wrt overflows
* - Fix parsing of templated operators
* - Improvements in the handling of static and const variables, especially regarding initialization
* - Accelerate the dictionary initialization, most notably for large dictionaries (from n^2 to nlogn) and reduce the load (registration) time of libraries
* - New link pragma to simply the generation of the dictionary for 'operators' in a rootcint dictionary:
*      #pragma link [C++|off] operators classname;
* - Implement new pragma link syntax for contained classes:
       #pragma link C++ class A::*;
    will create dictionaries for all classes defined within A. ROOT I/O flags (trailing "+" etc) are supported, too.
* - Fix functions taking vararg and returning objects on AMD64
* - Improvements regarding (unsigned) long long, e.g. as template arguments
* - Clean up more temp files on Windows
* - Fix dictionary for vector<bool>
* - Accelerate G__store_dictposition
* - Remove support for stubless dictionaries

* - New Reflex CMake user macros (thanks to Hady Zalek, Murex)
* - Introduce ScopedType to factor out the common code from Class, Enum, Union.
* - Reimplement UpdateMembers() and PathToBase() in a backward compatible way. Add selection enum for inherited / non-inherited member getters.
* - Modify the behavior of Reflex dictionary (namely ClassBuilder). Rather than unconditionally erasing existing information,  a 2nd ClassBuilder will either add new information or check that it is compatible with the existing information (and
throwing an exception in case of problems). To be able to over-ride an existing definition, unload the class before calling ClassBuilder.
* - Improve shutdown handling of the Reflex database
* - Implement delayed, on-demand initialization of data and function members in Reflex dictionaries
* - The dictionary now tells Reflex that a const char* does not need to be copied onto the heap, but is a string literal that can be stored as is. This reduces the amount of allocated strings for the Reflex dictionary of Reflex by 80% (!) without any backward incompatibilities. The names stay valid on library unload; to not force all literals to be allocated on the heap on dlclose, Reflex::Instance::Shutdown() needs to be called at the end of the process.
