summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/defineclass.cc8
2 files changed, 11 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 53c1b54d84f..5cc87d9200e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2007-09-17 Tom Tromey <tromey@redhat.com>
+
+ * defineclass.cc (MAJOR_1_6): New define.
+ (MINOR_1_6): Likewise.
+ (_Jv_ClassReader::parse): Handle 1.6 bytecode.
+
2007-09-12 David Daney <ddaney@avtrex.com>
* configure.host: Enable interpreter for mips64. Enable hash
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc
index 2024fb6440d..3416c468071 100644
--- a/libjava/defineclass.cc
+++ b/libjava/defineclass.cc
@@ -359,6 +359,8 @@ _Jv_DefineClass (jclass klass, jbyteArray data, jint offset, jint length,
#define MINOR_1_4 0
#define MAJOR_1_5 49
#define MINOR_1_5 0
+#define MAJOR_1_6 50
+#define MINOR_1_6 0
void
_Jv_ClassReader::parse ()
@@ -369,10 +371,10 @@ _Jv_ClassReader::parse ()
int minor_version = read2u ();
int major_version = read2u ();
- if (major_version < MAJOR_1_1 || major_version > MAJOR_1_5
- || (major_version == MAJOR_1_5 && minor_version > MINOR_1_5))
+ if (major_version < MAJOR_1_1 || major_version > MAJOR_1_6
+ || (major_version == MAJOR_1_6 && minor_version > MINOR_1_6))
throw_class_format_error ("unrecognized class file version");
- is_15 = (major_version == MAJOR_1_5);
+ is_15 = (major_version >= MAJOR_1_5);
pool_count = read2u ();