From: Tom Tromey Date: Fri, 2 Nov 2007 20:02:35 +0000 (+0000) Subject: re PR java/33765 (gcj internal compiler error when reading an empty file) X-Git-Tag: releases/gcc-4.3.0~1691 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c4b32bcdc8455d77f73eb56e8fec9ca74fe6be2;p=thirdparty%2Fgcc.git re PR java/33765 (gcj internal compiler error when reading an empty file) PR java/33765: * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files. * zipfile.h (ZIPEMPTYMAGIC): New define. From-SVN: r129860 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 587178dd6de8..194edc55a78d 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2007-11-02 Tom Tromey + + PR java/33765: + * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files. + * zipfile.h (ZIPEMPTYMAGIC): New define. + 2007-11-01 Tom Tromey * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h. diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index a544163c4418..ab2a385e0e10 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -1946,6 +1946,10 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED) #endif parse_zip_file_entries (); } + else if (magic == (JCF_u4) ZIPEMPTYMAGIC) + { + /* Ignore an empty input jar. */ + } else { gcc_unreachable (); diff --git a/gcc/java/zipfile.h b/gcc/java/zipfile.h index 39e3a5f221d3..d78226a495cb 100644 --- a/gcc/java/zipfile.h +++ b/gcc/java/zipfile.h @@ -58,6 +58,7 @@ extern struct ZipFile *SeenZipFiles; #define ZIPDIR_NEXT(ZIPD) \ ((ZipDirectory*)((char*)(ZIPD)+(ZIPD)->direntry_size)) #define ZIPMAGIC 0x504b0304 +#define ZIPEMPTYMAGIC 0x504b0506 extern ZipFile * opendir_in_zip (const char *, int); extern int read_zip_archive (ZipFile *);