diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-12 01:27:15 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-12 01:27:15 +0000 |
commit | fffadcfa2f45575f6a4f5d68fb8f7c3ef732d794 (patch) | |
tree | 9f39fff82022b1ead94d585a390edb4a4f526870 /libjava/include | |
parent | 9508132a0f3d625ed0b5e8fc2f4f65faa18d2160 (diff) | |
download | gcc-fffadcfa2f45575f6a4f5d68fb8f7c3ef732d794.tar.gz |
gcc/java:
* gcj.texi (Code Generation): Document -fbootstrap-classes.
* decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
(parse_version): Use it.
* lang.opt (-fbootstrap-classes): New option.
libjava:
* external/w3c_dom/Makefile.in: Rebuilt.
* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added
-fbootstrap-classes.
* external/sax/Makefile.in: Rebuilt.
* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added
-fbootstrap-classes.
* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as
friend.
* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
Call _Jv_CopyClassesToSystemLoader.
* java/lang/natClassLoader.cc (system_class_list): New global.
(_Jv_RegisterClassHookDefault): Handle bootstrap and system
classes differently.
(_Jv_CopyClassesToSystemLoader): New function.
(SYSTEM_LOADER_INITIALIZED): New define.
* include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define.
(_Jv_CheckABIVersion): Use it.
(_Jv_ClassForBootstrapLoader): New function.
* Makefile.in: Rebuilt.
* Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99604 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/include')
-rw-r--r-- | libjava/include/jvm.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 90b61627f3d..6b978f906e4 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -565,6 +565,7 @@ extern void _Jv_RegisterBootstrapPackages (); // This is used to find ABI versions we recognize. #define GCJ_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 10) #define GCJ_BINARYCOMPAT_ADDITION 5 +#define GCJ_BOOTSTRAP_LOADER_ADDITION 1 // At present we know we are compatible with the BC ABI as used in GCC // 4.0. @@ -573,10 +574,18 @@ extern void _Jv_RegisterBootstrapPackages (); inline bool _Jv_CheckABIVersion (unsigned long value) { - // Recognize our defined C++ ABI. + // Recognize our defined C++ ABIs. return (value == GCJ_VERSION - // At the moment this is the only BC ABI we recognize. - || value == GCJ_40_BC_ABI_VERSION); + || value == (GCJ_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION) + || value == GCJ_40_BC_ABI_VERSION + || value == (GCJ_40_BC_ABI_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION)); +} + +inline bool +_Jv_ClassForBootstrapLoader (unsigned long value) +{ + return (value == (GCJ_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION) + || value == (GCJ_40_BC_ABI_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION)); } // It makes the source cleaner if we simply always define this |