1 2003-10-28 Frank Ch. Eigler <fche@redhat.com>
3 * verify.c (verify_jvm_instructions): Don't warn about legal
4 eh binding regions generated for example by jdk 1.4.1.
6 2003-10-24 David S. Miller <davem@redhat.com>
8 * jcf-parse.c (jcf_parse): Fix args to fatal_error().
10 2003-10-22 Andrew Haley <aph@redhat.com>
12 * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
13 (java_get_callee_fndecl): New.
15 * jcf-parse.c (java_parse_file): Call emit_catch_table().
17 * java-tree.h (ctable_decl): New.
19 (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
21 * decl.c (java_init_decl_processing): Add catch_class_type.
23 Add catch_classes field.
25 * class.c (build_indirect_class_ref): Break out from
27 (make_field_value): Check flag_indirect_dispatch.
28 (make_class_data): Ditto.
29 Tidy uses of PUSH_FIELD_VALUE.
30 Add field catch_classes.
31 (make_catch_class_record): New.
33 * java-tree.h (PUSH_FIELD_VALUE): Tidy.
35 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
37 * jcf-write.c: Follow spelling conventions.
40 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
42 * ChangeLog: Fix typos.
43 * expr.c: Fix comment typos.
44 * jcf-write.c: Likewise.
48 * parse-scan.y: Likewise.
51 2003-10-22 Tom Tromey <tromey@redhat.com>
53 * expr.c (expand_byte_code): Only warn about dead bytecode when
54 extra_warnings is set.
56 2003-10-22 Bryce McKinlay <bryce@mckinlay.net.nz>
58 Fix for PR java/12586.
59 * mangle.c (find_compression_record_match): Don't iterate through
60 package namespace elements unless they all match compression_table
63 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
65 * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
66 (generate-manpages): Likewise.
67 (java.maintainer-clean): Likewise.
71 (jv-scan.1): Likewise.
72 (jcf-dump.1): Likewise.
74 (jv-convert.1): Likewise.
76 (rmiregistry.1): Likewise.
77 (java.install-man): Likewise.
78 (parse-scan.o): Move and define complete compile line.
80 (jcf-tree-inline.o): Move.
82 2003-10-20 Mark Mitchell <mark@codesourcery.com>
84 * Make-lang.in (info): Update dependencies.
85 (java.install-info): Remove.
86 ($(srcdir)/java/gcj.info): Replace with ...
87 ($(docobjdir)/gcj.info): ... this.
89 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
91 * Make-lang.in: Replace uses of $(target_alias) with
92 $(target_noncanonical).
94 2003-10-09 Tom Tromey <tromey@redhat.com>
96 * decl.c (java_init_decl_processing): Declare signers field.
97 * class.c (make_class_data): Set signers field.
99 2003-10-09 Jason Merrill <jason@redhat.com>
101 * parse.y (patch_assignment): Use make_node to create a BLOCK.
102 * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
105 2003-10-06 Mark Mitchell <mark@codesourcery.com>
107 * Make-lang.in (java.info): Replace with ...
109 (java.dvi): Replace with ...
111 (java.generated-manpages): Replace with ...
113 2003-10-03 Kelley Cook <kelleycook@wideopenwest.com>
115 * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
117 2003-10-01 Andrew Haley <aph@redhat.com>
119 * jcf-parse.c (java_parse_file): Write otable and atable.
120 * java-tree.h (atable_methods): New.
122 (atable_syms_decl): New.
123 (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
124 JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
125 (symbol_*type): Rename method_symbol* to symbol*type.
126 (emit_offset_symbol_table): Delete.
127 (emit_symbol_table): New.
128 (get_symbol_table_index): New.
130 * expr.c (build_field_ref): Handle flag_indirect_dispatch.
131 (build_known_method_ref): Likewise.
132 (get_symbol_table_index): Rename from get_offset_table_index.
133 Parameterize to allow re-use by differing types of symbol table.
134 (build_invokevirtual): Pass table to get_offset_table_index.
135 * decl.c (java_init_decl_processing): Push types and decls for
136 atable and atable_syyms.
137 * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
138 (make_class_data): Add new fields atable and atable_syms.
139 (emit_symbol_table): Rename from emit_offset_symbol_table.
140 Parameterize to allow re-use by different types of symbol table.
141 (build_symbol_entry): Renamed from build_method_symbols_entry.
143 2003-09-30 Roger Sayle <roger@eyesopen.com>
145 * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
146 semantics for SAVE_EXPR, by caching the result in a temporary.
148 2003-09-28 Richard Henderson <rth@redhat.com>
150 * check-init.c (check_init): Save and restore input_location
151 instead of file and line separately.
152 * decl.c (java_expand_body): Likewise.
153 * jcf-write.c (generate_bytecode_insns): Likewise.
154 * parse.y (safe_layout_class): Likewise.
155 * jcf-parse.c (read_class, parse_class_file): Likewise.
156 (java_parse_file): Use %H for warning locator.
158 2003-09-28 Roger Sayle <roger@eyesopen.com>
160 * expr.c (java_check_reference): Use the semantics of COND_EXPRs
161 with void-type branches instead of using a COMPOUND_EXPR.
163 2003-09-28 Jeff Sturm <jsturm@one-point.com>
165 * decl.c (java_optimize_inline, dump_function): Remove.
166 * java-tree.h (java_optimize_inline): Remove declaration.
167 * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
168 * parse.y (source_end_java_method, java_expand_classes):
169 Likewise. Remove dead code.
171 2003-09-27 Roger Sayle <roger@eyesopen.com>
173 * lang.c (java_init_options): Set flag_evaluation_order.
174 * expr.c (force_evaluation_order): Don't attempt to force
175 evaluation order of binary operations using save_expr.
176 * parse.y (java_complete_lhs): No longer need to call
177 force_evaluation_order when constructing binary operators.
179 2003-09-27 Alexandre Petit-Bianco <apbianco@redhat.com>
180 Bryce McKinlay <bryce@mckinlay.net.nz>
183 * parse.y (not_accessible_field_error): New function.
184 (resolve_expression_name): Check field access permissions.
185 (resolve_qualified_expression_name): Use
186 not_accessible_field_error.
187 (resolve_qualified_expression_name): Likewise.
189 2003-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
191 * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
193 2003-09-23 Roger Sayle <roger@eyesopen.com>
195 * jcf-write.c (generate_bytecode_insns): Optimize binary operations
196 with equal operands without side-effects.
198 2003-09-22 Jeff Sturm <jsturm@one-point.com>
200 * decl.c (java_init_decl_processing): Don't emit otable decls
201 if flag_indirect_dispatch is not set.
203 2003-09-21 Richard Henderson <rth@redhat.com>
205 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
208 2003-09-21 Richard Henderson <rth@redhat.com>
210 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
211 resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
213 2003-09-20 Richard Henderson <rth@redhat.com>
215 * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
217 2003-09-18 Roger Sayle <roger@eyesopen.com>
219 * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
220 * check-init.c (check_init): Likewise.
222 2003-09-18 Roger Sayle <roger@eyesopen.com>
224 * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
226 2003-09-16 Andrew Haley <aph@redhat.com>
228 * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
230 2003-09-17 Ranjit Mathew <rmathew@hotmail.com>
233 * mangle.c (find_compression_record_match): Skip
234 over a "6JArray" (the array template mangled string)
236 (mangle_array_type): Correct minor typo.
237 (atms): Move definition to the beginning.
239 2003-09-16 Bryce McKinlay <bryce@mckinlay.net.nz>
241 * class.c (add_miranda_methods): Ensure super-interfaces are laid
242 out. Fix for PR java/12254.
244 2003-09-11 Richard Henderson <rth@redhat.com>
246 * parse.y (source_end_java_method): Update for new
247 cgraph_finalize_function argument.
249 2003-09-09 Richard Henderson <rth@redhat.com>
251 * parse.y (source_end_java_method): Update call to
252 cgraph_finalize_function.
254 2003-09-03 Jeff Sturm <jsturm@one-point.com>
256 * decl.c (java_expand_body): New function.
257 * expr.c (build_class_init): Set DECL_IGNORED_P.
258 * java-tree.h (start_complete_expand_method,
259 java_expand_body): Declare.
260 * jcf-parse.c (cgraph.h): Include.
261 (java_parse_file): Handle flag_unit_at_a_time.
262 * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
263 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
264 (java_estimate_num_insns): Use walk_tree_without_duplicates.
265 (java_start_inlining): New function.
266 * parse.h (java_finish_classes): Declare.
267 * parse.y: Include cgraph.h.
268 (block): Don't special-case empty block production.
269 (craft_constructor): Set DECL_INLINE.
270 (source_end_java_method): Handle flag_unit_at_a_time.
271 Replace inline code with call to java_expand_body.
272 (start_complete_expand_method): Remove static modifier.
273 (java_expand_method_bodies): Patch function tree for
274 class initialization and/or synchronization as needed.
275 Don't begin RTL expansion yet.
276 (java_expand_classes): Check flag_unit_at_a_time before
277 calling finish_class.
278 (java_finish_classes): New function.
279 (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
280 (patch_assignment): Set DECL_CONTEXT on temporary variable.
281 (emit_test_initialization): Set DECL_IGNORED_P.
283 2003-09-03 Roger Sayle <roger@eyesopen.com>
285 * builtins.c (enum builtin_type): Delete unused enumeration.
286 * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
288 2003-08-28 Tom Tromey <tromey@redhat.com>
290 * gcj.texi (Extensions): Document gcjlib URLs.
292 2003-08-20 Tom Tromey <tromey@redhat.com>
294 * gcj.texi (Extensions): Added xref.
295 (libgcj Runtime Properties): Document
296 gnu.gcj.runtime.VMClassLoader.library_control.
298 2003-08-20 Andrew Haley <aph@redhat.com>
300 * except.c (prepare_eh_table_type): Use new encoding for exception
301 handlers when using -fno-assume-compiled.
303 2003-08-13 Tom Tromey <tromey@redhat.com>
305 * gcj.texi (Invoking gij): Document -X and -?.
307 2003-08-13 Mohan Embar <gnustuff@thisiscool.com>
309 * Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
310 GCJH_OBJS, JCFDUMP_OBJS
311 * win32-host.c: Removed the unnecessary and broken dependency
314 2003-08-11 Tom Tromey <tromey@redhat.com>
316 * parse.y (java_check_regular_methods): Typo fixes. Call
317 check_interface_throws_clauses. Use
318 check_concrete_throws_clauses.
319 (check_interface_throws_clauses): New function.
320 (check_concrete_throws_clauses): New function.
321 (hack_is_accessible_p): New function.
322 (find_most_specific_methods_list): Added FIXME.
323 * typeck.c (lookup_do): Use `flags' argument to decide what to
325 (lookup_argument_method_generic): New function.
326 (lookup_argument_method2): Removed.
327 * jcf.h (ACC_INVISIBLE): New define.
328 * jcf-write.c (generate_classfile): Skip invisible methods.
329 * class.c (add_miranda_methods): New function.
330 (layout_class_methods): Use it.
331 (get_access_flags_from_decl): Use ACC_INVISIBLE.
332 * java-tree.h (METHOD_INVISIBLE): New define.
333 (lang_decl_func) [invisible]: New field.
334 (lookup_argument_method_generic): Declare.
335 (SEARCH_INTERFACE): New define.
336 (SEARCH_SUPER): Likewise.
337 (SEARCH_ONLY_INTERFACE): Likewise.
338 (SEARCH_VISIBLE): Likewise.
339 (lookup_argument_method2): Removed declaration.
341 2003-08-05 Tom Tromey <tromey@redhat.com>
343 Fix for PR java/11600:
344 * parse.y (java_complete_lhs): See whether we're calling a method
346 (check_thrown_exceptions): Added `is_array_call' argument;
347 fixed `clone' checking; updated all callers.
349 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
351 * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
353 2003-08-03 Tom Tromey <tromey@redhat.com>
355 * java-tree.h (METHOD_TRANSIENT): Removed.
356 * decl.c (pushdecl): Removed some dead code.
357 * class.c (get_access_flags_from_decl): Can't have transient
359 (add_method_1): Can't have a transient method.
361 2003-07-28 Andreas Jaeger <aj@suse.de>
363 * jvspec.c: Convert to ISO C90 prototypes.
365 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
367 * decl.c (force_poplevels): Fix warning call.
369 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
371 * expr.c (expand_java_field_op): Don't use xxx_with_decl
372 (expand_java_field_op): Likewise.
373 * class.c (layout_class_method): Likewise
374 (emit_register_classes): Likewise.
375 * decl.c (pushdecl): Likewise.
376 (poplevel): Likewise.
377 (force_poplevels): Likewise.
378 (give_name_to_locals): Likewise.
379 * check-init.c (check_for_initialization): Likewise.
381 2003-07-24 Jason Merrill <jason@redhat.com>
383 * java-tree.h: Move boolean_type_node et al to the back end.
385 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
387 * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
390 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
392 * lang.opt: Don't show -MD_ and -MDD_.
394 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
396 * lang-options.h: Remove.
397 * lang.opt: Add help text.
399 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
401 * expr.c: Remove the last argument to expand_assignment().
403 2003-07-09 Jan Hubicka <jh@suse.cz>
405 * java-tree.h (DECL_NUM_STMTS): Rename to...
406 (DECL_ESTIMATED_INSNS): ... this.
407 * lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
408 New static functions.
409 (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
410 * parser.y (add_stmt_to_compound): Do not account statements.
412 2003-07-08 Mark Wielaard <mark@klomp.org>
414 * gcj.texi: CNI now expands to Compiled Native Interface.
416 2003-07-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
418 * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
420 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
422 * expr.c (expand_byte_code): Adjist emit_line_note call.
424 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
426 * lang.c (java_handle_option): Don't handle filenames.
428 2003-07-02 Zack Weinberg <zack@codesourcery.com>
430 * jcf-path.c: Don't default-define PATH_SEPARATOR nor
433 * jcf-write.c: Don't default-define DIR_SEPARATOR.
434 * jcf.h: Delete COMPARE_FILENAMES definition.
436 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
438 * lang.c (java_init_options): Update prototype.
440 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
442 * decl.c (poplevel): Adjust define_label call.
444 2003-06-27 Zack Weinberg <zack@codesourcery.com>
446 * gjavah.c (flag_jni): Make non-static.
447 * parse-scan.y (ctxp): Make non-static.
449 * class.c (build_method_symbols_entry)
450 * expr.c (get_offset_table_index)
451 * jcf-parse.c (jcf_parse):
452 Mark the definition static, matching the forward declaration.
454 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
456 * lang.c (java_handle_option): Don't check for missing arguments.
458 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
460 * class.c (push_class): Use a location_t to save place.
461 (emit_register_classes): Set input_location. Adjust
462 expand_function_end call.
463 * resource.c (write_resource_constructor): Likewise.
464 * decl.c (end_java_method): Adjust expand_function_end call.
465 * parse.y (source_end_java_method): Likewise.
467 2003-06-17 Robert Abeles <rabeles@archaelogic.com>
469 * lang.c (java_handle_option): Likewise.
471 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
473 * lang.c (java_handle_option): Special-casing of optional
474 joined arguments no longer needed.
475 * lang.opt: Update switches that take optional argument.
477 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
479 * lang.opt: Declare Java.
480 * lang.c (java_init_options): Update.
482 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
484 * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
486 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
488 * lang-specs.h: Rewrite -MD and -MMD to append an underscore.
489 * lang.c (java_handle_option): -MD and -MMD have an underscore.
490 * lang.opt: -MD and -MMD have an underscore.
492 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
494 * class.c (emit_register_classes): Adjust init_function_start
496 * decl.c (complete_start_java_method): Likewise.
497 * resource.c (write_resource_constructor): Likewise.
499 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
501 * Make-lang.in: Update to use options.c and options.h.
502 * lang.c: Include options.h not j-options.h.
503 (java_handle_option): Abort on unrecognized option.
504 (java_init_options): Request Java switches.
506 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
508 * Make-lang.in: Handle mostlyclean.
510 2003-06-11 Tom Tromey <tromey@redhat.com>
512 * lang.c (java_handle_option): Update dependency_tracking for
515 * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
518 2003-06-10 Andrew Haley <aph@redhat.com>
520 * resource.c (write_resource_constructor): Use expand_expr to
521 generate the address of the label attached to a resource.
522 * Make-lang.in (java/resource.o): Add expr.h
524 2003-06-10 Andrew Haley <aph@redhat.com>
526 * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
527 (java_decl_ok_for_sibcall): New.
529 2003-06-09 Neil Booth <neil@daikokuya.co.uk>
531 * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
532 (java/j-options.c, java/j-options.h): New.
533 * java-tree.h (resource_name, compile_resource_file,
534 compile_resource_data): Constify.
535 * jcf-write.c (jcf_write_base_directory): Similarly.
536 * jcf.h (jcf_write_base_directory): Similarly.
537 * lang.c: Include j-options.h.
538 (cl_options_count, cl_options, string_option, java_decode_option,
539 lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
540 process_option_with_no): Remove.
541 (resource_name): Constify.
542 (LANG_HOOKS_HANDLE_OPTION): Override.
543 (java_handle_option): New.
544 (java_init): Don't call jcf_path_init.
545 (java_init_options): Call jcf_path_init.
547 * resource.c (compile_resource_data, compile_resource_file): Constify.
549 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
551 * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
552 (struct lang_decl_func): Add last_line field.
553 * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
554 DECL_SOURCE_LINE_LAST): Remove.
555 * parse.y (missing_return_error, finish_method_declaration,
556 lookup_cl, start_artificial_method_body, source_end_java_method,
557 start_complete_expand_method): Adjust.
559 2003-06-08 Tom Tromey <tromey@redhat.com>
561 * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
564 2003-06-08 Roger Sayle <roger@eyesopen.com>
566 * builtins.c (define_builtin_type, builtin_types): Delete.
567 (define_builtin): Rewritten to take just the built-in code,
568 the function's name, type and fallback library function name.
569 All built-ins used by Java are implicit and BUILT_IN_NORMAL.
570 (initialize_builtins): Overhaul to define the GCC builtins
571 used by gcj manually, providing the Java run-time's
572 implementations as the fallback library function.
574 2003-06-08 Anthony Green <green@redhat.com>
576 * parse.y (patch_cast): Fix conversions from floating-point to
579 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
581 * Make-lang.in: Update.
582 * lang.c: Include opts.h. Define cl_options_count and cl_options.
584 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
586 * lang.c (java_init_options): Update.
588 2003-06-05 Jan Hubicka <jh@suse.cz>
590 * Make-lang.in: Add support for stageprofile and stagefeedback
592 2003-05-31 Roger Sayle <roger@eyesopen.com>
594 * lang.c (java_init_options): Prescribe wrap-around two's
595 complement arithmetic overflow by setting flag_wrapv.
597 2003-05-29 Roger Sayle <roger@eyesopen.com>
599 * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
600 (builtin_record): Add an additional builtin_code field to
601 record which GCC built-in corresponds to the Java function.
602 (java_builtins): Add new entries for atan, atan2, exp, log,
604 (max_builtin, min_builtin, abs_builtin): Perform constant
605 folding on the resulting tree.
606 (java_build_function_call_expr): Likewise, perform constant
607 folding on the resulting tree.
608 (initialize_builtins): The NULL creators are now allowed in
609 the java_builtins table, which is now terminated by an entry
610 with builtin_code == END_BUILTINS.
611 (check_for_builtin): Likewise. If the matching creator is
612 NULL, construct the call using java_build_function_call_expr
613 directly with the decl for the corresponding builtin_code.
615 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
617 * win32-host.c: Normalize copyright boilerplate.
619 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
621 * parse.y (print_int_node): Use string concatentation on
622 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
623 function calls into one.
625 2003-05-13 Zack Weinberg <zack@codesourcery.com>
627 * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
628 fatal_io_error with calls to fatal_error; add ": %m" to the end of
629 all the affected error messages.
631 2003-05-13 Richard Henderson <rth@redhat.com>
633 * class.c (layout_class_method): Set DECL_EXTERNAL.
634 * decl.c (java_mark_decl_local, java_mark_class_local): New.
635 * java-tree.h (java_mark_class_local): Declare.
636 * jcf-parse.c (parse_class_file): Use it.
637 * parse.y (java_expand_classes): Likewise.
639 2003-05-04 Nathan Sidwell <nathan@codesourcery.com>
641 * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
642 * lex.h: #include input.h.
643 * jv-scan.c (input_filename): Remove.
645 2003-05-02 Tom Tromey <tromey@redhat.com>
648 * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
649 (handle_inner_classes): New function.
651 2003-05-01 Tom Tromey <tromey@redhat.com>
654 * parse.y (finish_for_loop): Do nothing if update expression is a
655 EXPR_WFL_NODE wrapping nothing.
656 (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
658 2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
660 * lex.h (input_lineno): Remove declaration.
661 * parse-scan.y: #include input.h.
662 (input_filename): Remove declaration.
663 (input_location): Add definition.
664 (input_line): Remove definition.
666 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
668 * lex.h (lineno): Rename to ...
669 (input_line): ... here
670 * parse-scan.y (lineno): Rename to ...
671 (input_line): ... here.
672 (reset_report): Rename lineno to input_line.
673 * check-init.c (check_init): Likewise.
674 * class.c (push_class): Likewise.
675 * decl.c (complete_start_java_method, end_java_method): Likewise.
676 * expr.c (expand_byte_code): Likewise.
677 * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
678 * jcf-write.c (generate_bytecode_insns): Likewise.
679 * lex.c (java_init_lex, java_allocate_new_line,
680 do_java_lex): Likewise.
681 * parse.h (YYNOT_TWICE): Likewise.
682 * parse.y (empty_statement, expression_statement,
683 java_pop_parser_context, java_parser_context_save_global,
684 yyerror, register_fields, method_header, safe_layout_class,
685 find_in_imports_on_demand, create_artificial_method,
686 source_end_java_method, start_complete_expand_method,
687 build_thisn_assign, java_complete_lhs,
688 maybe_absorb_scoping_block): Likewise.
690 2003-04-20 Mohan Embar <gnustuff@thisiscool.com>
692 * jcf-io.c (find_class): use DIR_SEPARATOR instead of
693 '/' when computing java source filename
695 2003-04-13 Tom Tromey <tromey@redhat.com>
697 * gjavah.c (print_c_decl): Indentation fix.
699 2003-04-12 Zack Weinberg <zack@codesourcery.com>
701 * class.c (make_field_value, make_method_value, get_dispatch_table)
702 (make_class_data, emit_offset_symbol_table)
703 * constants.c (build_constants_constructor)
704 * java-tree.h (START_RECORD_CONSTRUCTOR)
705 * parse.y (maybe_build_array_element_wfl):
706 Use build_constructor.
708 2003-04-10 Eric Blake <ebb9@email.byu.edu>
711 * parse.y (string_convert_int_cst): Always use at least one digit
712 in string conversion. Remove ASCII dependence.
713 (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
715 2003-03-16 Mohan Embar <gnustuff@thisiscool.com>
717 * Make-lang.in: added win32-host.c
718 * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
719 resolves to open() on non-Win32 platforms and
720 Win32-specific jcf_open_exact_case() on Win32
721 * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
722 when trying .java and .class files
723 * win32-host.c: added to repository. Defines
724 Win32-specific jcf_open_exact_case()
726 2003-04-10 Andrew Haley <aph@redhat.com>
728 * jcf-write.c (struct jcf_partial): num_jsrs: new field.
729 (maybe_free_localvar): Renamed from localvar_free.
731 (generate_bytecode_insns): Set new variable, jsrs.
732 Only free local vars if no jsr insns have been emittted.
733 Call maybe_free_localvar, not localvar_free.
735 2003-03-30 Joseph S. Myers <jsm@polyomino.org.uk>
737 * gcj.texi: Remove @ at start of file.
739 2003-03-25 Tom Tromey <tromey@redhat.com>
741 * parse.y (create_interface): Call CHECK_DEPRECATED.
743 2003-03-23 Zack Weinberg <zack@codesourcery.com>
745 * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
747 2003-03-21 Zack Weinberg <zack@codesourcery.com>
749 * javaop.h (jfloat, jdouble): Make them structures mirroring
750 the bit fields of IEEE float and double respectively.
751 (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
752 JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
753 (union Word, union DWord): Delete.
754 (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
756 * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
758 (jni_print_float, jni_print_double): New. Generate
759 hexadecimal floating constants.
760 (print_field_info): Use jni_print_float/double.
762 * jcf-dump.c: Include math.h. Use ldexp/frexp to assemble
763 finite floating point numbers for output; special case
766 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
768 * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
769 Replace 0 and 1 with true and false in return statements.
771 2003-03-19 Tom Tromey <tromey@redhat.com>
773 * lex.c (do_java_lex): Renamed from java_lex.
774 (java_lex): New function.
777 2003-03-13 Tom Tromey <tromey@redhat.com>
779 * parse.y (resolve_inner_class): Error if qualifier is a primitive
782 2003-03-04 Andrew Haley <aph@redhat.com>
784 * gjavah.c (is_first_data_member): New global variable.
785 (print_c_decl): If it's the first data member, align it as the
787 (process_file): Set is_first_data_member.
789 2003-03-11 Tom Tromey <tromey@redhat.com>
791 * parse.y (resolve_field_access): Initialize class if field is
792 found in another static field.
793 * expr.c (build_class_init): Don't optimize out initialization of
794 implemented interface.
796 2003-03-11 Andrew Haley <aph@redhat.com>
798 * jcf-io.c (caching_stat): Initialize origsep to remove compiler
801 2003-03-10 Ranjit Mathew <rmathew@hotmail.com>
803 * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
804 and DIR_SEPARATOR_2 for a target.
807 * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
808 and DIR_SEPARATOR_2 for a target into account.
810 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
812 * lang.c (java_init): Update prototype, move code to java_post_options.
813 (java_post_options): Similarly.
815 2003-03-05 Ranjit Mathew <rmathew@hotmail.com>
817 * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
818 compare file name components depending on the case-sensitivity
819 or otherwise of the host file system.
821 * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
822 "strcmp" to compare file name components.
823 Use IS_DIR_SEPARATOR instead of comparing directly against
825 (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
826 comparing directly against DIR_SEPARATOR.
828 2003-03-04 Tom Tromey <tromey@redhat.com>
830 * Make-lang.in (java.tags): New target.
832 2003-03-01 Roger Sayle <roger@eyesopen.com>
834 * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
835 (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
837 2003-03-01 Tom Tromey <tromey@redhat.com>
839 * parse.y (jdep_resolve_class): Only check deprecation if we found
842 2003-02-28 Tom Tromey <tromey@redhat.com>
845 * class.c (maybe_layout_super_class): Always pass a WFL to
847 * parse.y (do_resolve_class): Updated comment to explain
850 2003-02-26 Tom Tromey <tromey@redhat.com>
852 * jcf-write.c (generate_classfile): Check whether class is
853 deprecated before writing attribute count.
855 2003-02-25 Roger Sayle <roger@eyesopen.com>
857 * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
858 built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
860 2003-02-23 Tom Tromey <tromey@redhat.com>
862 * lang-options.h: Added -Wdeprecated.
863 * gcj.texi (Warnings): Document -Wdeprecated.
864 * java-tree.h (flag_deprecated): Declare.
865 * lang.c (lang_W_options): Added deprecated.
866 (flag_deprecated): New global.
867 * chartables.h: Rebuilt.
868 * gen-table.pl (process_one): Look at whitespace.
869 (print_tables): Define LETTER_SPACE, LETTER_MASK.
870 * parse.h (CLEAR_DEPRECATED): New macro.
871 (CHECK_DEPRECATED_NO_RESET): New macro.
872 * jcf-parse.c (handle_deprecated): New function.
873 (HANDLE_DEPRECATED_ATTRIBUTE): New define.
874 * jcf-reader.c (get_attribute): Handle Deprecated attribute.
875 * parse.y (resolve_type_during_patch): Check deprecation.
876 (jdep_resolve_class): Likewise.
877 (process_imports): Likewise.
878 (resolve_expression_name): Likewise.
879 (check_deprecation): Strip arrays from decl. Check
881 (patch_method_invocation): Also check the particular constructor
883 (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
884 * jcf-write.c (append_deprecated_attribute): New function.
885 (generate_classfile): Generate deprecated attribute when
887 * lex.c (java_parse_doc_section): Return type now void. Rewrote.
888 (java_lex) [case '*']: Simplify logic.
889 (java_start_char_p): Use LETTER_MASK.
890 (java_part_char_p): Likewise.
891 (java_space_char_p): New function.
893 2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
895 Change base class access representation.
896 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
897 (add_interface_do): Likewise.
899 2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
901 * decl.c (java_init_decl_processing): Change
902 soft_lookupjnimethod_node to reflect the change in
903 signature of _Jv_LookupJNIMethod in libjava/jni.cc
904 * expr.c (build_jni_stub): Calculate and pass the size
905 on the stack of the arguments to a JNI function. Use
906 new target macro MODIFY_JNI_METHOD_CALL to allow a
907 target to modify the call to a JNI method.
909 2003-02-08 Roger Sayle <roger@eyesopen.com>
911 * jcf-io.c (java_or_class_file): Use libiberty's lbasename
912 instead of basename to avoid compiler warnings on Tru64.
914 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
916 * gcj.texi: Update to GFDL 1.2.
918 2003-01-31 Andrew Haley <aph@redhat.com>
920 * parse.y (java_expand_classes): Scan the whole class list looking
921 for access methods that haven't yet been expanded.
923 2003-01-31 Adrian Bunk <bunk@fs.tum.de>
927 * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
928 to fix bootstrap on sparc-unknown-netbsdelf1.5.
929 * jcf-parse.c: Likewise.
931 2003-01-31 Mark Wielaard <mark@klomp.org>
933 * gjavah.c (throwable_p): Allocate 1 more byte for string.
935 2003-01-31 Nathan Sidwell <nathan@codesourcery.com>
937 * class.c (make_class): Use BINFO_ELTS.
938 (set_super_info): Likewse.
939 (add_interface_do): Likewise.
941 2003-01-30 Tom Tromey <tromey@redhat.com>
943 * jcf-parse.c (read_class): Update identifier's class value if it
944 changed during parsing.
946 2003-01-30 Loren James Rittle <ljrittle@acm.org>
948 * Make-lang.in (po-generated): Find the targets in $(parsedir).
949 Propagate change to all other rules as required.
950 (java/parse-scan.o): Add explicit dependency on
951 $(parsedir)/java/parse-scan.c .
953 2003-01-29 Tom Tromey <tromey@redhat.com>
955 * parse.y (patch_assignment): Only transform the rhs of an
956 assignment when compiling to native.
958 2003-01-28 Tom Tromey <tromey@redhat.com>
960 * jcf-write.c (generate_bytecode_conditional): Typo fixes.
962 2003-01-28 Tom Tromey <tromey@redhat.com>
964 * lex.c (java_lex): Don't include UEOF as part of token.
965 (java_read_unicode): Error if \u sequence prematurely terminated.
967 2003-01-27 Tom Tromey <tromey@redhat.com>
969 * parse.y (java_check_regular_methods): Check for construct after
970 checking types in throws clause.
972 2003-01-24 Tom Tromey <tromey@redhat.com>
974 * class.c (build_static_field_ref): Only a String or numeric field
975 can fold to a constant.
977 2003-01-23 Tom Tromey <tromey@redhat.com>
979 * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
980 file name in resource buffer.
982 2003-01-23 Tom Tromey <tromey@redhat.com>
984 * expr.c (build_known_method_ref): Use method's context to find
987 2003-01-23 Tom Tromey <tromey@redhat.com>
989 * constants.c (set_constant_entry): Allocated cleared memory.
991 2003-01-22 Tom Tromey <tromey@redhat.com>
993 * java-tree.h: Don't use PARAMS.
994 * resource.c: Add prototypes for all functions.
995 (write_resource_constructor): Use `const char *' to avoid
998 2003-01-22 Nathanael Nerode <neroden@gcc.gnu.org>
1000 * jcf-parse.c (process_zip_dir): Remove unused variable.
1002 2003-01-22 Tom Tromey <tromey@redhat.com>
1004 * expr.c (build_invokeinterface): Abort if method's context is not
1007 2003-01-22 Tom Tromey <tromey@redhat.com>
1009 * gcj.texi (Input and output files): Mention non-class entries.
1010 * decl.c (java_init_decl_processing): Call
1011 init_resource_processing.
1012 * java-tree.h (compile_resource_data, write_resource_constructor,
1013 compile_resource_file, init_resource_processing): Declare.
1014 * config-lang.in (gtfiles): Added resource.c.
1015 * Make-lang.in (gt-java-resource.h): New target.
1016 (JAVA_OBJS): Added resource.o.
1017 (java/resource.o): New target.
1018 * resource.c: New file.
1019 * class.c (compile_resource_file): Moved to resource.c.
1020 (registerResource_libfunc): Likewise.
1021 (utf8_decl_list): Mark with GTY; now static.
1022 * jcf-parse.c (classify_zip_file): New function.
1023 (parse_zip_file_entries): Use it; compile .properties files.
1024 (process_zip_dir): Use classify_zip_file and compute_class_name.
1025 Don't write class name into zip directory.
1026 (java_parse_file): Call write_resource_constructor.
1027 (compute_class_name): New function.
1028 * jcf-io.c (read_zip_member): Reindented.
1030 2003-01-21 Tom Tromey <tromey@redhat.com>
1032 * class.c (supers_all_compiled): New function.
1033 (make_class_data): Use it.
1035 2003-01-21 Tom Tromey <tromey@redhat.com>
1037 * parse.y (method_header): Native method can't be strictfp.
1038 No method can be transient or volatile.
1040 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1042 Make-lang.in (jvspec.o-warn): Add -Wno-error.
1044 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
1046 * check-init.c: Fix comment typos.
1047 * class.c: Likewise.
1048 * constants.c: Likewise.
1050 * except.c: Likewise.
1052 * java-except.h: Likewise.
1053 * java-tree.h: Likewise.
1054 * javaop.h: Likewise.
1055 * jcf-dump.c: Likewise.
1056 * jcf-io.c: Likewise.
1057 * jcf-parse.c: Likewise.
1058 * jcf-write.c: Likewise.
1060 * mangle.c: Likewise.
1061 * typeck.c: Likewise.
1062 * verify.c: Likewise.
1064 2003-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1066 * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
1067 * jcf-write.c: Include "tm_p.h".
1069 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1071 * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
1073 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1075 * builtins.c (java_build_function_call_expr): Renamed from
1076 build_function_call_expr. All callers changed.
1078 * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
1079 * jcf-parse.c: Include tm_p.h.
1081 * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
1084 2003-01-14 Tom Tromey <tromey@redhat.com>
1086 * class.c (make_class_data): Check that super is compiled before
1087 building class reference to it.
1089 2003-01-14 Andrew Haley <aph@redhat.com>
1091 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
1092 varargs function -- correct.
1094 2003-01-14 Andrew Haley <aph@redhat.com>
1096 * decl.c (java_init_decl_processing): Temporarily back out previous patch.
1098 2003-01-14 Andrew Haley <aph@redhat.com>
1100 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
1101 varargs function -- correct.
1103 * parse.y (patch_assignment): Copy the rhs of an assignment into a
1104 temporary if the RHS is a reference.
1106 2003-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1108 * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
1109 * keyword.h: Regenerated.
1111 * All Files: Convert to ISO C style function definitions.
1113 2003-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
1115 * parse.y (check_pkg_class_access): ANSIfy definition.
1117 2003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1119 * decl.c, parse-scan.y, parse.y: Don't cast return value of
1122 * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
1124 2003-01-09 Geoffrey Keating <geoffk@apple.com>
1126 Merge from pch-branch:
1128 2002-12-02 Geoffrey Keating <geoffk@apple.com>
1130 * Make-lang.in (java/gjavah.o): Update dependencies.
1131 * gjavah.c: Include ggc.h.
1133 2002-08-16 Geoffrey Keating <geoffk@redhat.com>
1135 * Make-lang.in (GCJH_OBJS): Add ggc-none.o.
1136 (JCFDUMP_OBJS): Add ggc-none.o.
1137 (java/jcf-dump.o): Depend on GGC_H.
1138 * jcf-reader.c (jcf_parse_constant_pool): Use ggc_alloc to allocate
1139 CPool substructures.
1140 * jcf-parse.c (process_zip_dir): Use ggc_alloc to allocate JCFs.
1141 * jcf-dump.c: Include ggc.h.
1143 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
1145 * jcf.h (union cpool_entry): New.
1146 (struct CPool): Use gengtype to mark. Change field 'data' to be
1148 (struct JCF): Use gengtype to mark.
1149 (CPOOL_UINT): Update for new cpool_entry type.
1150 (CPOOL_USHORT1): Likewise.
1151 (CPOOL_USHORT2): Likewise.
1152 (CPOOL_FINISH): Use GC to free cpool subfields.
1153 * parse.h (struct parser_ctxt): Mark field current_jcf.
1154 * lex.c (java_init_lex): Use GC to allocate struct JCF.
1155 * jcf-parse.c (HANDLE_CONSTANT_Utf8): Update for new cpool_entry type.
1156 (main_jcf): Use gengtype to mark.
1157 (ggc_mark_jcf): Delete.
1158 (get_constant): Update for new cpool_entry type.
1159 (give_name_to_class): Likewise.
1160 (get_class_constant): Likewise.
1161 (init_outgoing_cpool): Use GGC to allocate struct CPool.
1162 (java_parse_file): Use GGC to allocate struct JCF.
1163 (init_jcf_parse): Don't call ggc_add_root.
1164 * jcf-reader.c (jcf_parse_constant_pool): Update for new
1166 * java-tree.h (current_jcf): Use gengtype to mark.
1167 (CPOOL_UTF): Update for new cpool_entry type.
1168 (outgoing_cpool): Use gengtype to mark.
1169 (struct lang_type): GC struct JCF and struct CPool.
1170 * config-lang.in (gtfiles): Add jcf.h.
1171 * constants.c (find_tree_constant): New.
1172 (set_constant_entry): Allocate cpool subfields using GGC. Update
1173 for new cpool_entry type.
1174 (find_constant1): Update for new cpool_entry type.
1175 (find_constant2): Likewise.
1176 (find_utf8_constant): Use find_tree_constant.
1177 (find_class_or_string_constant): Remove unnecessary cast to jword.
1178 Update for new cpool_entry type.
1179 (count_constant_pool_bytes): Update for new cpool_entry type.
1180 (write_constant_pool): Likewise.
1181 (alloc_name_constant): Use find_tree_constant.
1182 (build_constants_constructor): Update for new cpool_entry type.
1184 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
1186 * parse.y (mark_parser_ctxt): Delete.
1187 (goal): Don't use ggc_add_root.
1188 (create_new_parser_context): Use GC to allocate struct parser_ctxt.
1189 (java_pop_parser_context): Let GC free parser_ctxt.
1190 (java_parser_context_resume): Likewise.
1191 * parse.h (struct parser_ctxt): Use gengtype to mark.
1193 (ctxp_for_generation): Likewise.
1194 * lex.h (struct java_lc_s): Mark for gengtype.
1195 (java_lexer): Rearrange for gengtype.
1196 * config-lang.in (gtfiles): Add lex.h, parse.h.
1198 2003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1200 * All Files: Remove PARAMS macro.
1202 * expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
1203 jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
1206 * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
1209 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
1211 * Make-lang.in (java.install-common, java.uninstall,
1212 java.install-info, java.install-man): Prepend $(DESTDIR)
1213 to destination paths in all (un)installation commands.
1214 (java.install-common): Rewrite $(LN) command to support
1215 DESTDIR with "ln" as well as with "ln -s".
1217 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
1219 * java-tree.h: Protect against multiple inclusion.
1221 2003-01-07 Tom Tromey <tromey@redhat.com>
1223 * class.c (add_assume_compiled): Don't adjust parent if we're
1224 already at the root of tree.
1226 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1228 * lang.c (dump_compound_expr): Prototype.
1230 2003-01-03 Tom Tromey <tromey@redhat.com>
1232 Fix for PR java/8712:
1233 * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR,
1234 when simply checking against `null'.
1236 2003-01-03 Tom Tromey <tromey@redhat.com>
1238 * gcj.texi (Standard Properties): Document http.proxyHost and
1241 * gcj.texi (GNU Classpath Properties): Document new properties.
1243 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
1245 * java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf,
1246 java/lang-options.h, java/mangle.c, java/mangle_name.c,
1247 java/xref.c, java/zextract.c,java/zipfile.h: Fix copyright years.
1249 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
1251 * Make-lang.in, boehm.c, buffer.c,
1252 buffer.h, builtins.c, class.c,
1253 config-lang.in, constants.c,
1254 convert.h, decl.c, except.c,
1255 expr.c, java-except.h,
1256 java-tree.h, javaop.def,
1257 jcf-parse.c, jcf-write.c,
1258 jv-scan.c, jvgenmain.c,
1259 jvspec.c, keyword.gperf,
1260 keyword.h, lang-options.h,
1261 lang-specs.h, lang.c, lex.c,
1262 lex.h, mangle.c, mangle_name.c,
1263 parse-scan.y, parse.h, parse.y,
1264 typeck.c, verify.c, xref.c,
1265 xref.h: Replace "GNU CC" with
1266 "GCC" in the copyright header.
1268 * check-init.c, gjavah.c, javaop.h,
1269 jcf-depend.c, jcf-dump.c, jcf-io.c,
1270 jcf-path.c, jcf-reader.c, jcf.h,
1271 zextract.c, zipfile.h: These files are
1272 "part of GCC". Also say "GCC" not "GNU CC".
1274 2002-12-30 DJ Delorie <dj@redhat.com>
1276 * Make-lang.in: Protect against texi2pod/pod2man failing.
1278 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
1280 * gcj.texi: Use @copying.
1282 2002-12-27 Mark Mitchell <mark@codesourcery.com>
1284 * gjavah.c (print_name_for_stub_or_jni): Adjust call to
1285 print_cxx_classname.
1286 (print_cxx_classname): Add add_scope parameter.
1287 (print_class_decls): Do not emit a semicolon after the extern
1289 (process_file): Adjust calls to print_cxx_classname.
1291 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
1293 * gcj.texi: Include Cover Texts in man page.
1295 2002-12-23 Jeff Sturm <jsturm@one-point.com>
1297 * class.c (build_static_field_ref): Check FIELD_FINAL.
1299 * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF
1300 instead of current_constant_pool_data_ref.
1301 * java-tree.h (current_constant_pool_data_ref): Undefine.
1302 (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove.
1303 * jcf-parse.c (init_outgoing_cpool): Don't initialize
1304 current_constant_pool_data_ref.
1306 * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
1307 not build_internal_class_name.
1309 * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
1310 Use it when class ref isn't certain to be compiled.
1312 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
1314 * gcj.texi: Include gcc-common.texi.
1315 * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on
1316 $(srcdir)/doc/include/gcc-common.texi.
1318 2002-12-22 Anthony Green <green@redhat.com>
1320 * gcj.texi (Limitations): Add note about org.xml.sax and
1323 2002-12-20 Tom Tromey <tromey@redhat.com>
1325 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
1326 where minimum case value is Integer.MIN_VALUE.
1329 2002-12-18 Andrew Haley <aph@redhat.com>
1331 * parse.y (patch_invoke): Force evaluation order when `check' is
1332 set. For PR libgcj/8945.
1334 2002-12-16 Mark Mitchell <mark@codesourcery.com>
1336 * gcj.texi: Change version number to 3.4.
1338 2002-12-05 Ranjit Mathew <rmathew@hotmail.com>
1339 Andrew Haley <aph@redhat.com>
1341 * parse.y (source_end_java_method): Remove custom encoding of line
1342 numbers for a function decl before passing it to the back end.
1344 2002-12-03 Andrew Haley <aph@redhat.com>
1346 * class.c (make_class_data): New field, "chain".
1347 * decl.c (java_init_decl_processing): Likewise.
1349 2002-12-02 Tom Tromey <tromey@redhat.com>
1352 * parse.y (do_resolve_class): Handle qualified name via
1355 2002-11-30 Zack Weinberg <zack@codesourcery.com>
1357 * boehm.c, buffer.c, builtins.c, check-init.c, class.c,
1358 constants.c, decl.c, except.c, expr.c, gjavah.c, jcf-depend.c,
1359 jcf-dump.c, jcf-io.c, jcf-parse.c, jcf-path.c, jcf-write.c,
1360 jv-scan.c, jvgenmain.c, jvspec.c, lang.c, mangle.c, mangle_name.c,
1361 parse-scan.y, parse.y, typeck.c, verify.c, xref.c, zextract.c:
1362 Include coretypes.h and tm.h.
1363 * Make-lang.in: Update dependencies.
1365 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1367 * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
1369 2002-11-25 Diego Novillo <dnovillo@redhat.com>
1371 * jcf-reader.c: Don't expand JCF_readu4 inside the
1372 expansion of JCF_SKIP.
1374 2002-11-25 Diego Novillo <dnovillo@redhat.com>
1376 * jcf-reader.c: Don't expand JCF_readu4 inside the
1377 expansion of JCF_SKIP.
1379 2002-11-22 Tom Tromey <tromey@redhat.com>
1381 * parse.y (patch_binop): Cast right hand side of shift expression
1382 to `int'. Fixes PR java/8676.
1384 2002-11-22 Ranjit Mathew <rmathew@hotmail.com>
1385 Andrew Haley <aph@redhat.com>
1387 * gcc/java/jcf-write.c (write_classfile): Remove target
1388 class file, if it exists, before renaming the temporary
1391 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
1393 * jvspec.c (lang_specific_spec_functions): New.
1395 2002-11-18 Tom Tromey <tromey@redhat.com>
1397 Fix for PR java/7912:
1398 * expr.c (can_widen_reference_to): Allow cast of array to
1399 Cloneable or Serializable.
1400 * java-tree.h (java_lang_cloneable_identifier_node): Declare.
1401 (java_io_serializable_identifier_node): Likewise.
1402 * parse.y (java_lang_cloneable, java_io_serializable): Removed.
1403 (valid_ref_assignconv_cast_p): Use new identifier nodes.
1404 * lex.c (java_init_lex): Don't initialize java_lang_cloneable and
1405 java_io_serializable.
1406 * decl.c (java_init_decl_processing): Initialize
1407 java_lang_cloneable_identifier_node and
1408 java_io_serializable_identifier_node.
1409 (java_lang_cloneable_identifier_node): New global.
1410 (java_io_serializable_identifier_node): Likewise.
1412 2002-11-14 Jens-Michael Hoffmann <jensmh@gmx.de>
1414 * buffer.c: Remove unnecessary casts.
1415 * check-init.c: Likewise.
1416 * class.c: Likewise.
1417 * constants.c: Likewise.
1419 * except.c: Likewise.
1420 * gjavah.c: Likewise.
1421 * jcf-io.c: Likewise.
1422 * jcf-parse.c: Likewise.
1423 * jcf-path.c: Likewise.
1424 * jvspec.c: Likewise.
1427 * verify.c: Likewise.
1429 2002-11-06 Tom Tromey <tromey@redhat.com>
1431 * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
1434 2002-11-05 Tom Tromey <tromey@redhat.com>
1436 Fix for PR java/6388.
1437 * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while.
1438 * java-tree.h (enum java_tree_index): New values
1439 JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE.
1440 (decimal_int_max, decimal_long_max): New defines.
1441 * lex.c (yylex): Rewrote range checking. Sign extend literals.
1442 (error_if_numeric_overflow): Rewrote range checking.
1443 * decl.c (java_init_decl_processing): Initialize decimal_int_max,
1446 2002-11-02 Tom Tromey <tromey@redhat.com>
1448 * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
1450 * class.c (make_method_value): Put class name, not signature, into
1451 `throws' field. For PR java/8415.
1453 2002-10-24 Tom Tromey <tromey@redhat.com>
1455 * gcj.texi (Invoking gij): Document --showversion.
1456 (Standard Properties): java.library.path now set.
1458 2002-10-23 Tom Tromey <tromey@redhat.com>
1460 * gjavah.c (decode_signature_piece): In JNI mode, print
1461 `jobjectArray' when array depth is nonzero.
1464 2002-10-15 Andrew Haley <aph@redhat.com>
1466 * parse.y (patch_invoke): Call force_evaluation_order on a static
1468 (resolve_qualified_expression_name): Call force_evaluation_order
1469 on a arg list that is part of a Qualified Expression Name.
1471 * lang.c (dump_compound_expr): New.
1472 (java_dump_tree): New.
1474 2002-10-20 Ranjit Mathew <rmathew@hotmail.com>
1476 * gcj.texi: Added item describing the GCJ runtime property
1479 2002-10-15 Richard Henderson <rth@redhat.com>
1481 * jcf-parse.c (get_constant): Fix type warning.
1483 2002-10-15 Andrew Haley <aph@redhat.com>
1485 * java-tree.h (java_inlining_merge_static_initializers): Declare.
1486 (java_inlining_map_static_initializers): Declare.
1488 2002-10-14 Andrew Haley <aph@redhat.com>
1490 * tree-inline.c (remap_block): All local class initialization
1491 flags go in the outermost scope.
1492 (expand_call_inline): Call java_inlining_map_static_initializers.
1493 (expand_call_inline): Call java_inlining_merge_static_initializers.
1494 * java/lang.c (merge_init_test_initialization): New.
1495 (java_inlining_merge_static_initializers): New.
1496 (inline_init_test_initialization): New.
1497 (java_inlining_map_static_initializers): New.
1499 2002-10-11 Mark Wielaard <mark@klomp.org>
1501 * gcj.texi (Compatibility): Add Limitations and Extensions section.
1503 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1505 * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
1507 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1509 * parse.y (merge_string_cste): Add parentheses around & within |.
1511 2002-10-08 Tom Tromey <tromey@redhat.com>
1513 * parse.y (variable_declarator_id): Simplify error path for
1514 array declarator error. For PR java/8003.
1516 2002-10-08 Zack Weinberg <zack@codesourcery.com>
1518 * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
1521 2002-10-08 Andrew Haley <aph@redhat.com>
1523 * parse.y (attach_init_test_initialization_flags): Check for
1526 2002-10-07 Anthony Green <green@redhat.com>
1528 * parse.y (merge_string_cste): Fix bug in string concatenation.
1530 2002-10-03 Michael Koch <konqueror@gmx.de>
1532 * gcj.texi (Standard properties):
1533 Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
1535 2002-10-02 Roger Sayle <roger@eyesopen.com>
1537 PR optimization/6627
1538 * lang.c (java_init): If storing the vbit in function
1539 pointers, ensure that force_align_functions_log is atleast
1540 one to aid compatability with g++ vtables.
1542 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
1544 * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
1545 foul of type-based aliasing.
1547 2002-09-30 Anthony Green <green@redhat.com>
1549 * gcj.texi (Invoking jv-scan): Fix texinfo.
1551 2002-09-28 Anthony Green <green@redhat.com>
1553 * gcj.texi (Invoking jv-scan): Add --no-assert documentation.
1554 (Code Generation): Add -fno-assert documentation.
1555 * jv-scan.c (flag_assert): New global.
1556 (options): Add assert option.
1557 (help): Add --no-assert documentation.
1558 * parse-scan.y (flag_assert): New global.
1559 * lang.c (lang_f_options): Add -fassert/-fno-assert support.
1560 (flag_assert): New global.
1561 * java-tree.h (flag_assert): New global.
1562 * lex.c (java_lex): Obey flag_assert.
1563 * jvspec.c (jvgenmain_spec): Strip -fassert/-fno-assert when
1566 2002-09-26 Andrew Haley <aph@redhat.com>
1568 * expr.c (build_java_array_length_access): Check for null pointer.
1569 * expr.c (expand_java_arrayload): Likewise.
1571 2002-09-21 Richard Henderson <rth@redhat.com>
1573 * jcf-parse.c (get_constant): Decode from IEEE no matter
1574 what the target format.
1576 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
1578 * ChangeLog: Follow spelling conventions.
1579 * class.c: Likewise.
1582 * gjavah.c: Likewise.
1583 * java-tree.h: Likewise.
1584 * jcf-dump.c: Likewise.
1585 * jcf-parse.c: Likewise.
1586 * jvspec.c: Likewise.
1588 * mangle.c: Likewise.
1589 * parse.y: Likewise.
1591 2002-09-17 Tom Tromey <tromey@redhat.com>
1593 * lex.c (java_read_unicode_collapsing_terminators): Handle case
1594 where \r appears at EOF. Fixes PR java/7950.
1596 2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1598 * jvspec.c (lang_specific_driver): Remove unused variable.
1600 2002-09-16 Geoffrey Keating <geoffk@apple.com>
1602 * java-tree.h (union lang_tree_node): Add chain_next option.
1604 2002-09-16 Richard Henderson <rth@redhat.com>
1606 * jcf-parse.c (get_constant): Runtime check for IEEE format;
1607 use new real.h interface.
1608 * jcf-write.c (find_constant_index): Use new real.h interface.
1609 * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
1611 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
1613 * lang.c: Follow spelling conventions.
1615 2002-09-11 Per Bothner <per@bothner.com>
1617 * parse.y (fold_constant_for_init): If a VAR_DECL, convert numerical
1618 constant to the type of the field.
1619 (java_complete_tree): Remove now-redundant code.
1621 * parse.y (fold_constant_for_init): 'null' is not a constant expr.
1623 2002-09-03 Jesse Rosenstock <jmr@ugcs.caltech.edu>
1626 * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
1627 return label if a ret instruction for the jsr has been reached.
1629 2002-09-09 Ranjit Mathew <rmathew@hotmail.com>
1631 * parse.y (DIR_SEPARATOR): Don't define.
1632 (check_class_interface_creation): Use IS_DIR_SEPARATOR.
1634 2002-08-28 Andrew Haley <aph@redhat.com>
1636 * verify.c (verify_jvm_instructions): Allow exception handler
1637 inside code that is being protected, but generate a warning.
1638 * except.c (link_handler): Initialize `expanded' in new eh_range.
1639 (binding_depth, is_class_level, current_pc): Declare extern.
1641 2002-09-01 Mark Wielaard <mark@klomp.org>
1643 * gcj.texi: Add chapter about system properties.
1646 2002-08-26 Tom Tromey <tromey@redhat.com>
1648 * parse.y (try_builtin_assignconv): Allow narrowing primitive
1649 conversion if RHS_TYPE is byte, short, or char.
1651 2002-08-22 Tom Tromey <tromey@redhat.com>
1653 * gcj.texi (Invoking gij): Document -cp and -classpath.
1655 2002-08-21 Tom Tromey <tromey@redhat.com>
1657 * Make-lang.in (java/jcf-path.o): Use $(datadir), not
1658 $(prefix)/share. For PR libgcj/7633.
1660 For PR java/6005 and PR java/7611:
1661 * lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define.
1662 (java_can_use_bit_fields_p): New function.
1664 2002-08-16 Tom Tromey <tromey@redhat.com>
1666 * gcj.texi (Class Initialization): Mention class initialization of
1669 2002-07-30 Andrew Haley <aph@cambridge.redhat.com>
1671 * Make-lang.in (java-tree-inline.o): New.
1672 (JAVA_OBJS): Add java-tree-inline.o.
1673 * parse.y (source_end_java_method): Call java_optimize_inline.
1674 (java_expand_method_bodies): Save method's tree in
1676 (add_stmt_to_compound): Keep track of the number of statments.
1677 * lang.c (java_init): Enable flag_inline_trees.
1678 (java_post_options): If flag_inline_functions is on, enable
1679 flag_inline_trees instread.
1680 (decl_constant_value): New.
1681 (java_tree_inlining_walk_subtrees): New.
1682 * java-tree.h (DECL_NUM_STMTS): New macro.
1683 (java_optimize_inline): Declare.
1684 * expr.c (java_expand_expr): Allow a BLOCK to return a value.
1685 Handle a LABEL_EXPR.
1686 * decl.c (build_result_decl): If we already have a DECL_RESULT
1688 (dump_function): New.
1689 (java_optimize_inline): New.
1690 (dump_function): New.
1692 2002-08-13 Jesse Rosenstock <jmr@fulcrummicro.com>
1695 * parse.y (build_assertion): Invert return from
1696 desiredAssertionStatus.
1698 2002-08-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1700 * jcf-write.c (get_access_flags): Return correct access flags for
1701 private and protected inner classes.
1703 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
1705 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
1707 2002-08-05 Geoffrey Keating <geoffk@redhat.com>
1709 * mangle_name.c: Don't include obstack.h twice.
1710 * xref.c: Don't include obstack.h.
1712 2002-08-04 Geoffrey Keating <geoffk@redhat.com>
1714 * class.c: (permanent_obstack): Delete declaration.
1715 * constants.c: (permanent_obstack): Delete declaration.
1716 * except.c: (permanent_obstack): Delete declaration.
1717 * expr.c: (permanent_obstack): Delete declaration.
1718 * jcf-parse.c: (permanent_obstack): Delete declaration.
1719 (saveable_obstack): Delete declaration.
1720 * parse.h: (permanent_obstack): Delete declaration.
1721 * typeck.c: (permanent_obstack): Delete declaration.
1723 2002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
1725 * gcj.texi (version-gcc): Increase to 3.3.
1727 2002-07-22 Tom Tromey <tromey@redhat.com>
1729 * lex.c (java_lex): Check for `e' or `E' after 0.
1731 2002-07-21 Richard Henderson <rth@redhat.com>
1733 * lang.c (java_unsafe_for_reeval): New.
1734 (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
1736 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
1738 * jcf-path.c (GET_ENV_PATH_LIST): Remove.
1739 (jcf_path_init): Use GET_ENVIRONMENT.
1741 2002-07-10 Roger Sayle <roger@eyesopen.com>
1742 Zack Weinberg <zack@codesourcery.com>
1744 * builtins.c (initialize_builtins): Remove defines that
1745 handled C/C++ specific junk hereby removed from builtins.def.
1747 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
1749 * lang.c (java_post_options): Update prototype.
1751 2002-07-05 Roger Sayle <roger@eyesopen.com>
1753 * builtins.c (initialize_builtins): Ignore the additional
1754 parameter to DEF_BUILTIN. Handle more C/C++ specific junk in
1755 the builtins.def file.
1757 2002-07-01 Tom Tromey <tromey@redhat.com>
1760 * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
1763 2002-07-01 Roger Sayle <roger@eyesopen.com>
1765 * java/decl.c (builtin_function): Accept additional parameter.
1766 (java_init_decl_processing): Pass an additional NULL_TREE
1767 argument to builtin_function.
1769 2002-06-29 T.J. Mather <tjmather@maxmind.com>
1771 * gcj.texi: Fixed gcj invocation example so that it compiles.
1773 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1775 * lex.c (java_init_lex): Avoid incorrect hardcoded constant 11.
1776 * parse.y (mark_parser_ctxt): Likewise.
1777 (check_modifiers, declare_local_variables): Avoid incorrect
1778 hardcoded constant 10.
1780 * lex.c (java_read_char): Avoid "comparison is always true"
1783 2002-06-25 Andreas Schwab <schwab@suse.de>
1785 * expr.c (JSR): Avoid undefined operation on PC.
1787 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1789 * decl.c (clear_binding_level): Const-ify.
1791 2002-06-13 Akim Demaille <akim@epita.fr>
1793 * parse.y (class_declaration, interface_declaration): Make sure
1794 all their rules have an action, in order to avoid meaningless `$$
1795 = $1' and their type clashes.
1797 2002-06-11 Tom Tromey <tromey@redhat.com>
1799 * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
1800 * parse-scan.y (statement_without_trailing_substatement): Added
1802 (assert_statement): New rule.
1803 * java-tree.h (struct lang_type) [assertions]: New field.
1804 (TYPE_USES_ASSERTIONS): New macro.
1805 (CLASS_USES_ASSERTIONS): Likewise.
1806 (FIELD_SYNTHETIC): New define.
1807 * lex.c (java_lval;): Added ASSERT_TK.
1808 * parse.y (ASSERT_TK): Added.
1809 (statement_without_trailing_substatement): Added assert_statement.
1810 (assert_statement): New rule.
1811 (build_assertion): New function.
1812 (maybe_generate_pre_expand_clinit): Create and initialize
1813 $assertionsDisabled.
1814 (lookup_package_type): Removed decl.
1815 * keyword.h: Rebuilt.
1816 * keyword.gperf (assert): New token.
1818 2002-06-10 Akim Demaille <akim@epita.fr>
1820 * parse.y (interface_type_list, class_member_declaration)
1821 (unary_expression_not_plus_minus): Remove duplicate %type.
1824 2002-06-09 Tom Tromey <tromey@redhat.com>
1826 * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
1828 * parse.y (method_header): Give error message in all cases.
1831 2002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1833 Don't use RTL inlining. Fix for PR java/6820.
1834 * lang.c (LANG_HOOKS_POST_OPTIONS): Define.
1835 (flag_really_inline): New.
1836 (java_decode_option): Set flag_really_inline if -finline-functions
1838 (java_post_options): New function. Turn off inlining unless
1839 flag_really_inline is set.
1841 2002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1843 * gjavah.c (throwable_p): Accept argument as either a classname or
1844 signature fragment. Create null-terminated classname string for super
1845 when calling itself recursively.
1846 (decode_signature_piece): Skip first character from class name
1847 signature when calling throwable_p.
1849 2002-06-08 H.J. Lu (hjl@gnu.org)
1851 * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
1853 2002-06-04 Tom Tromey <tromey@redhat.com>
1855 * jcf-write.c (perform_relocations): Optmize a goto to a goto.
1857 2002-06-04 Michael Koch <konqueror@gmx.de>
1859 * gcj.texi (Input Options): Fixed typo.
1861 2002-06-04 Zack Weinberg <zack@codesourcery.com>
1863 * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
1864 typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
1865 all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
1866 and all now-pointless local variables. Rename other local
1867 variables to reflect their not being handles.
1869 * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
1870 #if JCF_USE_STDIO blocks.
1872 * parse.y: Add missing semicolon at end of rule.
1874 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
1876 * check-init.c (attach_initialized_static_class): Delete, unused.
1877 * parse.y: Use htab_t instead of struct hashtable, update
1879 * java-tree.h: Include hashtab.h instead of hash.h.
1880 (struct lang_decl_func): Use htab_t, set up for gengtype.
1881 (struct init_test_hash_entry): Delete.
1882 (struct treetreehash_entry): New.
1883 (java_treetreehash_find): New
1884 (java_treetreehash_new): New prototype.
1885 (java_treetreehash_create): New prototype.
1886 (java_mark_tree): Delete prototype.
1887 (java_hash_hash_tree_node): Delete prototype.
1888 (java_hash_compare_tree_node): Delete prototype.
1889 (attach_initialized_static_class): Delete prototype.
1890 * expr.c (build_class_init): Update to use java_treetreehash
1892 (java_expand_expr): Update to use htab_t.
1893 (emit_init_test_initialization): Likewise.
1894 * decl.c (java_mark_tree): Delete.
1895 * class.c (init_test_hash_newfunc): Delete.
1896 (java_hash_hash_tree_node): Delete.
1897 (java_hash_compare_tree_node): Delete.
1898 (add_method_1): Update to use java_treetreehash functions.
1899 (JAVA_TREEHASHHASH_H): New macro.
1900 (java_treetreehash_hash): New function.
1901 (java_treetreehash_compare): New function.
1902 (java_treetreehash_find): New function.
1903 (java_treetreehash_new): New function.
1904 (java_treetreehash_create): New function.
1905 * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
1907 * Make-lang.in (java/parse.o): Depend on debug.h.
1908 * java-tree.h (struct lang_identifier): Use gengtype.
1909 (union lang_tree_node): New.
1910 (struct lang_decl_func): Use gengtype.
1911 (struct lang_decl_var): Likewise.
1912 (struct lang_decl): Likewise.
1913 * parse.y: Include debug.h.
1914 * lang.c (LANG_HOOKS_MARK_TREE): Delete.
1916 * lang.c (struct language_function): New dummy structure.
1918 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
1919 descriminator for DECL_LANG_SPECIFIC.
1920 (struct lang_decl_func): Rename from struct lang_decl.
1921 (enum lang_decl_desc): New.
1922 (struct lang_decl): Make it a union. Update all the accessor macros.
1923 (struct lang_type): Use gengtype.
1924 * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
1925 * decl.c (java_dup_lang_specific_decl): All lang_decl structures
1926 are now the same size.
1927 (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
1928 use discriminator to mark DECL_LANG_SPECIFIC.
1930 * Make-lang.in (gt-java-builtins.h): New rule.
1931 (java/builtins.o): Add dependency on gt-<filename>.h.
1932 * builtins.c: Use gengtype for roots.
1933 (union string_or_tree): Use gengtype.
1934 (struct builtin_record): Use gengtype.
1935 * config-lang.in (gtfiles): Add builtins.c.
1937 * Make-lang.in (gt-java-class.h, gt-java-constants.h,
1938 gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
1939 gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
1940 gt-java-parse.h, gtype-java.h): Add rules to generate.
1941 (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
1942 (class.o): Add dependency on gt-*.h.
1943 (constants.o): Likewise.
1946 (jcf-parse.o): Likewise.
1947 (jcf-write.o): Likewise.
1949 * config-lang.in (gtfiles): New.
1950 * class.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1951 * constants.c: Replace uses of ggc_add_* with GTY markers.
1953 * decl.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1954 * expr.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1955 * java-tree.h: Replace uses of ggc_add_* with GTY markers.
1956 * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
1958 * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
1960 * lang.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1961 * mangle.c: Replace uses of ggc_add_* with GTY markers. Include
1963 * parse.y: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1964 Include gtype-java.h.
1966 2002-06-02 Tom Tromey <tromey@redhat.com>
1968 Fix for PR java/5913:
1969 * parse.y (patch_binop): Call patch_string on op1.
1971 2002-06-02 Tom Tromey <tromey@redhat.com>
1973 Fix for PR java/1343, PR java/6336:
1974 * parse.y (make_nested_class_name): Remove extraneous `else'; fix
1975 formatting. Changed return type.
1976 (anonymous_class_counter): Moved to top of file.
1977 (maybe_make_nested_class_name): Append number to class name for
1978 function-local classes.
1980 2002-05-28 Zack Weinberg <zack@codesourcery.com>
1982 * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
1983 * Make-lang.in: Update dependency lists.
1985 2002-05-18 Mark Mitchell <mark@codesourcery.com>
1987 * gjavah.c (throwable_p): Do not free the name of the class after
1988 passing it to find_class.
1989 * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
1990 * jcf-io.c (dirent.h): Include it.
1991 (fnmatch.h): Likewise.
1992 (compare_path): New function.
1993 (java_or_class_file): Likewise.
1994 (memoized_dirlist_entry): New type.
1995 (memoized_dirlist_lookup_eq): New function.
1996 (memoized_dirlists): New variable.
1997 (caching_stat): New function.
1998 (memoized_class_lookup_eq): New function.
1999 (memoized_class_lookups): Likewise.
2000 (find_class): Use memoized_class_lookups and caching_stat.
2001 * jcf.h (JCF_USE_SCANDIR): Define.
2002 * parse.y (java_expand_classes): Write the class files in reverse
2005 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2007 * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
2009 2002-05-13 Mark Mitchell <mark@codesourcery.com>
2011 * jcf-write.c (write_classfile): Unlink the temporary file if it
2012 cannot be renamed. Use concat to build up the name of the
2015 2002-05-08 Mark Mitchell <mark@codesourcery.com>
2017 * jcf-write.c (write_classfile): Write the file to a
2018 temporary file and then rename it.
2020 2002-05-07 Tom Tromey <tromey@redhat.com>
2022 * gjavah.c (throwable_p): Use xstrdup, not strdup.
2024 Fix for PR java/1200:
2025 * gjavah.c (throwable_p): New function.
2026 (decode_signature_piece): Use it. A `WeakReference' isn't the
2029 (gcjh_streq): New function.
2031 2002-05-07 Andreas Jaeger <aj@suse.de>
2033 * parse.y (finish_for_loop): Fix if statement.
2035 2002-05-06 Tom Tromey <tromey@redhat.com>
2037 Fix for PR java/5941:
2038 * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
2039 loop update expression.
2040 (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
2041 * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
2043 2002-05-04 Mark Wielaard <mark@klomp.org>
2046 * parse.y (build_string_concatenation): Return just op1 only when op2
2047 is null and op1 is a STRING_CST, otherwise always construct a
2050 2002-04-27 Tom Tromey <tromey@redhat.com>
2053 * parse.y (string_convert_int_cst): New function.
2054 (merge_string_cste): Use it.
2056 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
2058 * java-tree.h (java_parse_file): Update.
2059 (java_set_yydebug): Remove.
2060 * jcf-parse.c (yydebug): Remove.
2061 (java_set_yydebug): Die.
2062 (java_parse_file): Update.
2063 * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2065 2002-04-24 Tom Tromey <tromey@redhat.com>
2068 * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
2069 EXPR_WFL_QUALIFICATION of qual_wfl.
2071 2002-04-23 Per Bothner <per@bothner.com>
2073 * expr.c (PRE_JSR): Call NOTE_LABEL for return address.
2074 * java-tree.h (BCODE_RETURN_TARGET): Removed - never set.
2075 (BCODE_TARGET): Remove BCODE_RETURN_TARGET.
2077 2002-04-23 Tom Tromey <tromey@redhat.com>
2080 * jvspec.c (lang_specific_driver): Use --resource, not -R. Also
2081 recognize `-fcompile-resource='.
2082 * gcj.texi (Invoking gcj): Use --resource, not -R. Expanded text
2085 2002-04-22 Alexandre Petit-Bianco <apbianco@redhat.com>
2087 * jcf-parse.c: (yyparse): Don't prepend "./" to relative
2088 paths. Fixes PR java/2791.
2090 2002-04-19 Andrew Haley <aph@redhat.com>
2092 * jcf-write.c (push_long_const): lo, hi: New variables.
2093 Use rshift_double to extract the high part of a 64-bit long.
2094 Use WORD_TO_INT to extract the low part.
2096 * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
2097 HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
2098 CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
2100 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
2102 * typeck.c (incomplete_type_error): Remove.
2104 2002-04-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2106 * class.c (make_class_data): Set DECL_ALIGN on static class data,
2107 for hash synchronization.
2108 * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
2109 * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
2112 2002-04-16 Mark Wielaard <mark@klomp.org>
2114 * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
2117 2002-04-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2119 Fix for PR java/6294:
2120 * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
2123 2002-04-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2125 Fix for PR java/6085:
2126 * parse.y (patch_method_invocation): Always use build_access_to_thisn
2127 to get enclosing "this" argument for inner-class constructor
2128 invocation. Pass correct arguments to build_access_to_thisn.
2130 2002-04-10 Andreas Jaeger <aj@suse.de>
2132 * gcj.texi (Input Options): Fix extdirs patch.
2134 2002-04-10 Anthony Green <green@redhat.com>
2136 * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
2138 2002-04-09 Anthony Green <green@redhat.com>
2140 * gcj.texi (Input Options): Add --extdirs documentation.
2141 * jcf-dump.c (OPT_extdirs): New macro.
2142 (options): Add extdirs option.
2143 (help): Describe --extdirs.
2144 (main): Handle OPT_extdirs.
2145 * gjavah.c (OPT_extdirs): New macro.
2146 (options): Add extdirs option.
2147 (help): Describe --extdirs.
2148 (main): Handle OPT_extdirs.
2149 * jcf-path.c (jcf_path_init): Add extdirs support.
2150 (jcf_path_extdirs_arg): New function.
2151 (extensions): New variable to hold extensions path entries.
2152 * jvspec.c: Remove -fextdirs= when compiling main().
2153 * lang.c (java_decode_option): Handle -fextdirs=.
2154 * jcf.h (jcf_path_extdirs_arg): Declare new function.
2155 * Make-lang.in: Compile jcf-path with version info for use in
2156 identifying the appropriate libgcj.jar.
2158 2002-04-08 Tom Tromey <tromey@redhat.com>
2161 * .cvsignore: Added rmic.1 and rmiregistry.1.
2162 * gcj.texi (Top): Link to new nodes.
2163 (Invoking rmic): New node.
2164 (Invoking rmiregistry): Likewise.
2165 * Make-lang.in (java.generated-manpages): Added rmic.1 and
2167 (java.maintainer-clean): Likewise.
2168 ($(srcdir)/java/rmic.1): New target.
2169 ($(srcdir)/java/rmiregistry.1): Likewise.
2170 (java.install-man): Handle rmic.1 and rmiregistry.1.
2172 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2174 * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
2175 Add note about handling uncaught exceptions. Add an exception handler
2178 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2180 * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
2181 after using it to patch CALL_EXPR.
2183 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2185 * gcj.texi (Invocation): Document CNI invocation API.
2187 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
2189 * expr.c (truthvalue_conversion): Rename. Update.
2190 (expand_compare): Update.
2191 * java-tree.h (java_truthvalue_conversion): New.
2192 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2194 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2196 * java-tree.h (java_mark_addressable): New.
2197 * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
2198 * typeck.c (mark_addressable): Rename, update.
2200 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2202 * expr.c (build_java_binop): Update.
2203 * java-tree.h (java_signed_type, java_unsigned_type,
2204 java_signed_or_unsigned_type): Update.
2205 * lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
2206 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
2207 * parse.y (patch_binop): Update.
2208 * typeck.c (signed_or_unsigned_type, unsigned_type,
2209 signed_type): Update.
2211 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
2213 * lang.c (LANG_HOOKS_PRINT_ERROR_FUNCTION): Redefine.
2214 (java_dummy_print): Remove.
2215 (lang_print_error): Rename. Exit early if inhibiting output.
2216 (inhibit_error_printing_function): New.
2217 (java_init): Don't set hook.
2218 (lang_init_source): Use new boolean.
2220 2002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
2222 * parse.y (do_resolve_class): Fix infinite recursion.
2224 2002-03-29 Tom Tromey <tromey@redhat.com>
2226 * parse.y (check_inner_circular_reference): Ignore incomplete
2229 2002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
2231 * Make-lang.in (builtins.o): Update.
2232 * boehm.c (get_boehm_type_descriptor): Update.
2233 * builtins.c: Include langhooks.h.
2234 * decl.c (java_init_decl_processing): Update.
2235 * java-tree.h (java_type_for_mode, java_type_for_size): New.
2236 * lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
2238 * typeck.c (type_for_mode, type_for_size): Update.
2240 2002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
2242 * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
2244 2002-03-28 Tom Tromey <tromey@redhat.com>
2246 * except.c (expand_end_java_handler): If the handler type is NULL,
2247 use java.lang.Throwable. Fixes PR java/5986.
2249 2002-03-28 Alexandre Petit-Bianco <apbianco@redhat.com>
2251 Fix for PR java/4715:
2252 * jcf-parse.c (parse_source_file_3): New function.
2253 (read_class): Call it.
2254 (java_parse_file): Likewise.
2256 2002-03-28 Jan Hubicka <jh@suse.cz>
2258 * java/lang.c (java_init_options): Set flag_trapping_math to 0.
2260 2002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2262 * parse.y (resolve_package): Initialize "decl".
2263 (lookup_package_type): Remove unused function.
2265 2002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2267 Fix for PR java/5993:
2268 * parse.y (resolve_package): Return the decl if resolution was
2269 successful. Don't special case "java.lang" and "java.lang.reflect"
2270 packages. Set type_name to the merged identifier.
2271 (resolved_qualified_expression_name): Print error using "name" if
2272 resolve_package returns NULL_TREE.
2274 2002-03-27 Tom Tromey <tromey@redhat.com>
2276 * expr.c (expand_invoke): Don't generate null pointer check if
2277 we're calling <init>.
2279 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
2281 * expr.c (java_lang_expand_expr): Rename java_expand_expr,
2283 * java-tree.h (java_lang_expand_expr): Similarly.
2284 * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
2285 (java_init): Don't set hook.
2287 2002-03-27 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2289 Fix for PR java/5850:
2290 * parse.y (lookup_field_wrapper): Call itself recursively for enclosing
2291 context if field was not found in the current scope.
2292 * expr.c (lookup_field): Don't look in enclosing contexts.
2294 2002-03-26 Tom Tromey <tromey@redhat.com>
2296 Fix for PR java/5942:
2297 * parse.y (init_src_parse): Added sanity check.
2298 * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
2301 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
2303 * decl.c (lang_mark_tree): Rename java_mark_tree.
2304 * java-tree.h (java_mark_tree): New.
2305 * java-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
2307 2002-03-25 Zack Weinberg <zack@codesourcery.com>
2309 * lex.c: Change java_perform_atof to take normal parameters
2310 instead of a pointer to a parameter block. Call it directly
2313 2002-03-22 Mark Wielaard <mark@klomp.org>
2315 Fix for PR java/5368:
2316 * parse.y (resolve_qualified_expression_name): Use decl not field_decl
2317 when printing error message.
2319 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
2321 * decl.c (maybe_build_cleanup): Remove.
2323 2002-03-22 Tom Tromey <tromey@redhat.com>
2325 Andrew Haley <aph@cambridge.redhat.com>
2327 * expr.c (build_field_ref): Don't build a check if the field is a
2330 2002-03-21 Eric Blake <ebb9@email.byu.edu>
2332 Fix for PR java/6026:
2333 * lex.c (java_lex): Fix parsing of consecutive floats.
2335 2002-03-21 Tom Tromey <tromey@redhat.com>
2337 * parse.y (build_access_to_thisn): Stop when FROM is not an inner
2340 2002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
2342 * cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
2343 insert_block, getdecls, kept_level_p, global_bindings_p): New.
2345 2002-03-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
2347 * gcj.texi: @code{gcj} becomes @command{gcj}.
2348 @code{gcc} becomes @command{gcc}.
2349 GcjRaw changed to gnu.gcc.RawData.
2351 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
2353 * decl.c (start_java_method): Use new hook.
2354 * lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
2355 (java_init): Remove old hook.
2357 2002-03-18 Alexandre Petit-Bianco <apbianco@redhat.com>
2359 * builtins.c (define_builtin): Do nothing if `type' is null.
2362 2002-03-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2364 * parse.y (parser_check_super_interface): Fix error message
2367 2002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2369 * jcf-parse.c (get_constant): Delete unused variables.
2371 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
2373 * java-tree.h (java_parse_file): New.
2374 * jcf-parse.c (yyparse): Rename java_parse_file.
2375 * lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
2377 2002-03-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2379 * parse.y (craft_constructor): Return the constructor decl.
2380 (java_expand_classes): Update comments.
2381 (lookup_method_invoke): Call fix_constructors immediately for
2382 anonymous class. Fixes PR java/5935.
2384 2002-03-15 Anthony Green <green@redhat.com>
2386 * jcf-parse.c (yyparse): Don't emit class registration
2387 constructor when compiling resource files.
2389 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2391 * lang.c (java_tree_code_type, java_tree_code_length,
2392 tree_code_name): Delete.
2393 (tree_code_type, tree_code_length, tree_code_name): Define.
2394 (java_init): Don't try to copy into the various tree_code
2397 2002-03-12 Tom Tromey <tromey@redhat.com>
2399 * jcf-parse.c (get_constant) [CONSTANT_String]: String values are
2400 UTF-8, not UCS-2. Fixes PR java/5923.
2402 * parse.y (qualify_ambiguous_name): Handle case where QUAL_WFL is
2403 a call_expr wrapped in a convert. Fixes PR java/5848.
2405 2002-03-12 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2407 * jcf-write.c (write_classfile): Improve error strings.
2409 2002-03-11 Eric Blake <ebb9@email.byu.edu>
2411 * lex.c: Adjust comments to GNU standards.
2413 2002-03-11 Eric Blake <ebb9@email.byu.edu>
2415 Fix for PR java/5902:
2416 * lex.c (java_lex): Fix parsing of literals.
2418 2002-03-11 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2420 * parse.y (patch_assignment): Wrap the right-hand-side with a save_expr
2421 to prevent it getting evaluated twice in the store checking case.
2422 * expr.c (build_java_arraystore_check): Unwrap SAVE_EXPR's when
2425 2002-03-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2427 * decl.c (java_init_decl_processing): Make sure class_type_node
2428 alignment is not less than 64 bits if hash synchronization is enabled.
2430 2002-03-08 Per Bothner <per@bothner.com>
2432 * parse.y (java_complete_lhs): Check if patch_assignment
2433 returned an error-mark.
2435 * parse.y (try_builtin_assignconv): Don't special-case zero.
2437 2002-03-08 Per Bothner <per@bothner.com>
2439 Fix for PR java/5812.
2440 * expr.c (build_java_jsr): Take pc arguments, and do lookup_label
2441 here instead of in JSR macro. Likewise with load_type_state call.
2442 Do the latter on if the return_pc has been verified (the jsr returns).
2443 (JSR): Now just call build_java_jsr.
2445 2002-03-07 Jeff Sturm <jsturm@one-point.com>
2447 * java/Make-lang.in (JAVA_TARGET_INSTALL_NAME): Define.
2448 (java.install-common): Link native driver to
2449 JAVA_TARGET_INSTALL_NAME.
2451 2002-03-05 David Billinghurst <David.Billinghurst@riotinto.com>
2453 * builtins.c(cos_builtin): method_return_type ATTRIBUTE_UNUSED
2454 * builtins.c(sin_builtin): Likewise
2455 * builtins.c(sqrt_builtin): Likewise
2457 2002-03-03 Zack Weinberg <zack@codesourcery.com>
2459 * java/expr.c, java/jcf-parse.c, java/lex.c:
2460 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
2461 REAL_ARITHMETIC blocks unconditional. Delete some further
2462 #ifdef blocks predicated on REAL_ARITHMETIC.
2464 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2466 * class.c (init_class_processing): Use ARRAY_SIZE in lieu of
2467 explicit sizeof/sizeof.
2468 * decl.c (java_init_decl_processing): Likewise.
2469 * jcf-parse.c (init_jcf_parse): Likewise.
2470 * parse.y (init_src_parse): Likewise.
2472 2002-03-02 Per Bothner <per@bothner.com>
2474 Make --CLASSPATH by a synonym for --classpath and -classpath.
2475 Implement --bootclasspath.
2476 * jcf-path.c (classpath_u): Rename static variable to classpath_user.
2477 (classpath_l): Remove.
2478 (jcf_path_CLASSPATH_arg): Remove.
2479 (jcf_path_bootclasspath_arg): New function.
2480 (jcf_path_seal): Simplify accordingly.
2482 * jcf.h (jcf_path_bootclasspath_arg): New declarations.
2483 (jcf_path_CLASSPATH): Remove declaration.
2484 * jvspec.c (jvgenmain_spec): Also accept -fbootclasspath*.
2485 (lang_specific_driver): Translate -bootclasspath.
2486 * lang-options.h: Add --bootclasspath. Update --CLASSPATH.
2487 * lang.c (decode_lang_options): Do jcf_path_init first.
2488 Handle -fCLASSPATH same as -fclasspath. Also process -fbootclasspath.
2489 * gjavah.c: Also handle --bootclasspath.
2490 Handle --CLASSPATH as a synonum for --classpath.
2491 * jcf-dump.c: Likewise.
2493 "." is not part of system path, but is the default for --classpath.
2494 * jcf-path.c (jcf_path_init): Don't add "." to sys_dirs.
2495 (jcf_path_seal): Add "." if no CLASSPATH specified.
2497 * gcj.texi: Document changes.
2499 2002-03-01 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2501 * expr.c (build_java_arraystore_check): Fix formatting.
2503 2002-02-28 Alexandre Petit-Bianco <apbianco@redhat.com>
2505 Fix for PR java/5758, java/5632:
2506 * jcf-parse.c (load_class): Renamed local variable, consider `.' an
2507 inner-class separator too.
2508 * parse.y (do_resolve_class): New local `decl_result.'
2509 Progressively build a name for what can have been loaded.
2511 2002-02-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2513 * expr.c (java_array_data_offset): Removed function.
2514 (JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
2515 (build_java_array_length_access): Obtain "length" value using a
2516 COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
2517 (build_java_arrayaccess): Correct comment. Access "data" using a
2518 COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
2519 (build_java_arraystore_check): New function.
2520 (expand_java_arraystore): Use build_java_arraystore_check.
2521 * parse.y (patch_assignment): Simplify code to insert a store check
2522 when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
2523 * check-init.c (check_init): Update to reflect that an array length
2524 access is now a COMPONENT_REF.
2525 * gcj.texi (Code Generation): Improve documentation of
2526 -fno-bounds-check. Add documentation for -fno-store-check.
2527 * java-tree.h (flag_store_check): Declare.
2528 (build_java_arraystore_check): Declare.
2529 * lang.c (flag_store_check): Initialize to 1.
2530 (lang_f_options): Add store-check option.
2531 * jvspec.c: Don't pass store-check option to jvgenmain.
2532 * lang-options.h: Add help string for -fno-store-check.
2534 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
2536 * decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl.
2537 * java-tree.h (java_dup_lang_specific_decl): New.
2538 * lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
2540 2002-02-27 Zack Weinberg <zack@codesourcery.com>
2542 * builtins.c, decl.c: Delete traditional-mode-related code
2543 copied from the C front end but not used, or used only to
2544 permit the compiler to link.
2546 2002-02-22 Tom Tromey <tromey@redhat.com>
2548 Fix for PR java/2369:
2549 * jvspec.c (verify_class_name): New function.
2550 (lang_specific_driver): Call it.
2551 (JAVA_START_CHAR_P): New macro.
2552 (JAVA_PART_CHAR_P): Likewise.
2554 2002-02-22 Per Bothner <per@bothner.com>
2556 * class.c: Change vtable to be more compatible with g++ v3 abi.
2557 (get_dispatch_table): Prepend offset-to-top (always 0) and
2558 type_info pointer (currently unimplemented hence NULL) to vtable.
2559 Specifically, prepend offset-to-top and typeinfo ptr (currently null).
2560 (make_class_data): Variable dtable_start_offset is sizeof 2 pointers.
2561 Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
2562 (build_dtable_decl): Add declarations for new fields.
2564 2002-02-20 Per Bothner <per@bothner.com>
2566 * parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
2567 to finit$ (otherwise generate_bytecode_insns drops it). However, we
2568 don't need to set it on the COMPOUND_EXPR - the caller does that.
2570 2002-02-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
2572 * gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
2573 `--CLASSPATH' becomes `--classpath.'
2574 * gjavah.c: Likewise.
2575 * jcf-dump.c: Likewise.
2576 * lang-options.h: Likewise.
2578 * jcf-path.c: Updated comment.
2579 (jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
2580 (jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
2581 * jcf.h (jcf_path_CLASSPATH_arg): Ditto.
2582 (jcf_path_CLASSPATH_arg): Ditto.
2583 (classpath_u): Updated leading comment.
2585 2002-02-20 Per Bothner <per@bothner.com>
2587 * builtins.c (check_for_builtin): New function.
2588 (build_call_or_builtin): Remove.
2589 * java-tree.h: Update accordingly.
2590 * expr.c (expand_invoke): Use build + check_for_builtin instead
2591 of build_call_or_builtin.
2592 * parse.y (patch_invoke): Likewise. This avoids needlessly creating
2593 a new CALL_EXPR node, which means we don't lose the CALL_USING_SUPER
2594 flag (which had caused jcf-write to incorrectly emit invokevirtual).
2596 2002-02-17 Tom Tromey <tromey@redhat.com>
2598 * java-tree.h (TYPE_STRICTFP): New macro.
2599 (struct lang_type) [strictfp]: New field.
2600 (CLASS_STRICTFP): New macro.
2601 (METHOD_STRICTFP): New macro.
2602 (struct lang_decl) [strictfp]: New field.
2603 * parse.y (method_header): Disallow strictfp constructor or
2605 (STRICT_TK): Move before MODIFIER_TK.
2606 * parse.h (CLASS_MODIFIERS): Added ACC_STRICT.
2607 (METHOD_MODIFIERS): Likewise.
2608 (INTERFACE_MODIFIERS): Likewise.
2609 * jcf-write.c (get_access_flags): Likewise.
2610 * class.c (set_class_decl_access_flags): Recognize ACC_STRICT.
2611 (add_method_1): Likewise.
2612 (get_access_flags_from_decl): Likewise.
2613 * jcf-dump.c (print_access_flags): Print in standard order. Also,
2614 recognize strictfp flag.
2615 * jcf.h (ACC_STRICT): New define.
2617 2002-02-12 David Billinghurst <Davod.Billinghurst@riotinto.com>
2619 * class.c(build_utf8_ref): Move declaration of decl_size
2621 2002-02-07 Tom Tromey <tromey@redhat.com>
2623 * gcj.texi (Input Options): --CLASSPATH does not suppress system
2626 2002-02-04 Anthony Green <green@redhat.com>
2628 * class.c (build_utf8_ref): Put UTF-8 constants into merged
2629 sections if available.
2631 2002-02-04 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2633 * parse.y (java_expand_classes): Fix typo in static field loop.
2635 2002-02-02 Richard Henderson <rth@redhat.com>
2637 * class.c (add_field): Mark static fields external.
2638 (build_class_ref): Remove redundant set.
2639 * parse.y (java_expand_classes): Mark static fields of classes
2640 to be compiled as local.
2641 * jcf-parse.c (parse_class_file): Likewise.
2643 2002-02-02 Nic Ferrier <nferrier@tapsellferrier.co.uk>
2645 * gcj.texi (About CNI): New node.
2647 2002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
2650 * jcf-parse.c : Check for HAVE_LOCALE_H before using
2651 setlocale() with LC_CTYPE as a parameter.
2654 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
2656 * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
2657 Follow GNU Coding Standards for --version.
2659 2002-01-28 Tom Tromey <tromey@redhat.com>
2661 * expr.c (build_jni_stub): Ensure storage for `meth' is
2663 * parse.y (java_complete_expand_methods): Set
2664 current_function_decl before building JNI stub.
2666 2002-01-26 Andreas Tobler <a.tobler@schweiz.ch>
2668 * gcc/java/builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not
2671 2002-01-22 Tom Tromey <tromey@redhat.com>
2673 * decl.c (java_init_decl_processing): Use add_predefined_file.
2674 Predefine RawData.java.
2675 (predef_filenames): Removed.
2676 (java_init_decl_processing): Don't register predef_filenames.
2677 * jcf-parse.c (add_predefined_file): New function.
2678 (predefined_filename_p): Rewrote.
2679 (predefined_filename_p): No longer static.
2680 * decl.c (java_init_decl_processing): Call initialize_builtins.
2681 * Make-lang.in (JAVA_OBJS): Added builtins.o.
2682 (java/builtins.o): New target.
2683 * builtins.c: New file.
2684 * parse.y (patch_invoke): Use build_call_or_builtin.
2685 * java-tree.h (build_call_or_builtin): Declare.
2686 (initialize_builtins): Declare.
2687 (java_set_exception_lang_code): Removed unused declaration.
2688 (PREDEF_FILENAMES_SIZE): Removed.
2689 (java_tree_index): Added JTI_PREDEF_FILENAMES.
2690 (predef_filenames): New define.
2691 (add_predefined_file): Declare.
2692 (predefined_filename_p): Declare.
2693 * expr.c (expand_invoke): Use build_call_or_builtin.
2695 2002-01-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2697 * parse.y (patch_switch_statement): Fix format specifier.
2699 2002-01-16 Tom Tromey <tromey@redhat.com>
2701 More for PR java/5365:
2702 * gjavah.c (print_stub_or_jni): Cause exception to be thrown by
2704 (process_file): Generate include for
2705 java.lang.UnsupportedOperationExceptions.
2707 2002-01-15 Andreas Jaeger <aj@suse.de>
2709 * .cvsignore: Add man pages.
2711 2002-01-15 Tom Tromey <tromey@redhat.com>
2713 Fix for PR java/5365:
2714 * gjavah.c (process_file): Turn class name into a file name.
2716 2002-01-14 Matthias Klose <doko@debian.org>
2718 * gcj.texi: Fix whitespace and formatting errors in the
2719 synopsis of the man pages. Update copyright.
2721 2002-01-14 Tom Tromey <tromey@redhat.com>
2724 * Make-lang.in (java.install-man): Handle jv-convert man page.
2725 (java.generated-manpages): Added jv-convert.1.
2726 (java.uninstall): Remove jv-convert.1.
2727 (java.maintainer-clean): Likewise.
2728 ($(srcdir)/java/jv-convert.1): New target.
2729 * gcj.texi (Top): Link to jv-convert node.
2730 (Individual utilities): Likewise.
2731 (Invoking jv-convert): New node.
2733 2001-01-10 Jeff Sturm <jsturm@one-point.com>
2734 Martin Kahlert <martin.kahlert@infineon.com>
2736 * jcf-parse.c (get_constant): Don't swap lo/hi for big
2737 endian targets when HOST_BITS_PER_WIDE_INT >= 64.
2739 2002-01-03 Graham Stott <grahams@redhat.com>
2741 * class.c (compile_resource_file): Update copyright date.
2742 Constify filename parameter.
2743 (java-tree.h): Update copyright date.
2744 (compile_resource_file): Constify filename parameter.
2746 2002-01-03 Graham Stott <grahams@redhat.com>
2748 * gcc/jcf-parse.c: Update copyright date.
2749 (yyparse): Constify resource_filename.
2751 2002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2753 * parse.y (src_parse_roots): Don't needlessly zero init.
2755 2001-12-31 Tom Tromey <tromey@redhat.com>
2757 * parse.y (dump_java_tree): New function.
2758 (source_end_java_method): Call it.
2759 (end_class_declaration): Likewise.
2760 * lang.c (java_decode_option): Call dump_switch_p.
2762 2001-12-28 Tom Tromey <tromey@redhat.com>
2764 * gen-table.pl: Don't process characters after \uffff. Added
2765 comment pointing to input file.
2767 2001-12-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2769 * gen-table.pl: Const-ify output. Document the location of a
2770 suitable unicode input file.
2772 * chartables.h: Regenerate.
2774 2001-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2776 * chartables.h: Const-ify.
2777 * gjavah.c (options): Likewise.
2778 * jcf-dump.c (options): Likewise.
2779 * jv-scan.c (options): Likewise.
2780 * lex.c (java_start_char_p, java_part_char_p): Likewise.
2781 * parse.y (binop_lookup): Likewise.
2783 2001-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2785 * Make-lang.in (keyword.h): Pass -C to gperf to const-ify
2786 the static arrays that are output.
2787 * jvspec.c (jvgenmain_spec): Make static.
2788 * keyword.gperf (struct java_keyword, java_keyword): Const-ify.
2789 * keyword.h: Regenerate.
2790 * lang.c (string_option, process_option_with_no, lang_f_options,
2791 lang_W_options): Const-ify.
2792 * lex.c (java_lex): Likewise.
2794 2001-12-21 Richard Henderson <rth@redhat.com>
2796 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
2797 (get_boehm_type_descriptor): ... here. Arrange for the
2798 TREE_TYPE to get set properly.
2800 2001-12-21 Richard Henderson <rth@redhat.com>
2802 * class.c (compile_resource_file): Set TREE_PUBLIC on the constructor
2803 only if the target requires collect2.
2805 * class.c (build_class_ref): Mark _Jv_fooClass DECL_EXTERNAL.
2807 2001-12-20 Tom Tromey <tromey@redhat.com>
2810 * parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
2811 CAN_COMPLETE_NORMALLY for the node.
2812 * jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
2813 generate code for second branch if first branch can't complete
2815 (generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
2816 the loop head if the loop body can't complete normally.
2818 2001-12-20 Tom Tromey <tromey@redhat.com>
2821 * jcf-write.c (generate_bytecode_insns) [TRY_FINALLY_EXPR]: Handle
2822 case where `finally' clause can't complete normally.
2824 2001-12-20 Tom Tromey <tromey@redhat.com>
2827 * parse.y (analyze_clinit_body): Added this_class parameter.
2828 Check for more cases where we must keep <clinit>.
2829 (maybe_yank_clinit): Cleaned up flow control.
2831 2001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2833 * decl.c (java_init_decl_processing): Don't initialize
2834 finit_leg_identifier_node.
2835 * java-tree.h (java_tree_index): Remove JTI_FINIT_LEG_IDENTIFIER_NODE.
2836 (finit_leg_identifier_node): Remove.
2837 (ID_FINIT_P): Don't check for JTI_FINIT_LEG_IDENTIFIER_NODE.
2839 2001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2841 * mangle.c (mangle_member_name): Don't special-case for
2843 * mangle_name.c (unicode_mangling_length): Likewise.
2844 (append_unicode_mangled_name): Likewise.
2845 * parse.y (make_nested_class_name): Remove dead NO_DOLLAR_IN_LABEL
2848 2001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2850 * expr.c (build_java_array_length_access): Don't force null pointer
2851 check unless flag_check_references is set.
2853 2001-12-20 Tom Tromey <tromey@redhat.com>
2855 Fix for PR java/3417:
2856 * parse.y (patch_assignment): Added special processing for
2858 (patch_return): Don't convert booleans to integers, and don't
2859 special-case `null'.
2861 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
2863 * config-lang.in (diff_excludes): Remove.
2865 2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
2867 * gcj.texi: Update link to GCC manual.
2869 2001-12-17 Tom Tromey <tromey@redhat.com>
2871 * parse.y (link_nested_class_to_enclosing): Removed useless
2874 2001-12-16 Tom Tromey <tromey@redhat.com>
2876 * mangle.c (mangle_method_decl): Never emit `C2' constructor.
2879 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
2881 * ChangeLog, Make-lang.in, class.c, expr.c, gcj.texi, java-tree.h,
2882 jcf-parse.c, jcf-write.c, lex.c, parse.h, parse.y, verify.c: Fix
2885 2001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2887 * lex.c (java_read_unicode, java_lex): Use hex_p/hex_value.
2889 2001-12-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2891 * decl.c (java_init_decl_processing): Build otable_type correctly.
2892 otable_decl is an otable_type.
2894 2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2896 * java-tree.h (otable_methods, otable_decl, otable_syms_decl,
2897 otable_type, otable_ptr_type, method_symbol_type,
2898 method_symbols_array_type, method_symbols_array_ptr_type): New
2899 field/global tree definitions.
2900 (flag_indirect_dispatch): New flag.
2901 * decl.c (java_init_decl_processing): Initialize new otable and
2902 otable_syms type nodes and decls. Add new field "index" to
2904 * class.c (build_method_symbols_entry): New function.
2905 (make_method_value): Set "index" to to method's vtable index for
2906 virtual methods when indirect-dispatch is not used.
2907 (make_class_data): For indirect-dispatch, don't emit the dtable_decl,
2908 and set vtable_method_count to -1. Set otable and otable_syms field
2909 if indirect-dispatch is used and there was something to put in them.
2910 (build_method_symbols_entry): New function.
2911 (emit_offset_symbol_table): New function.
2912 * expr.c (get_offset_table_index): New function.
2913 (build_invokevirtual): Build array reference to otable at the index
2914 returned by get_offset_table_index, and use the result as the vtable
2916 (build_invokeinterface): Similar.
2917 * jcf-parse.c (yyparse): If indirect-dispatch, call
2918 emit_offset_symbol_table at the end of compilation, after all classes
2919 have been generated.
2920 * jvspec.c: Don't pass findirect-dispatch to jvgenmain.
2921 * lang.c (flag_indirect_dispatch): Define.
2922 (lang_f_options): Add indirect-dispatch flag.
2924 2001-12-14 Matthias Klose <doko@debian.org>
2926 * gcj.texi: Markup for man page generation. Document missing
2927 options printed by <tool> --help.
2928 Terminate description of gij's -ms option with a dot.
2929 * Make-lang.in ($(srcdir)/java/*.1): New targets.
2930 (java.generated-manpages java.install-man, java.uninstall,
2931 java-maintainer-clean) Updated.
2933 2001-12-14 Hans Boehm <Hans_Boehm@hp.com>
2935 * class.c (get_dispatch_table): Fix java vtable layout
2936 for TARGET_VTABLE_USES_DESCRIPTORS.
2937 * decl.c (java_init_decl_processing): Initialize
2938 alloc_no_finalizer_node, finalize_identifier_node.
2939 * expr.c (class_has_finalize_method): New function.
2940 (expand_java_NEW): Generate calls for finalizer-free allocation.
2941 (build_invokevirtual): Fix java vtable layout for
2942 TARGET_VTABLE_USES_DESCRIPTORS.
2943 * java-tree.h (enum java_tree_index): New entries:
2944 JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
2945 (alloc_no_finalizer_node, finalize_deintifier_node): New macros.
2946 (class_has_finalize_method): declare.
2947 (HAS_FINALIZER_P): New macro.
2948 * parse.y (patch_invoke): Generate calls for finalizer-free
2951 2001-12-12 Matthias Klose <doko@debian.org>
2953 * Make-lang.in: JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove
2954 whitespace at end of line.
2956 2001-12-11 Tom Tromey <tromey@redhat.com>
2958 * lex.c (java_init_lex): Define wfl_to_string as
2959 gnu.gcj.runtime.StringBuffer unless generating bytecode.
2961 2001-12-11 Jeff Sturm <jsturm@one-point.com>
2963 * class.c (make_method_value): Use null_pointer_node to
2964 represent empty exception table.
2966 2001-12-10 Tom Tromey <tromey@redhat.com>
2968 * check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT.
2970 2001-12-10 Douglas B. Rupp <rupp@gnat.com>
2972 * Make-lang.in (jvspec.o): Add $(OUTPUT_OPTION).
2974 2001-12-09 Per Bothner <per@bothner.com>
2976 * check-init.c (current_switch_has_default): New static field.
2977 (check_init): Case DEFAULT_EXPR: Set current_switch_has_default.
2978 Case SWITCH_EXPR: Save/restore current_switch_has_default. If no
2979 DEFAULT_EXPR seen, simulate a default alternative that copies state.
2981 2001-12-09 Tom Tromey <tromey@redhat.com>
2983 * check-init.c (check_init): Don't allow pre- or post- increment
2984 or decrement of final variable.
2985 (final_assign_error): Minor error message rewording.
2987 2001-12-08 Tom Tromey <tromey@redhat.com>
2989 * java-tree.h: Fixed typo.
2991 * gjavah.c (decompile_method): Don't decompile to `return this'
2994 * gjavah.c (cxx_keywords): Re-sorted.
2995 * lex.c (cxx_keywords): Re-sorted.
2997 * gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything
3000 * gjavah.c (print_namelet): Clear subnamelets.
3001 (HANDLE_METHOD): Set `method_printed' earlier.
3003 2001-12-07 Tom Tromey <tromey@redhat.com>
3005 * lang.c (lang_f_options): Added
3006 optimize-static-class-initialization.
3007 (java_decode_option): Removed special case.
3009 2001-12-07 Per Bothner <per@bothner.com>
3011 * check-init.c (check_init): Fix typo freeing memory twice.
3013 2001-12-05 Per Bothner <per@bothner.com>
3015 Restore support for static class initialization optimization.
3016 * java-tree.h (STATIC_CLASS_INIT_OPT_P): Re-enable.
3017 * check-init.c (check_int): At end of BLOCK handle initialization
3018 blocks, which used to be done in java_complete_expand_method but did
3019 not handle the case where check_for_initialization might allocate
3020 more than a word of bits.
3021 * decl.c (lang_make_tree): The smic field is now a tree.
3022 * expr.c (build_class_init): Set DECL_FUNCTION_INIT_TEST_CLASS field.
3023 * java-tree.h (DECL_FUNCTION_INIT_TEST_TABLE): New macro.
3025 * parse.y (emit_test_initialization): Combine hash_lookup calls.
3027 * java-tree.h (DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND):
3028 Change from a hash table to a list.
3029 (struct_lang_decl): Change field 'smic' to match.
3030 * class.c (add_method_1): Initialize
3031 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND to null list.
3032 * parse.y (adjust_init_test_initialization): Removed - inlined into -
3033 (java_expand_method_bodies): -here, since 'smic' is now a list.
3034 (patch_invoke): Add to 'smic' list, instead of hash_lookup.
3036 * check-init.c (WORD_SIZE): Use BITS_PER_UNIT.
3038 * class.c (java_hash_compare_tree_node): Fix casts.
3040 2001-12-04 Per Bothner <per@bothner.com>
3042 * check-init.c: Handle definite unassignment to finals in addition
3043 to definite assignment.
3044 (loop_current_locals): New field.
3045 (num_current_locals, int start_current_locals, num_current_words):
3047 (SET_P, CLEAR_P, SET_BIT): Add needed but missing parentheses.
3048 (ASSIGNED_P, UNASSIGNED_P, SET_ASSIGNED, SET_UNASSIGNED,
3049 CLEAR_ASSIGNED, CLEAR_UNASSIGNED): New macros.
3050 (get_variable_decl, check_final_reassigned): New functions.
3051 (check_init, check_bool_init): Modify as needed for checking finals.
3052 (check_for_initialization): Take extra parameter and return void.
3053 Do extra start-up logic to check final fields for assignment.
3054 * parse.y (check_static_final_variable_assignment_flag,
3055 reset_static_final_variable_assignment_flag, check_final_assignment,
3056 check_final_variable_local_assignment_flag,
3057 reset_final_variable_indirect_assignment_flag,
3058 reset_final_variable_global_assignment_flag): Remove functions.
3059 (java_complete_expand_methods, outer_field_access_fix,
3060 patch_assignment): Remove no-longer used logic.
3061 * java-tree.h (DECL_FIELD_FINAL_IUD): Change usage and comments.
3062 * parse.y (register_fields, java_complete_tree): Update accordingly.
3064 * check-init.c (ALLOC_WORDS/FREE_WORDS): Use xmalloc/free, not alloca.
3065 (DECLARE_BUFFERS, RELEASE_BUFFERS, ALLOC_BUFFER, FREE_BUFFER): New.
3066 (check_cond_init, check_bool2_init): Use DECLARE_BUFFERS.
3068 * java-tree.h (STATIC_CLASS_INIT_OPT_P): Temporarily turn off.
3070 * java-tree.h (DECL FINAL): New bit-field.
3071 (METHOD_FINAL, FIELD_FINAL, CLASS_FINAL): Define as DECL_FINAL.
3072 (LOCAL_FINAL_P): Use DECL_FINAL rather than old LOCAL_FINAL.
3073 (DECL_INIT_CALLS_THIS): New macro.
3074 (struct lang_decl): New bit-field init_calls_this.
3075 (DECL_FUNCTION_ALL_FINAL_INITIALIZED, DECL_FIELD_FINAL_LIIC,
3076 DECL_FIELD_FINAL_IERR, LOCAL_FINAL, TYPE_HAS_FINAL_VARIABLE
3077 (DECL_BIT_INDEX): Change to use pointer_alias_set since we now
3078 use it for both local variables and final fields.
3079 (struct lang_decl_var): Remove bit-fields final_liic, final_ierr,
3081 (struct lang_type): Remove hfv bit-field.
3082 (check_for_initialization): Change to return void.
3084 * java-tree.h (IS_ARRAY_LENGTH_ACCESS): New macros.
3085 * expr.c (build_java_array_length_access): Set IS_ARRAY_LENGTH_ACCESS.
3086 * check-init.c (final_assign_error): New helper function.
3087 (check_final_reassigned, check_init): Use it.
3088 (check_init): Also check IS_ARRAY_LENGTH_ACCESS for ARRAY.length.
3090 * java-tree.h (struct lang_decl, struct lang_decl_var): Change all
3091 bit-fields to unsigned.
3093 2001-12-03 Per Bothner <per@bothner.com>
3095 * parse.y (patch_binop): Minor constant folding.
3097 * parse.y (build_current_thisn): Shorter 'buffer'.
3099 2001-12-03 Per Bothner <per@bothner.com>
3101 * decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR
3102 instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
3103 * jcf-write.c (generate_bytecode_insns): Remove support for
3104 CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
3105 * check-init.c (check_init): Likewise.
3107 2001-12-03 Per Bothner <per@bothner.com>
3109 * verify.c (subroutine_nesting): New function.
3110 (verify_jvm_instructions): Use it to fix logic for checking that
3111 we're done with the current subroutine.
3113 * verify.c (verify_jvm_instruction): For OPCODE_checkcast and
3114 OPCODE_instanceof use POP_TYPE macro for better diagnostics.
3116 2001-12-03 Per Bothner <per@bothner.com>
3118 * jcf.h: Fix obvious typo in comment.
3119 * typeck.c (build_null_signature): Add comment.
3121 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
3123 * expr.c: Remove leading capital from diagnostic messages, as
3124 per GNU coding standards.
3125 * jcf-io.c: Similarly.
3126 * jcf-parse.c: Similarly.
3127 * jv-scan.c: Similarly.
3128 * jvspec.c: Similarly.
3129 * mangle.c: Similarly.
3131 2001-12-02 Tang Ching-Hui <nicholas@cs.nthu.edu.tw>
3132 Alexandre Petit-Bianco <apbianco@redhat.com>
3134 * expr.c (build_java_arrayaccess): Call save_expr on array for
3135 correct evaluation order, modified comment, fixed indentation.
3136 * parse.y: (patch_assignment): Correctly extract the array base
3137 from the tree generate by build_java_arrayaccess, added comments.
3138 (patch_array_ref): Remove SAVE_EXPR on ARRAY_REF.
3139 Fixes PR java/3096, PR java/3803, PR java/3965.
3141 2001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
3143 * expr.c (expand_byte_code): Remove trailing periods from messages.
3144 * jcf-parse.c (load_class, jcf_parse): Similarly.
3145 * jcf-write.c (generate_classfile): Similarly.
3146 * lex.c (java_lex): Similarly.
3148 2001-11-30 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3150 * class.c (add_interface_do): Set BINFO_VPTR_FIELD.
3152 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
3154 * Make-lang.in (java.generated-manpages): New dummy target.
3156 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3158 * jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
3160 (lang_specific_pre_link): Use set_input to set input_filename.
3162 * jvgenmain.c (usage): Append literal `main' to CLASSNAME.
3163 (main): Fix definition.
3164 Strip `main' from classname.
3167 2001-11-18 Roger Sayle <roger@eyesopen.com>
3169 * parse.h (java_expand_switch): Remove old prototype.
3171 2001-11-18 Tom Tromey <tromey@redhat.com>
3173 Fix for PR java/1401:
3174 * jcf-write.c (generate_bytecode_insns) [binop]: Handle case where
3176 (generate_bytecode_insns) [MODIFY_EXPR]: Handle `OP=' case
3179 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
3181 * lang.c (finish_parse): Rename to java_finish.
3182 (LANG_HOOKS_FINISH, java_finish): New.
3184 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
3186 * decl.c (init_decl_processing): Rename java_init_decl_processing.
3187 * java-tree.h: New prototype.
3188 * lang.c (java_init): Update prototype. Combine with old init_parse.
3190 2001-11-13 Tom Tromey <tromey@redhat.com>
3192 * gjavah.c (method_signature): New global.
3193 (HANDLE_METHOD): Set it.
3194 (decompile_return_statement): New function.
3195 (decompile_method): Use it.
3196 (print_method_info): Removed `synth' argument.
3198 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
3200 * java-tree.h (java_set_yydebug): New.
3201 * jcf-parse.c (set_yydebug): Rename java_set_yydebug.
3202 * lang.c (LANG_HOOKS_SET_YYDEBUG): Override.
3203 (print_lang_decl, print_lang_type, print_lang_identifier,
3204 print_lang_statistics, lang_print_xnode): Remove.
3206 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
3208 * jcf-parse.c (init_lex): Remove.
3209 * lang.c (language_string, lang_identify): Remove.
3210 (struct lang_hooks): Constify.
3211 (LANG_HOOKS_NAME): Override.
3212 (init_parse): Update.
3214 2001-11-08 Andreas Franck <afranck@gmx.de>
3216 * Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
3217 program_transform_name the way suggested by autoconf.
3218 (java.install-common): Also transform auxiliary program names with
3219 program_transform_name.
3221 2001-11-08 Tom Tromey <tromey@cygnus.com>
3223 * parse.y (trap_overflow_corner_case): New rule.
3224 (unary_expression): Use it.
3225 * lex.c (java_init_lex): Don't set minus_seen.
3226 (yylex): Don't use minus_seen. Communicate overflow to parser for
3228 (error_if_numeric_overflow): New function.
3229 * parse.h (minus_seen): Removed field.
3230 (JAVA_RADIX10_FLAG): New define.
3232 2001-11-07 Tom Tromey <tromey@redhat.com>
3234 Patch for PR java/1414:
3235 * parse.y (case_label_list): New global.
3236 (goal): Register case_label_list with GC.
3237 (java_complete_lhs): Save new case on case_label_list.
3238 (patch_switch_statement): Check for duplicate case labels.
3240 2001-11-07 Alexandre Petit-Bianco <apbianco@redhat.com>
3242 * parse.y (patch_assignment): Removed unused third argument.
3243 (java_complete_lhs): Removed unused third argument to patch_assignment.
3245 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
3247 * lang.c: Include langhooks-def.h.
3248 * Make-lang.in: Update.
3250 2001-10-31 Zack Weinberg <zack@codesourcery.com>
3252 * Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
3254 2001-10-29 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3256 * mangle.c (find_compression_record_match): Don't match compression
3257 records for package name elements unless they occur at the start of
3258 the name. Fix for PR java/4717.
3260 2001-10-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3262 * expr.c (expand_java_field_op): Don't special-case references to
3263 java.lang.PRIMTYPE.TYPE.
3264 (build_primtype_type_ref): Removed.
3265 * java-tree.h (build_primtype_type_ref): Remove prototype.
3266 * parse.y (maybe_build_primttype_type_ref): Removed.
3267 (complete_function_arguments): Don't special-case references to
3268 java.lang.PRIMTYPE.TYPE.
3269 (patch_assignment): Likewise.
3270 (array_constructor_check_entry): Likewise.
3272 2001-10-24 Alexandre Petit-Bianco <apbianco@redhat.com>
3274 * mangle.c (static tree compression_table): Fixed leading comment.
3275 * parse.h (struct parser_ctxt): Fixed field comment.
3276 * parse.y (check_pkg_class_access): New prototype, fixed leading
3277 comment, new parameter used to emit error only if passed as true.
3278 (parse_check_super): Pass extra argument to check_pkg_class_access.
3279 (do_resolve_class): Likewise.
3280 (process_imports): Likewise.
3281 (read_import_dir): Fixed indentation.
3282 (find_in_imports_on_demand): New local class_type_name. Local
3283 node_to_use deleted. while loop changed into for loop. Report
3284 multiple definition only for accessible classes. Improved error
3286 (start_complete_expand_method): Local `ptr' removed. DECL_ARGUMENTS
3287 assigned to parameter list, fixed indentation. while loop changed
3288 into for loop, restore TREE_CHAIN on local `tem' before the next
3291 2001-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3293 * lang.c (lang_get_alias_set): Deleted.
3295 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3297 * gjavah.c (jni_print_char): Fix thinko in last change.
3299 * gjavah.c (jni_print_char, decode_signature_piece): Use
3300 safe-ctype macros and/or fold extra calls into fewer ones.
3301 * lex.c (java_read_unicode, java_lex): Likewise.
3302 * lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT,
3303 JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise.
3304 * mangle_name.c (append_unicode_mangled_name,
3305 unicode_mangling_length): Likewise.
3307 2001-10-17 Richard Henderson <rth@redhat.com>
3309 * Make-lang.in (java/lang.o): Depend on langhooks.h.
3311 2001-10-15 Alexandre Petit-Bianco <apbianco@redhat.com>
3313 * lang.c (langhooks.h): Included.
3314 (LANG_HOOKS_INIT): Redefined.
3315 (LANG_HOOKS_INIT_OPTIONS): Likewise.
3316 (LANG_HOOKS_DECODE_OPTION): Likewise.
3317 (struct lang_hooks lang_hooks): New initialization.
3319 2001-10-11 Per Bothner <per@bothner.com>
3321 * parse.y (patch_synchronized_statement): Use a TRY_FINALLY_EXPR
3322 rather than a CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR pair.
3323 The former is simpler, and jcf-write.c handles it better.
3324 (java_complete_lhs): No longer need to handle CLEANUP_POINT_EXPR
3325 or WITH_CLEANUP_EXPR.
3326 * jcf-write.c: Revert Alex's change from 2000-10-18. It is no
3327 longer needed, as we already handle empty TRY_FINALLY_EXPR bodies fine.
3329 * parse.y (patch_if_else_statement): If the condition is constant,
3330 optimize away the test.
3332 2001-10-09 Alexandre Petit-Bianco <apbianco@redhat.com>
3334 * parse.y (patch_cast): Call patch_string on the first operand of
3335 the incoming node, update it if necessary. Fixes PR java/4510.
3337 2001-10-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3339 * parse.y (find_as_inner_class): Don't disregard the enclosing scope
3340 when name qualifier matches a package name.
3342 2001-10-08 Tom Tromey <tromey@redhat.com>
3344 Fix for PR java/4489:
3345 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Always
3346 force a new label when computing `body_block'.
3348 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3350 * jcf-io.c (format_uint): Const-ify.
3351 * lang.c (java_tree_code_type, java_tree_code_length): Likewise.
3352 * lex.c (java_get_line_col): Likewise.
3353 * parse.y (build_incdec): Likewise.
3355 2001-10-05 Alexandre Petit-Bianco <apbianco@redhat.com>
3357 * parse.y (register_incomplete_type): Set JDEP_SUPER to be given
3358 a NULL enclosing context if appropriate. Fixes PR java/4466.
3360 2001-10-03 Alexandre Petit-Bianco <apbianco@redhat.com>
3362 * parse.y (patch_assignment): Use lvalue's original TYPE when
3363 building the final COMPOUND_EXPR.
3364 (try_reference_assignconv): Fixed leading comment.
3366 2001-09-26 Alexandre Petit-Bianco <apbianco@redhat.com>
3368 * parse.y (check_final_variable_indirect_assignment): For
3369 COMPOUND_EXPR, return only if finals were found initialized
3370 properly, if not, keep on checking.
3371 (check_final_variable_global_assignment_flag): New local
3372 error_found, set when appropriate and used to decide whether to
3373 report uninitialized finals. Fixed typo in comment.
3375 2001-09-22 Alexandre Petit-Bianco <apbianco@redhat.com>
3377 * decl.c (init_decl_processing): Fixed typo in predef_filenames
3378 last three initializations. Fixes PR java/4360.
3380 2001-09-21 Richard Henderson <rth@redhat.com>
3382 * class.c (get_dispatch_table): Handle function descriptors.
3383 (build_dtable_decl): Likewise.
3384 * expr.c (build_invokevirtual): Likewise.
3386 2001-09-20 Alexandre Petit-Bianco <apbianco@redhat.com>
3388 * parse.y (patch_method_invocation): Build class initialization
3389 when static finals are used to qualify method invocation.
3392 2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
3394 * parse.h: (WFL_STRIP_BRACKET): Re-written using
3395 build_type_name_from_array_name.
3396 (STRING_STRIP_BRACKETS): New macro.
3397 * parse.y (build_type_name_from_array_name): New function.
3398 (array_creation_expression:): Accumulate []s instead of [s.
3399 (cast_expression:): Accumulate []s instead of [s after cast type
3401 (build_array_from_name): Local string deleted, use
3402 build_type_name_from_array_name.
3403 (build_unresolved_array_type): Accumulate []s instead of [s after
3405 (register_fields): Fixed comment.
3406 (resolve_class): Local name, base deleted, new locals tname and
3407 array_dims. Use build_type_name_from_array_name. Use array_dims to
3409 (purify_type_name): Use STRING_STRIP_BRACKETS.
3411 2001-09-18 Andreas Jaeger <aj@suse.de>
3413 * parse.y: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
3414 * jv-scan.c: Likewise.
3416 2001-09-17 Alexandre Petit-Bianco <apbianco@redhat.com>
3418 * parse.y (patch_method_invocation): Inner class creation context
3419 check not enforced within constructors. Fixes PR java/1873.
3421 2001-09-16 Tom Tromey <tromey@redhat.com>
3423 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Call
3424 NOTE_PUSH for single-case push. Fixes PR java/4189.
3426 2001-09-13 Alexandre Petit-Bianco <apbianco@redhat.com>
3428 * java-tree.h (TYPE_IMPORT_LIST): New macro.
3429 (TYPE_IMPORT_DEMAND_LIST): Likewise.
3430 (struct lang_type): New fields import_list and import_demand_list.
3431 * parse.y (java_complete_class): Initialize TYPE_IMPORT_LIST and
3432 TYPE_IMPORT_DEMAND_LIST with ctxp counterparts.
3433 (do_resolve_class): New local saved_enclosing_type, initialized,
3434 passed as parameter to find_in_imports and find_in_imports_on_demand.
3435 (find_in_imports): Added paramater enclosing_type, use its
3436 TYPE_IMPORT_LIST when applicable.
3437 (find_in_imports_on_demand): Added parameter enclosing_type, use
3438 its TYPE_IMPORT_DEMAND_LIST when applicable. Reorganized locals
3439 declaration and initialization.
3440 (fold_constant_for_init): Switch/restore current_class to the
3441 appropriate context.
3443 2001-09-13 Mark Mitchell <mark@codesourcery.com>
3445 * verify.c (verify_jvm_instructions): Fix typo.
3447 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3449 * expr.c (expand_invoke): Const-ification.
3450 * parse.y (patch_method_invocation): Likewise.
3452 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3454 * gjavah.c (cxx_keywords): Const-ification.
3455 * keyword.gperf (java_keyword): Likewise.
3456 * lang.c (java_tree_code_name): Likewise.
3457 * lex.c (cxx_keywords): Likewise.
3458 * parse.y (java_parser_context_suspend, merge_string_cste): Likewise.
3460 2001-09-11 Richard Henderson <rth@redhat.com>
3462 * parse.h (ctxp_for_generation): Mark extern.
3464 2001-09-10 Richard Henderson <rth@redhat.com>
3466 * class.c (build_class_ref): Set DECL_EXTERNAL before make_decl_rtl.
3468 2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
3470 * typeck.c (java_array_type_length, build_prim_array_type):
3471 Represent empty arrays by NULL index.
3473 2001-09-06 Alexandre Petit-Bianco <apbianco@redhat.com>
3475 * java-tree.h (compile_resource_file): Grouped with other prototypes.
3476 * jvspec.c (lang_specific_driver): Removed unused local `ptr.'
3478 2001-09-06 Anthony Green <green@redhat.com>