- Jun 25, 2003
-
-
Rene Brun authored
This patch adds support for the .c++ extension for the dictionary name. git-svn-id: http://root.cern.ch/svn/root/trunk@6778 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jun 06, 2003
-
-
Rene Brun authored
The following patch insures that "long long" and "unsigned long long" are replaced Long64_t and ULong64_t when writing Shadow Classes. git-svn-id: http://root.cern.ch/svn/root/trunk@6694 27541ba8-7e3a-0410-8455-c3a389f83636
-
- May 27, 2003
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6659 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 02, 2003
-
-
Rene Brun authored
rootcint is incorrectly detecting the presence of a default constructor in some cases of template classes. git-svn-id: http://root.cern.ch/svn/root/trunk@6352 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Mar 05, 2003
-
-
Rene Brun authored
This simple patch improve the situation as far as private inheritance is concerned. In particular this allow usages like : class X : Y, public TObject {}; This also corrects the temporary objects deletion in TClass::BuildRealData which was incorrect for classe inheriting from TObject only as 2nd or later inheritances. git-svn-id: http://root.cern.ch/svn/root/trunk@6256 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 27, 2003
-
-
Fons Rademakers authored
processed the correct typedefs are put in the dictionary. Fixes sizeof(Seek_t) problem in interpreter. git-svn-id: http://root.cern.ch/svn/root/trunk@6203 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 07, 2003
-
-
Rene Brun authored
assume the following class layout class A { class B1 {}; class B2: public B1 {}; }; rootcint will generate code like this: A::B2::Streamer(){ A::B1::Steamer(); } This triggers the good old "call of non-static member function" bug in MSVC6. There are workarounds for similar code fragments in rootcint (e.g. for ShowMembers) git-svn-id: http://root.cern.ch/svn/root/trunk@6069 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 05, 2003
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6058 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 31, 2003
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6035 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
and adding support to install under MS .NET environment git-svn-id: http://root.cern.ch/svn/root/trunk@6031 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
workaround for a Solaris compiler bug with nested classes. git-svn-id: http://root.cern.ch/svn/root/trunk@6023 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 22, 2003
-
-
Rene Brun authored
more than the strlen of the original string to cope with some situations like vector<vector<T>> (note the missing blank between the >>) In the section generating code for STL, replace generated lines like if (!R__n) return; by if (R__n) { .. } With this change, the generated code works also when the option "+" is not specified in the pragma of LinkDef git-svn-id: http://root.cern.ch/svn/root/trunk@5965 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5951 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 16, 2003
-
-
Rene Brun authored
I finally got some time to look at why CINT dictionary kept using __malloc_alloc_template with gcc 2.9x. The reasons I was looking into it is that I have been having to filter out the word '__malloc_alloc_template' when creating the Shadow (this was leading to compiler error). And today, I discovered that, more subtely, it was making most multiple inheritances from a std container wrong. The content of G__cpp_setup_inheritancedict was something like: DerivedTemplate<int> *G__Lderived; list<int,__malloc_alloc_template> *G__Lpbase=(list<int,__malloc_alloc_template>*)G__Lderived; ... (long)G__Lpbase-(long)G__Lderived ... with DerivedTemplate inheriting from list. And the result of the substraction was 0! So I investigated further and discovered that gcc 2.9x uses __malloc_alloc_template if and ONLY if the symbol __USE_MALLOC was set. In the other case it uses __default_alloc_template. This means that in my example DerivedTemplate inherited from list<int,__default_alloc_template> and NOT from list<int,__malloc_alloc_template>. Hence the error. The simple solution was to use neither of the 2 alloc_template but to use/rely on the typedef that gcc uses. So for makecint/rootcint ONLY, I modified CINT's memory header (see attachement). This actually should fix ALL the problems we encountered related to __malloc_alloc_template. git-svn-id: http://root.cern.ch/svn/root/trunk@5920 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 11, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5874 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
Remove a small memory leak from rootcint git-svn-id: http://root.cern.ch/svn/root/trunk@5870 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 09, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5855 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 17, 2002
-
-
Rene Brun authored
The following patch insures that nested union and enumerations are properly treated in the ShadowClass generation. git-svn-id: http://root.cern.ch/svn/root/trunk@5826 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
From Philippe Fix for hp-ux git-svn-id: http://root.cern.ch/svn/root/trunk@5824 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
Fix a problem reported by Bill Tanembaum. The problem had to do with nested typedef to simple type. I simplify the resulting code of the shadow class by resolving the typedef to their true names. git-svn-id: http://root.cern.ch/svn/root/trunk@5822 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 14, 2002
-
-
Rene Brun authored
The following patch makes sure that the Shadow Class always use fully qualified name when refering to their data members. This is avoid a confusion when the template parameter and the template instantiation are in the same dictionary. (This is usefull for CMS). git-svn-id: http://root.cern.ch/svn/root/trunk@5810 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 13, 2002
-
-
Rene Brun authored
patch which makes sure that the fully qualified name is used for the inheritance of shadow classes. git-svn-id: http://root.cern.ch/svn/root/trunk@5804 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 10, 2002
-
-
Fons Rademakers authored
STL and gcc 2.x, i.e. in gcc 2.x use the correct allocator in STL containers. By Philippe. git-svn-id: http://root.cern.ch/svn/root/trunk@5778 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 09, 2002
-
-
Fons Rademakers authored
templated classes on MS Windows. git-svn-id: http://root.cern.ch/svn/root/trunk@5773 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 08, 2002
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5768 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5763 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 05, 2002
-
-
Rene Brun authored
rootcint now properly detects that an operator new hides (for C++) any operator new with placement previously declared in the class hierarchy git-svn-id: http://root.cern.ch/svn/root/trunk@5752 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 04, 2002
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5741 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 27, 2002
-
-
Rene Brun authored
This patch: a) add ClassDef to the generate TSelector with version 0. b) keep the Error message for all cases but those inheriting from TSelector (Warnings are not seems in the default rootcint mode). c) rootcint succeed in all cases (hence allowing user to compile classes that do not strictly implement the TObject interface). git-svn-id: http://root.cern.ch/svn/root/trunk@5686 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 11, 2002
-
-
Rene Brun authored
The following patch 'upgrades' the new TClass and TGenericClassInfo code to actually follow the ROOT coding conventions. This patch also enables a rootcint error (prevents the creation of the dictionary) in the case where the class derives (directly or indirectly) from TObject and do not have its own ClassDef. 3 helper class in ROOT failed the test: TGFrameElement, TAssoc and TGMenuEntry. Philippe. git-svn-id: http://root.cern.ch/svn/root/trunk@5564 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
constructors and destructor. It also allows for feeding a way to access the constructor and destructor independently of the dictionary. 5 new data members were added to TGenericClassInfo/TClass. Those are direct wrapper around - default constructor - array constructor - delete - delete [] - destructor In TKey::TKey and TBuffer::WriteObjectAny, a new message was added: Warning in <TKey::TKey>: Since TSocket had no public constructor which can be called without argument, TSocket objects can not be read with the current library. You would need to add a default constructor before attempting to read. Philippe. git-svn-id: http://root.cern.ch/svn/root/trunk@5560 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 01, 2002
-
-
Rene Brun authored
This patch adds the ability to save objects of classes using multiple inheritance (directly or indirectly) as part of other objects. (Previously multiple inheritance was only supported for top level objects). In TBuffer.h, TBuffer.cxx: TBuffer::WriteObject( const void *actualObjStart, TClass *actualClass); has been made protected. It is replaced by WriteObjectAny(const void *obj, TClass *ptrClass); which has a slightly different semantic (for multiple inheriting classes). The value of 'obj' in expected to be a value that can be legally stored in a pointer to an object of the type described by 'ptrClass'. I.e: MyClass *ptr; .... b.WriteObjectAny(ptr,gROOT->GetClass(typeid(MyClass))); We introduced: void *ReadObjectAny(const TClass* cast); which returns a value suitable to be stored in a pointer to an object of the type described by 'cast'. I.e, a typical usage is: MyClass *ptr = (MyClass*)b.ReadObjectAny(MyClass::Class()); The existing function TObject *TBuffer::ReadObject(const TClass *clReq) now ignores its parameter and returns the address where the object read actually start. It should be noted that if the object is of a class which derives from TObject but not as a first inheritance, this value is NOT a valid TObject*. We recommend using ReadObjectAny instead. In TKey.cxx, I reverted the comments to properly describe how to deal with top level object which inherits from TObject but not as a first inheritance (can not use dynamic_cast). In TGenericInfo.h, TGenericInfo.cxx, rootcint.cxx and TClass.cxx, we moved to always use an IsA wrapper function instead of using the interpreter for TObjects. TClass.cxx has been modified to optimize a few function now called many times. TStreamerInfo.cxx and TStreamerElement.cxx has been modified to use the new TBuffer function and to properly read/write multiple inheriting objects. git-svn-id: http://root.cern.ch/svn/root/trunk@5523 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Oct 23, 2002
-
-
Rene Brun authored
"I think it is inconvenient for the user (and the documenter) that the 'cint' executable behaves differently in the ROOT environment or in the pure CINT environment. For example, the lastest change broke Fons' script to build the cintdlls (since linG__set_globalcompk was off by default, the cintdlls where actually empty!). So I propose to reset the 'link mode' to be on by default for the 'cint' executable. We can then explicitly set it to be off in the 'rootcint' executable. In order to properly implement this, I also needed to fix the handling of the argument to '-c' (corretly use the abs value and propagate all the change into G__set_globalcomp. git-svn-id: http://root.cern.ch/svn/root/trunk@5465 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Oct 22, 2002
-
-
Rene Brun authored
This updates increase the support for const data members (the existing std::string special cases needed to be updated). It also explicitly disable I/O for data members which are references. git-svn-id: http://root.cern.ch/svn/root/trunk@5458 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
This patch repairs TBench.cxx on gcc below 3.1. We need to use the 'name' of the class rather than its TrueName (which is implementation dependent!!). git-svn-id: http://root.cern.ch/svn/root/trunk@5453 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Oct 21, 2002
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5450 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
The following modification of rootcint allow the generation of dictionaries for classes with const data members. git-svn-id: http://root.cern.ch/svn/root/trunk@5445 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Sep 23, 2002
-
-
Rene Brun authored
for I/O. git-svn-id: http://root.cern.ch/svn/root/trunk@5342 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Sep 17, 2002
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5324 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Sep 16, 2002
-
-
Rene Brun authored
This updates prevents a core dump in case of a container of pointer to float. It also remove a few fixed length buffers. git-svn-id: http://root.cern.ch/svn/root/trunk@5314 27541ba8-7e3a-0410-8455-c3a389f83636
-