diff options
author | Tom Tromey <tromey@redhat.com> | 2005-03-23 20:27:12 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-03-23 20:27:12 +0000 |
commit | 85c4f26a8651192648d1d4ce37009d838abe4152 (patch) | |
tree | bd69a3ee7525a63aa54ad42136e26863f186a9df | |
parent | d101034cd879822fbb76d8a2a50e4e27959e9d5b (diff) | |
download | gcc-85c4f26a8651192648d1d4ce37009d838abe4152.zip gcc-85c4f26a8651192648d1d4ce37009d838abe4152.tar.gz gcc-85c4f26a8651192648d1d4ce37009d838abe4152.tar.bz2 |
jvm.h (GCJ_40_BC_ABI_VERSION): New define.
libjava:
* include/jvm.h (GCJ_40_BC_ABI_VERSION): New define.
(_Jv_CheckABIVersion): Use it.
gcc/java:
* decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
(parse_version): Use it.
From-SVN: r96948
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/decl.c | 9 | ||||
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/include/jvm.h | 11 |
4 files changed, 25 insertions, 5 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 70ad11c..16b956e 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2005-03-23 Tom Tromey <tromey@redhat.com> + + * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define. + (parse_version): Use it. + 2005-03-23 Joseph S. Myers <joseph@codesourcery.com> * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 2f9da97..d462f26 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -64,6 +64,13 @@ static void parse_version (void); /* Used when computing the ABI version. */ #define GCJ_BINARYCOMPAT_ADDITION 5 +/* The version of the BC ABI that we generate. At the moment we are + compatible with what shipped in GCC 4.0. This must be kept in sync + with parse_version(), libgcj, and reality (if the BC format + changes, this must change. */ +#define GCJ_CURRENT_BC_ABI_VERSION \ + (4 * 10000 + 0 * 10 + GCJ_BINARYCOMPAT_ADDITION) + /* The ABI version number. */ tree gcj_abi_version; @@ -609,7 +616,7 @@ parse_version (void) (objects generated by different version of gcj), but will probably always require strict matching for ordinary ABI. */ if (flag_indirect_dispatch) - abi_version += GCJ_BINARYCOMPAT_ADDITION; + abi_version = GCJ_CURRENT_BC_ABI_VERSION; gcj_abi_version = build_int_cstu (ptr_type_node, abi_version); } diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c3be587..14c5079 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2005-03-23 Tom Tromey <tromey@redhat.com> + + * include/jvm.h (GCJ_40_BC_ABI_VERSION): New define. + (_Jv_CheckABIVersion): Use it. + 2005-03-22 Mike Stump <mrs@apple.com> * stacktrace.cc: Delete unused _Jv_FindCallingClassState. diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 6234788..7a5a4ea 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -562,14 +562,17 @@ extern void _Jv_RegisterBootstrapPackages (); #define GCJ_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 10) #define GCJ_BINARYCOMPAT_ADDITION 5 +// At present we know we are compatible with the BC ABI as used in GCC +// 4.0. +#define GCJ_40_BC_ABI_VERSION (4 * 10000 + 0 * 10 + GCJ_BINARYCOMPAT_ADDITION) + inline bool _Jv_CheckABIVersion (unsigned long value) { - // For this release, recognize just our defined C++ ABI and our - // defined BC ABI. (In the future we may recognize past BC ABIs as - // well.) + // Recognize our defined C++ ABI. return (value == GCJ_VERSION - || value == (GCJ_VERSION + GCJ_BINARYCOMPAT_ADDITION)); + // At the moment this is the only BC ABI we recognize. + || value == GCJ_40_BC_ABI_VERSION); } // It makes the source cleaner if we simply always define this |