class.c (ident_subst): Always alloca buffer.
* class.c (ident_subst): Always alloca buffer. * java-opcodes.h (LAST_AND_UNUSED_JAVA_OPCODE): Add this dummy opcode after including javaop.def. * jcf-dump.c (CHECK_PC_IN_RANGE): Return 0 from the arm of the conditional expression that exits, to avoid warnings. * verify.c (CHECK_PC_IN_RANGE): Mark the __GNUC__ definition as a user of an extension. * win32-host.c: Move check down to have non-empty file when WIN32 is not defined. * Make-lang.in (java-warn): Add STRICT_WARN. (java/jcf-io.o-warn): Don't have Werror for this file. * jcf-io.c (caching_stat): Add FIXME for non-POSIX scandir use. From-SVN: r89184
This commit is contained in:
parent
7c672dfc01
commit
7cefa0c165
8 changed files with 31 additions and 10 deletions
|
@ -1,3 +1,19 @@
|
|||
2004-10-17 Steven Bosscher <stevenb@suse.de>
|
||||
|
||||
* class.c (ident_subst): Always alloca buffer.
|
||||
* java-opcodes.h (LAST_AND_UNUSED_JAVA_OPCODE): Add this dummy
|
||||
opcode after including javaop.def.
|
||||
* jcf-dump.c (CHECK_PC_IN_RANGE): Return 0 from the arm of the
|
||||
conditional expression that exits, to avoid warnings.
|
||||
* verify.c (CHECK_PC_IN_RANGE): Mark the __GNUC__ definition as
|
||||
a user of an extension.
|
||||
* win32-host.c: Move check down to have non-empty file when
|
||||
WIN32 is not defined.
|
||||
|
||||
* Make-lang.in (java-warn): Add STRICT_WARN.
|
||||
(java/jcf-io.o-warn): Don't have Werror for this file.
|
||||
* jcf-io.c (caching_stat): Add FIXME for non-POSIX scandir use.
|
||||
|
||||
2004-10-16 Hans-Peter Nilsson <hp@bitrange.com>
|
||||
|
||||
* expr.c (expr_add_location): Move declaration to before all
|
||||
|
|
|
@ -118,11 +118,15 @@ JCFDUMP_OBJS = java/jcf-dump.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \
|
|||
|
||||
JVGENMAIN_OBJS = java/jvgenmain.o java/mangle_name.o errors.o intl.o
|
||||
|
||||
# Use loose warnings for this front end.
|
||||
java-warn = $(WERROR)
|
||||
# Use strict warnings for this front end.
|
||||
java-warn = $(STRICT_WARN)
|
||||
|
||||
# String length warnings
|
||||
jvspec.o-warn = -Wno-error
|
||||
|
||||
# Use of non-standardized scandir
|
||||
java/jcf-io.o-warn = -Wno-error
|
||||
|
||||
jc1$(exeext): $(JAVA_OBJS) $(BACKEND) $(LIBDEPS)
|
||||
rm -f $@
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
|
||||
|
|
|
@ -268,11 +268,8 @@ ident_subst (const char* old_name,
|
|||
int prefix_len = strlen (prefix);
|
||||
int suffix_len = strlen (suffix);
|
||||
int i = prefix_len + old_length + suffix_len + 1;
|
||||
#ifdef __GNUC__
|
||||
char buffer[i];
|
||||
#else
|
||||
char *buffer = alloca (i);
|
||||
#endif
|
||||
|
||||
strcpy (buffer, prefix);
|
||||
for (i = 0; i < old_length; i++)
|
||||
{
|
||||
|
|
|
@ -2,4 +2,5 @@ enum java_opcode {
|
|||
#define JAVAOP(NAME, CODE, KIND, TYPE, VALUE) OPCODE_##NAME = CODE,
|
||||
#include "javaop.def"
|
||||
#undef JAVAOP
|
||||
LAST_AND_UNUSED_JAVA_OPCODE
|
||||
};
|
||||
|
|
|
@ -1181,7 +1181,7 @@ disassemble_method (JCF* jcf, const unsigned char *byte_ops, int len)
|
|||
#define VAR_INDEX_2 (saw_index = 1, IMMEDIATE_u2)
|
||||
|
||||
#define CHECK_PC_IN_RANGE(PC) (PC < 0 || PC > len ? \
|
||||
(fprintf(stderr, _("Bad byte codes.\n")), exit(-1)) : 1)
|
||||
(fprintf(stderr, _("Bad byte codes.\n")), exit(-1), 0) : 1)
|
||||
|
||||
/* Print out operand (if not implied by the opcode) for PUSCH opcodes.
|
||||
These all push a constant onto the opcode stack. */
|
||||
|
|
|
@ -376,7 +376,8 @@ caching_stat (char *filename, struct stat *buf)
|
|||
particular, the type of the function pointer passed as the
|
||||
third argument sometimes takes a "const struct dirent *"
|
||||
parameter, and sometimes just a "struct dirent *". We cast
|
||||
to (void *) so that either way it is quietly accepted. */
|
||||
to (void *) so that either way it is quietly accepted.
|
||||
FIXME: scandir is not in POSIX. */
|
||||
dent->num_files = scandir (filename, &dent->files,
|
||||
(void *) java_or_class_file,
|
||||
alphasort);
|
||||
|
|
|
@ -404,7 +404,8 @@ pop_argument_types (tree arg_types)
|
|||
{ oldpc = LABEL_PC (tmplab); goto verify_error; }} while (0)
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define CHECK_PC_IN_RANGE(PC) ({if (PC < 0 || PC > length) goto bad_pc; (void)1;})
|
||||
#define CHECK_PC_IN_RANGE(PC) __extension__ \
|
||||
({if (PC < 0 || PC > length) goto bad_pc; (void)1;})
|
||||
#else
|
||||
#define CHECK_PC_IN_RANGE(PC) (PC < 0 || PC > length ? (abort (), 0) : 1)
|
||||
#endif
|
||||
|
|
|
@ -24,13 +24,14 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
|
|||
|
||||
/* Written by Mohan Embar <gnustuff@thisiscool.com>, March 2003. */
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "jcf.h"
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
|
|
Loading…
Add table
Reference in a new issue