Hello Fons,
I forgot to mention this big change in cint5.14.31.
There was a request that shared library should automatically load
all the standard header files loaded in the precompiled header file.
All the files started by '<' are standard header files to be loaded
with the shared library. This is intentional. For example,
// myheader.h
#include <string> // this will trigger implicit loading
class myclass { .. };
$ makecint -mk makefile -dl myheader.dll -H myheader.h
$ make -f makefile
$ cint myheader.dll
cint> .file
myheader.dll // explicitly loaded
string // loaded implicitly by shared library
string.dll // "
bool.h // "
I belive this is a good feature. So far, I have not found any side-effect,
but potential risk is there. Please report me any problems. If you find
one, define G__OLDIMPLEMENTATION1271 in G__ci.h to deactivate the feature.
Thank you
Masaharu Goto
>Hi Masa,
>
> I noticed an important change in the dictionary with the new version
>of CINT. There are now all kind of G__add_compiledheader() calls of
>headers that were not explicitly mentioned on the rootcint command line.
>For example in the old dictionary we had:
>
>extern "C" void G__set_cpp_environmentG__Meta() {
> G__add_compiledheader("TROOT.h");
> G__add_compiledheader("TMemberInspector.h");
> G__add_compiledheader("TBaseClass.h");
> G__add_compiledheader("TClass.h");
> G__add_compiledheader("TDataMember.h");
> G__add_compiledheader("TDataType.h");
> G__add_compiledheader("TFunction.h");
> G__add_compiledheader("TGlobal.h");
> G__add_compiledheader("TMethod.h");
> G__add_compiledheader("TMethodArg.h");
> G__add_compiledheader("TMethodCall.h");
> G__add_compiledheader("TCint.h");
> G__add_compiledheader("TInterpreter.h");
> G__add_compiledheader("TToggle.h");
> G__add_compiledheader("TToggleGroup.h");
> G__cpp_reset_tagtableG__Meta();
>}
>
>while now we have:
>
>extern "C" void G__set_cpp_environmentG__Meta() {
> G__add_compiledheader("TROOT.h");
> G__add_compiledheader("<stdio.h");
> G__add_compiledheader("<bool.h");
> G__add_compiledheader("<stdarg.h");
> G__add_compiledheader("<string.h");
> G__add_compiledheader("TMemberInspector.h");
> G__add_compiledheader("TBaseClass.h");
> G__add_compiledheader("TClass.h");
> G__add_compiledheader("TDataMember.h");
> G__add_compiledheader("TDataType.h");
> G__add_compiledheader("TFunction.h");
> G__add_compiledheader("TGlobal.h");
> G__add_compiledheader("TMethod.h");
> G__add_compiledheader("TMethodArg.h");
> G__add_compiledheader("TMethodCall.h");
> G__add_compiledheader("TCint.h");
> G__add_compiledheader("<time.h"); //<-- these come from
>G__ci.h
> G__add_compiledheader("<math.h");
> G__add_compiledheader("<stddef.h");
> G__add_compiledheader("<stdlib.h");
> G__add_compiledheader("<signal.h");
> G__add_compiledheader("<assert.h");
> G__add_compiledheader("<limits.h");
> G__add_compiledheader("<setjmp.h");
> G__add_compiledheader("<ctype.h");
> G__add_compiledheader("<fcntl.h");
> G__add_compiledheader("<systypes.h");
> G__add_compiledheader("<unistd.h");
> G__add_compiledheader("TInterpreter.h");
> G__add_compiledheader("TToggle.h");
> G__add_compiledheader("TToggleGroup.h");
> G__cpp_reset_tagtableG__Meta();
>}
>
>Is there a quick fix for this?
>
>Cheers, Fons.
>
>
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:19 MET