* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89184
138bc75d-0d04-0410-961f-
82ee72b054a4
+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
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 $@ \
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++)
{
#define JAVAOP(NAME, CODE, KIND, TYPE, VALUE) OPCODE_##NAME = CODE,
#include "javaop.def"
#undef JAVAOP
+LAST_AND_UNUSED_JAVA_OPCODE
};
#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. */
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);
{ 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
/* 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