-
Notifications
You must be signed in to change notification settings - Fork 3
/
RELNOTE.txt
717 lines (705 loc) · 30.3 KB
/
RELNOTE.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
RELNOTE.txt
cint 5.16.29/6.1.29 release note
- CINT mailing list
Cint mailing list '[email protected]' is started. Send request to
'[email protected]' 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.