1 2004-07-15 Frank Ch. Eigler <fche@redhat.com>
4 * jcf-parse.c (java_emit_static_constructor): Specify default
7 2004-07-13 Per Bothner <per@bothner.com>
9 * java-tree.h (all_class_filename): Remove useless macro.
10 (enum java_tree_index): Remove JTI_ALL_CLASS_FILENAME constant.
11 (BUILD_FILENAME_IDENTIFIER_NODE): Remove useless macro.
12 * parse.y (java_parser_context_restore_global): Replace
13 BUILD_FILENAME_IDENTIFIER_NODE by plain get_identifier.
14 * jcf-parse.c (read_class, java_parse_file): Likewise.
16 2004-07-12 Bryce McKinlay <mckinlay@redhat.com>
19 gjavah.c (print_field_info): Emit constant only if field is static.
21 2004-07-11 Roger Sayle <roger@eyesopen.com>
23 * expr.c (java_truthvalue_conversion, flush_quick_stack,
24 java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr,
25 build_java_ret, build_java_throw_out_of_bounds_exception,
26 build_java_array_length_access, java_check_reference,
27 build_java_arrayaccess, build_java_arraystore_check, build_newarray,
28 build_anewarray, expand_java_multianewarray, expand_java_arraystore,
29 expand_java_arrayload, build_java_monitor, expand_java_return,
30 expand_load_internal, expand_java_NEW, build_get_class,
31 build_instanceof, expand_java_CHECKCAST, expand_iinc,
32 build_java_soft_divmod, build_java_binop, build_field_ref,
33 expand_compare, expand_java_goto, expand_java_switch,
34 expand_java_add_case, build_class_init, build_known_method_ref,
35 invoke_build_dtable, build_invokevirtual, build_invokeinterface,
36 expand_invoke, build_jni_stub, expand_java_field_op,
37 java_expand_expr, expand_byte_code, STORE_INTERNAL,
38 force_evaluation_order, emit_init_test_initialization): Convert
39 calls to "build" into calls to the prefered "buildN" functions.
41 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
43 * java-tree.h (set_block): Remove.
44 * lang.c (java_clear_binding_stack): New.
45 (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
46 * decl.c (struct binding_level): Remove this_block.
47 (clear_binding_level): Likewise.
48 (poplevel): Don't handle this_block.
51 2004-07-10 Bryce McKinlay <mckinlay@redhat.com>
53 * class.c (common_enclosing_context_p): Remove statement with no
56 2004-07-09 Bryce McKinlay <mckinlay@redhat.com>
59 * parse.y (create_anonymous_class): Remove 'location' argument. Use
60 the WFL from TYPE_NAME to get line number for the decl. Fix comment.
61 (craft_constructor): Inherit access flags for implicit constructor
62 from the enclosing class.
63 (create_class): Fix comment typo.
64 (resolve_qualified_expression_name): Pass type of qualifier to
65 not_accessible_p, not the type in which target field was found.
66 (not_accessible_p): Handle inner classes. Expand protected
67 qualifier-subtype check to enclosing instances, but don't apply this
68 check to static members. Allow protected access to inner classes
69 of a subtype. Allow private access within common enclosing context.
70 (build_super_invocation): Get WFL line number info from current
72 (build_incomplete_class_ref): Update for new create_anonymous_class
74 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Use
75 common_enclosing_instance_p.
76 * class.c (common_enclosing_context_p): New. Determine if types
77 share a common enclosing context, even across static contexts.
78 (common_enclosing_instance_p): Renamed from
79 common_enclosing_context_p. Determines if types share a common
80 non-static enclosing instance.
81 * java-tree.h (common_enclosing_instance_p): Declare.
82 * jcf-write.c (get_method_access_flags): New. Surpress private flag
83 for inner class constructors.
84 (generate_classfile): Use get_method_access_flags.
86 2004-07-09 Bryce McKinlay <mckinlay@redhat.com>
88 * class.c (interface_of_p): Check for null TYPE_BINFO.
90 2004-07-09 Nathan Sidwell <nathan@codesourcery.com>
92 * class.c (make_class): Do not create binfo here.
93 (set_super_info): Create it here.
94 * java-tree.h (CLASS_HAS_SUPER): Cope with lack of a binfo.
96 2004-07-08 Richard Henderson <rth@redhat.com>
98 * expr.c (case_identity, get_primitive_array_vtable,
99 java_expand_expr, emit_init_test_initialization): Remove.
100 * java-tree.h (java_expand_expr): Remove.
101 * lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
103 2004-07-07 Per Bothner <per@bothner.com>
105 * class.c (build_static_field_ref): Add a NOP_EXPR; otherwise we
106 get internal error due to mismatched types.
108 * gcj.texi (Invoking gij): Document new -verbose:class flag.
110 * gcj.texi (Linking): New node. Document -lgij usage.
112 2004-07-07 Nathan Sidwell <nathan@codesourcery.com>
114 * java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
115 (TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
116 * java/class.c (set_super_info, class_depth, interface_of_p,
117 maybe_add_interface, add_interface, make_class_data,
118 layout_class, add_miranda_methods): Adjust BINFO macros.
119 * expr.c (can_widen_reference_to, lookup_field): Likewise.
120 * jcf-write.c (generate_classfile): Likewise.
121 * parse.y (patch_anonymous_class,
122 check_inner_circular_reference, check_circular_reference,
123 java_complete_class, check_abstract_method_definitions,
124 java_check_abstract_method_definitions,
125 check_interface_throws_clauses, java_check_abstract_methods,
126 lookup_java_interface_method2,
127 find_applicable_accessible_methods_list): Likewise.
128 * typeck.c (find_method_in_interface): Likewise.
129 * verify.c (merge_types): Likewise.
131 2004-07-06 Nathan Sidwell <nathan@codesourcery.com>
133 * java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
134 * class.c (add_interface_do): Use BINFO_VIRTUAL_P.
136 2004-07-05 Nathan Sidwell <nathan@codesourcery.com>
138 * class.c (make_class): Use make_tree_binfo.
139 (set_super_info, add_interface_do): Likewise.
140 * java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.
142 2004-07-04 Ranjit Mathew <rmathew@hotmail.com>
144 * verify.c: Correct array element access formatting thinko.
146 2004-07-04 Ranjit Mathew <rmathew@hotmail.com>
148 * verify.c: Insert a short blurb at the start referring to the JVMS.
149 (merge_type_state): Remove redundant nested if statement.
150 (verify_jvm_instructions): Ensure current_subr is initialised to
152 Minor formatting fixes all over the place.
154 2004-07-02 Richard Henderson <rth@redhat.com>
156 * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
158 2004-07-01 Richard Henderson <rth@redhat.com>
160 * class.c (registerClass_libfunc): Remove.
161 (init_class_processing): Don't set it.
162 (emit_register_classes): Take list_p parameter. Fill it in
163 with _Jv_RegisterClass calls.
164 * decl.c (java_init_decl_processing): Don't call
165 init_resource_processing.
166 * jcf-parse.c (java_emit_static_constructor): New.
167 (java_parse_file): Call it.
168 * resource.c (registerResource_libfunc): Remove.
169 (init_resource_processing): Remove.
170 (write_resource_constructor): Take list_p parameter. Fill it in
171 with _Jv_RegisterResource calls.
172 * java-tree.h: Update prototypes.
174 2004-06-29 Bryce McKinlay <mckinlay@redhat.com>
177 * class.c (layout_class_method): Do not override package-private
178 method if its in a different package.
179 (split_qualified_name): Move here from parse.y. Rename from
180 breakdown_qualified. Add comment.
181 (in_same_package): Move here from parse.y. Add comment.
182 * java-tree.h (break_down_qualified, in_same_package): Declare.
183 (in_same_package): Likewise.
184 * parse.y (breakdown_qualified, in_same_package): Moved to class.c.
187 2004-06-29 Andrew Haley <aph@redhat.com>
189 * except.c (expand_start_java_handler): Push a new binding level.
190 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
191 register_exception_range() to register where we'll do it.
192 (expand_end_java_handler): Remove old bogus code. Replace with
193 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
194 the top of the expression we're curently building.
195 (maybe_end_try): Delete.
196 * decl.c (binding_level.exception_range): New field.
197 (clear_binding_level): Add field exception_range. Reformat.
198 (poplevel): Call expand_end_java_handler().
199 (poplevel): Call java_add_stmt only if functionbody is false.
200 (maybe_poplevels): Don't call maybe_end_try() from here.
201 (end_java_method): Clear no longer used trees in function decl.
202 (register_exception_range): New function.
203 * java-tree.h (register_exception_range, struct eh_range): Declare.
205 2004-06-28 Bryce McKinlay <mckinlay@redhat.com>
207 * jcf-write.c (get_classfile_modifiers): Formatting fixes.
209 2004-06-27 Ranjit Mathew <rmathew@hotmail.com>
212 * expr.c (class_has_finalize_method): Fix method name indentation.
213 (expand_java_call): Remove K&R style parameter declaration.
214 (expand_invoke): Fix statement indentation.
215 (expand_java_field_op): Likewise.
216 * parse-scan.y: Fix typo.
217 (reset_report): Fix method name indentation.
218 * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
220 * verify.c (verify_jvm_instructions): Document parameters, insert
222 * lang.c (lang_init_source): Fix method name indentation.
223 * class.c (common_enclosing_context_p): Likewise.
224 (emit_symbol_table): Fix parameter list indentation.
225 * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
226 parameter declaration.
227 * constants.c: Fix copyright notice indentation.
228 * typeck.c (find_method_in_superclasses): Fix parameter list
230 (find_method_in_interfaces): Likewise.
231 * zextract.c (makelong): Fix method name indentation.
233 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
236 * parse.y (create_interface): Set correct access modifiers for
238 * jcf-write.c (get_classfile_modifiers): New function.
239 (generate_classfile): Use get_classfile_modifiers, not
242 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
244 * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
245 dependency to current parser context, not NULL_TREE, for top-level
247 (jdep_resolve_class): Enable member access check for all inner
250 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
252 * parse.y (qualify_and_find): Pass type decl, not identifier, to
255 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
258 * expr.c (expand_java_field_op): Ensure that target class for static
259 field access has been loaded.
261 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
262 Ranjit Mathew <rmathew@hotmail.com>
264 PR java/1207, java/16178
265 * jcf-parse.c (load_class): Return immediately if passed a type decl
266 where CLASS_FROM_SOURCE_P is set. Remove FIXME.
267 * parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P
268 before calling load_class.
269 (qualify_and_find): Likewise.
270 (find_in_imports_on_demand): Likewise.
271 (find_applicable_accessible_methods_list): Likewise.
273 2004-06-24 Bryce McKinlay <mckinlay@redhat.com>
275 * parse.y (java_layout_seen_class_methods): Don't call load_class
276 on class defined by source parser.
278 2004-06-23 Bryce McKinlay <mckinlay@redhat.com>
280 * parse.y (set_nested_class_simple_name_value): Removed.
281 (java_complete_expand_class): Remove calls to
282 set_nested_class_simple_name_value.
284 2004-06-22 Andrew Haley <aph@redhat.com>
285 Ranjit Mathew <rmathew@hotmail.com>
288 * decl.c (force_poplevels): Remove call to expand_end_bindings.
290 2004-06-22 Ranjit Mathew <rmathew@hotmail.com>
292 * parse.y (create_class): Correct diagnostic message about
293 java.lang.Object extending anything else.
295 2004-06-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
297 * class.c (build_class_ref): Add new operand for COMPONENT_REF.
298 (build_static_field_ref): Likewise and add new operands for ARRAY_REF.
299 * constants.c (build_ref_from_constant_pool): Likewise.
300 * expr.c (build_java_array_length_access): Likewise.
301 (build_get_class, build_field_ref, build_known_method_ref): Likewise.
302 (invoke_build_dtable, build_invokevirtual): Likewise.
303 (build_invokeinterface, java_expand_expr): Likewise.
304 (emit_init_test_initialization): Likewise.
305 * java-gimplify.c (java_gimplify_new_array_init): Likewise.
306 * parse.y (make_qualifed_name, build_array_ref): Likewise.
308 2004-06-21 Andrew Haley <aph@redhat.com>
310 * java-gimplify.c (java_gimplify_block): set TREE_USED on the new
313 2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
315 * jcf.h (struct JCF): Change java_source, right_zip and finished
317 * lex.h (struct java_lexer): Change hit_eof, read_anything,
318 byte_swap and use_fallback to unsigned int.
319 * parse.h (struct _jdep): Change flag0 to unsigned int.
321 2004-06-17 Ranjit Mathew <rmathew@hotmail.com>
324 * parse.y (java_layout_seen_class_methods): Ensure class is loaded
325 before trying to lay out its methods.
326 * jcf-parse.c (read_class): Track parsed files using canonical paths
327 obtained via lrealpath from libiberty.
328 (java_parse_file): Likewise.
329 (parse_source_file_1): Rename formal parameter to reflect its
330 modified purpose. Minor formatting fix.
332 2004-06-15 Paolo Bonzini <bonzini@gnu.org>
334 * class.c (emit_register_classes): Make the function uninlinable,
335 do not set current_function_cannot_inline.
336 * resource.c (write_resource_constructor): Do not reset
337 flag_inline_functions around rest_of_compilation.
339 2004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
342 * expr.c (java_truthvalue_conversion): Handle
343 UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
344 ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
345 i.e. return the expression.
347 2004-06-03 Mark G. Adams <mark.g.adams@sympatico.ca>
349 * gjavah.c: Include version.h
351 2004-05-31 Bryce McKinlay <mckinlay@redhat.com>
353 * jcf-write.c (generate_bytecode_conditional): Correct handling
354 of unordered conditionals. Add comment.
356 2004-05-29 Ranjit Mathew <rmathew@hotmail.com>
357 Per Bothner <per@bothner.com>
359 * java-tree.h (DECL_LOCAL_FINAL_IUD): New macro to test if a
360 local variable was initialised upon declaration.
361 * parse.y (declare_local_variables): Set DECL_LOCAL_FINAL_IUD if
362 variable was final and initialised upon declaration.
363 * check-init.c (check_final_reassigned): Give error only if a blank
364 final is not definitely unassigned or if an initialised final is
366 (check_bool_init): Respect JLS2 16.1.7 requirements for boolean
367 assignment expressions. Remove case MODIFY_EXPR, label do_default.
368 (check_init): Perform initialised-variable-removing-optimisation
369 only on non-final local variables.
371 2004-05-28 Bryce McKinlay <mckinlay@redhat.com>
373 * jcf-write.c (generate_bytecode_conditional): Handle binops
374 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
376 (generate_bytecode_insns): Likewise.
378 2004-05-28 Bryce McKinlay <mckinlay@redhat.com>
380 * check-init.c (check_init): Handle binops UNLT_EXPR, UNLE_EXPR,
381 UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, and LTGT_EXPR.
383 2004-05-28 Bryce McKinlay <mckinlay@redhat.com>
385 * gcj.texi (Object allocation): Remove _Jv_AllocBytes.
386 (Mixing with C++): Document JvAllocBytes and RawDataManaged.
388 2004-05-26 Bryce McKinlay <mckinlay@redhat.com>
390 * decl.c (struct binding_level): Add GTY marker. Compile
391 binding_depth unconditionally.
392 (current_binding_level, free_binding_level, global_binding_level):
394 (clear_binding_level): Unconditionally set binding_depth.
395 (make_binding_level): Use ggc_alloc_cleared, not xmalloc.
397 2004-05-26 Bryce McKinlay <mckinlay@redhat.com>
399 * lex.c (java_new_lexer): Set 'encoding'.
400 (java_read_char): Improve error message for unrecognized characters.
401 * lex.h (struct java_lexer): New field 'encoding'.
403 2004-05-23 Paolo Bonzini <bonzini@gnu.org>
405 * Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
407 2004-05-21 Mark Wielaard <mark@klomp.org>
409 * gjavah.c (print_stub_or_jni): Mark functions only JNIEXPORT, not
412 2004-05-19 Paolo Bonzini <bonzini@gnu.org>
414 * typeck.c: Remove non-printable character 160.
416 2004-05-17 Ranjit Mathew <rmathew@hotmail.com>
418 * check-init.c: Correct minor typos.
420 2004-05-13 Diego Novillo <dnovillo@redhat.com>
422 * Make-lang.in, expr.c, java-gimplify.c: Rename
423 tree-simple.[ch] to tree-gimple.[ch].
425 2004-05-14 Ranjit Mathew <rmathew@hotmail.com>
427 * java-gimplify.c (java_gimplify_expr): Correct minor typos.
429 2004-05-13 Diego Novillo <dnovillo@redhat.com>
431 Merge from tree-ssa-20020619-branch. See
432 ChangeLog.tree-ssa for details.
434 * Make-lang.in, builtins.c, check-init.c, class.c,
435 constants.c, decl.c, except.c, expr.c, java-except.h,
436 java-tree.def, java-tree.h, jcf-parse.c, jcf-write.c,
437 lang.c, lang.opt, parse.y, resource.c: Merged.
438 * java-gimplify.c: New file.
440 2004-05-10 Andrew Haley <aph@redhat.com>
442 * parse.y (create_class): Set TYPE_VFIELD.
443 * decl.c (java_init_decl_processing): Likewise.
445 * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
446 * class.c (make_method_value): Replace DECL_VINDEX with call to
448 (get_dispatch_vector): Likewise.
449 (layout_class_method): Likewise.
450 Replace set of DECL_VINDEX with call to set_method_index().
451 (set_method_index): New function.
452 (get_method_index): New function.
453 * java-tree.h (set_method_index): New function decl.
454 (get_method_index): New function decl.
456 2004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
458 * parse.y (check_pkg_class_access): Add new argument
459 and use it when cl is NULL to call lookup_cl on it.
460 (parser_check_super_interface): Do not call lookup_cl.
461 Pass this_decl to check_pkg_class_access and NULL
462 instead of lookup_cl.
463 (parser_check_super): Update for change in
464 check_pkg_class_access.
465 (do_resolve_class): Likewise.
466 (process_imports): Likewise.
467 (find_in_imports_on_demand): Likewise.
468 (resolve_qualified_expression_name): Likewise.
470 2004-05-06 Ranjit Mathew <rmathew@hotmail.com>
472 Fixes PR java/9685, PR java/15073
473 * parse.y (accessibility_string): New method.
474 (not_accessible_field_error): Use accessibility_string()
475 instead of java_accstring_lookup().
476 (resolve_qualified_expression_name): Check with
477 check_pkg_class_access() before allowing access using
480 Use check_pkg_class_access() instead of not_accessible_p()
481 for unqualified types.
482 (not_accessible_p): Use DECL_CONTEXT (member) instead of
483 REFERENCE for package-private access checking.
484 (patch_method_invocation): Use accessibility_string() instead
485 of java_accstring_lookup().
487 2004-04-30 Ranjit Mathew <rmathew@hotmail.com>
490 * gjavah.c (struct method_name): Add member is_native.
491 (overloaded_jni_method_exists_p): Match candidate method only if
493 (print_method_info): Initialise is_native flag from the method's
496 2004-04-30 Roger Sayle <roger@eyesopen.com>
498 * builtins.c (java_builtins): Add acos, asin, ceil and floor.
499 (initialize_builtins): Likewise, define acos, asin, ceil and floor.
501 2004-04-22 Roger Sayle <roger@eyesopen.com>
503 * resource.c (write_resource_constructor): Guard call to possibly
504 NULL targetm.asm_out.constructor with targetm.have_ctors_dtors.
506 2004-04-19 Bryce McKinlay <mckinlay@redhat.com>
508 * class.c (make_class_data): Add new field aux_info.
509 * decl.c (java_init_decl_processing): Push type and decl for
512 2004-04-15 Bryce McKinlay <mckinlay@redhat.com>
514 * expr.c (expand_java_NEW): Don't use size argument for
515 _Jv_AllocObject calls.
516 * parse.y (patch_invoke): Likewise.
518 2004-04-12 Bryce McKinlay <mckinlay@redhat.com>
520 * expr.c (build_invokeinterface): Remove unused variables to
523 2004-04-12 Bryce McKinlay <mckinlay@redhat.com>
525 * class.c (get_interface_method_index): New function. Return dispatch
526 index for interface method.
527 (make_method_value): For interface methods, set index field to
528 iface dispatch index, not DECL_VINDEX.
529 * expr.c (build_invokeinterface): Use get_interface_method_index.
531 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
533 * jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
535 2004-03-31 Andrew Haley <aph@redhat.com>
538 * jcf-io.c (opendir_in_zip): Tidy up error handling.
540 2004-03-30 Zack Weinberg <zack@codesourcery.com>
542 * builtins.c, expr.c, jcf.h, parse.h: Use new shorter
545 2004-03-25 Marcus Meissner <meissner@suse.de>
548 * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
550 2004-03-23 Tom Tromey <tromey@redhat.com>
553 * jcf-write.c (make_class_file_name): Don't report if mkdir
556 2004-03-23 Tom Tromey <tromey@redhat.com>
558 * gcj.texi (Extensions): Document GCJ_PROPERTIES.
560 2004-03-20 Kazu Hirata <kazu@cs.umass.edu>
562 * class.c, gjavah.c, lang.c: Fix comment typos.
563 * gcj.texi: Fix typos.
565 2004-03-19 Per Bothner <per@bothner.com>
567 * gcj.texi (Code Generation): Document new flags and assert defaults.
569 * class.c (assume_compiled_node_struct): Rename type to
570 class_flag_node_struct, as it is now also used for enable_assertions.
571 Rename assume_compiled_node typedef. Rename excludep field to value.
572 (find_assume_compiled_node): Rename function to find_class_flag_node.
573 Minor optimization - avoid needless strlen.
574 (add_assume_compiled): Some tweaking and optimization.
575 Rename and generalize to add_class_flag takem an extra parameter.
576 (add_assume_compled): New just calls add_class_flag.
577 (add_enable_assert, enable_assertions): New functions.
578 (enable_assert_tree): New static.
579 * java-tree.h (add_enable_assert, enable_assertions): New declarations.
580 * lang.opt (fenable-assertions, fenable-assertions=,
581 fdisable-assertions, fdisable-assertions=): New options.
582 * lang.c (java_handle_option): Handle new options.
583 * parse.y (build_incomplete_class_ref): Handle class$ in an inner
584 class in an interface - create helper class nested in outer interface.
585 (build_assertion): Short-circuit if enable_assertions is false.
587 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
589 * java-tree.h: Changes throughout to add checking to macros
590 and numerous whitespace changes.
591 (VAR_OR_FIELD_CHECK): New macro.
592 * jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC,
593 FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL.
595 2004-03-16 Per Bothner <per@bothner.com>
597 * jcf-jump.c (options): New --print-constants option.
598 * gcj.texi (Invoking jcf-dump): Document --print-constants.
600 * jcf-dump.c (flag_print_constant_pool): Default to off.
601 (print_constant_terse_with_index): New helper function.
602 (various places): Check flag_print_constant_pool where missing.
603 (main): If verbose set flag_print_constant_pool.
604 (HANDLE_INNERCLASSES_ATTRIBUTE): Null inner class name is anonymous.
606 2004-03-15 Andrew Haley <aph@redhat.com>
609 * parse.y (java_complete_lhs): Check that final variable has an
612 2004-03-12 Andrew Haley <aph@redhat.com>
615 * typeck.c (convert): Clear TREE_OVERFLOW after an integer
618 2004-02-29 Roger Sayle <roger@eyesopen.com>
620 * jcf-parse.c (java_parse_file): Handle the case that input_filename
623 2004-02-27 Per Bothner <per@bothner.com>
625 * parse.y (build_assertion): Re-do 02-25 change following Jeff Sturm
626 suggestion: Use build_incomplete_class_ref.
627 This fixes PR java/13508, java/11714.
629 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
631 * java/parse.h: Update copyright.
633 2004-02-26 Andrew Haley <aph@redhat.com>
636 * parse.y (check_interface_throws_clauses): Check for
637 !METHOD_INVISIBLE (iface_method).
638 * class.c (layout_class_methods): Check for CLASS_INTERFACE as
639 well as CLASS_ABSTRACT.
641 2004-02-25 Per Bothner <per@bothner.com>
643 * parse.y (build_assertion): If we're in an inner class, create the
644 class$ helper routine in the outer class.
646 2004-02-19 Richard Henderson <rth@redhat.com>
648 * parse.y (switch_label): Use make_node for DEFAULT_EXPR.
650 2004-02-16 Geoffrey Keating <geoffk@apple.com>
652 * Make-lang.in (java.install-man): Add extra dependencies.
654 2004-02-13 Geoffrey Keating <geoffk@apple.com>
656 * Make-lang.in: Install man pages under the same names
657 (possibly transformed) as the program they document.
659 2004-02-10 Joseph S. Myers <jsm@polyomino.org.uk>
661 * gjavah.c: Include "intl.h".
662 (error): New function.
663 (main): Call gcc_init_libintl.
664 (get_field_name, throwable_p, print_c_decl, print_full_cxx_name,
665 print_stub_or_jni, process_file, main): Use error rather than
667 (print_method_info, usage, help, version, main): Mark strings for
668 translation with _. Avoid splitting up sentences. Send
669 information messages to stdout.
670 * jcf-dump.c: Include "intl.h".
671 (main): Call gcc_init_libintl.
672 (process_class, usage, help, version, main, CHECK_PC_IN_RANGE):
673 Mark error, usage and version messages for translation with _.
674 Avoid splitting up sentences.
675 * jv-scan.c: Include "intl.h".
676 (fatal_error, warning): Change parameter s to msgid. Translate
678 (main): Call gcc_init_libintl.
679 (usage, help, version): Mark error, usage and version messages for
680 translation with _. Avoid splitting up sentences.
681 * jvgenmain.c: Include "intl.h".
682 (main): Call gcc_init_libintl.
683 (usage, main): Mark error messages for translation with _.
684 * Make-lang.in (GCJH_OBJS, JVSCAN_OBJS, JCFDUMP_OBJS,
685 JVGENMAIN_OBJS): Add intl.o.
686 (java/jcf-dump.o, java/gjavah.o, java/jv-scan.o,
687 java/jvgenmain.o): Update dependencies.
689 2004-02-08 Per Bothner <per@bothner.com>
691 * parse.y (resolve_qualified_expression_name): In case of inaccessible
692 class don't use not_accessible_field_error, which can get confused.
694 2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
696 Make-lang.in (po-generated): Delete.
698 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
700 * Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
702 * decl.c: Include target.h.
703 (start_java_method): Replace PROMOTE_PROTOTYPES with
704 targetm.calls.promote_prototypes.
705 * expr.c: Include target.h.
706 (pop_arguments): Replace PROMOTE_PROTOTYPES with
707 targetm.calls.promote_prototypes.
708 * parse.y: Include target.h.
709 (start_complete_expand_method): Replace PROMOTE_PROTOTYPES
710 with targetm.calls.promote_prototypes.
712 2004-02-04 Kazu Hirata <kazu@cs.umass.edu>
714 * typeck.c: Update copyright.
716 2004-02-02 Tom Tromey <tromey@redhat.com>
718 * decl.c (java_init_decl_processing): Remove duplicate
721 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
723 * Make-lang.in (doc/gcj.dvi): Use $(abs_docdir).
725 2004-01-28 Andrew Pinski <pinskia@physics.uc.edu>
727 * expr.c (build_field_ref): Move variable
730 2004-01-28 Andrew Haley <aph@redhat.com>
732 * expr.c (build_field_ref): Widen field offset.
734 2004-01-27 Andrew Haley <aph@redhat.com>
737 * parse.y (check_interface_throws_clauses): Make sure class_decl
740 2004-01-22 Jeff Sturm <jsturm@one-point.com>
743 * parse.y (patch_assignment): Don't modify lhs_type for
744 reference assignments.
746 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
748 * Make-lang.in: Replace $(docdir) with doc.
749 (java.info, java.srcinfo, java.man, java.srcman): New rules.
750 (java.install-man): Revamp rule.
752 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
754 * Make-lang.in (JAVA_INSTALL_NAME, JAVA_TARGET_INSTALL_NAME,
755 GCJH_TARGET_INSTALL_NAME): Define via a immediate $(shell)
756 instead of deferred backquote.
758 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
760 * typeck.c (find_method_in_interfaces): Move variable
763 2004-01-16 Andrew Haley <aph@redhat.com>
766 * typeck.c (shallow_find_method): New.
767 (find_method_in_superclasses): New.
768 (find_method_in_interfaces): New.
769 (lookup_do): Rewrite.
770 * java-tree.h (SEARCH_ONLY_INTERFACE): Delete.
772 * jcf-parse.c (read_class): Save and restore output_class.
773 * decl.c (java_expand_body): Set output_class from fndecl.
775 2004-01-15 Michael Chastain <mec.gnu@mindspring.com>
777 * class.c (gen_indirect_dispatch_tables): Fix string length
780 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
782 * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
783 (java.srcextra): Copy above back to source directory if requested.
784 (po-generated): Delete reference to $(parsedir).
785 (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
788 2004-01-14 Jan Hubicka <jh@suse.cz>
790 * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
793 2004-01-09 Mark Mitchell <mark@codesourcery.com>
795 * java-tree.h (java_expand_expr): Change prototype.
796 * expr.c (java_expand_expr): Add alt_rtl parameter.
798 2004-01-09 Andrew Haley <aph@redhat.com>
801 * parse.y (java_fix_constructors): Set output_class.
802 (java_reorder_fields): Likewise.
803 (java_layout_classes): Likewise.
804 (java_expand_classes): Generate indirect dispatch tables.
805 (java_expand_classes): Set output_class.
806 (java_finish_classes): Likewise.
807 * lang.c (java_init): Turn on always_initialize_class_p if we're
808 using indirect dis[atch.
809 (java_decl_ok_for_sibcall): Use output_class, not current_class.
810 (java_get_callee_fndecl): Use class local atable.
812 (always_initialize_class_p): Decl moved to java-tree.h.
813 (HANDLE_CLASS_INFO): Set output_class.
814 (read_class): Likewise.
815 (parse_class_file): Call gen_indirect_dispatch_tables.
816 (parse_zip_file_entries): Set output_class.
817 (java_parse_file): Set output_class. Don't emit symbol tables.
818 * java-tree.h (output_class): New.
819 Remove global declarations for otable, atable, and ctable.
820 (always_initialize_class_p): moved here from decl.c.
822 (TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL,
823 TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL,
824 TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New.
825 (struct lang_type): Add otable_methods, otable_decl,
826 otable_syms_decl, atable_methods, atable_decl, atable_syms_decl,
827 ctable_decl, catch_classes, type_to_runtime_map.
828 * expr.c (build_field_ref): Make otable, atable, and ctable class
829 local rather than global.
830 (build_known_method_ref): Likewise.
831 (build_invokeinterface): Likewise.
832 (java_expand_expr): Pass runtime type (rather than actual type) to
834 * except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for
835 this class. Look up each class in that map to delete duplicates.
836 (expand_end_java_handler): Pass runtime type (rather than actual
837 type) to expand_start_catch.
838 * decl.c: (always_initialize_class_p): Decl moved to java-tree.h.
840 (java_init_decl_processing): Rearrange things. Remove global
841 declarations of otable, atable, and ctable.
842 (java_init_decl_processing): Make lang_eh_runtime_type do_nothing.
843 (java_expand_body): Set output_class.
844 * constants.c (build_constant_data_ref): Use output_class, not
846 (alloc_name_constant): Likewise.
847 * class.c (gen_indirect_dispatch_tables): New.
848 (build_class_ref): Generate hard reference to superclass, even if
849 using indirect dispatch.
850 (build_static_field_ref): Use class local atable.
851 (make_class_data): Generate hard reference to superclass, even if
852 using indirect dispatch.
853 Generate symbolic references to interfaces when using indirect
855 (make_class_data): Emit otable, atable, and ctable.
856 Make otable, atable, and ctable class local rather than global.
857 (emit_catch_table): Make otable, atable, and ctable class local
860 2003-12-25 Andrew Pinski <pinskia@physics.uc.edu>
862 * parse.y (catch_clause_parameter): Fix typo.
865 * parse.y: (catch_clause_parameter): Return early if $3, aka
866 formal_parameter, is null.
868 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
870 * class.c: Remove uses of "register" specifier in
871 declarations of arguments and local variables.
874 * gjavah.c: Likewise.
875 * jcf-dump.c: Likewise.
876 * jcf-io.c: Likewise.
877 * jcf-parse.c: Likewise.
878 * jcf-write.c: Likewise.
879 * keyword.h: Likewise.
881 * typeck.c: Likewise.
882 * verify.c: Likewise.
884 2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
886 * Make-lang.in (GCJ_CROSS_NAME): Delete.
887 (java.install_common, java.install-man): Adjust for above.
888 (java.uninstall): Likewise.
890 2003-12-03 Michael Koch <konqueror@gmx.de>
892 * class.c (make_class_data):
893 Push field value to 'hack_signers' instead of 'signers'.
894 * decl.c (java_init_decl_processing):
895 Push field 'hack_signers' instead of 'signers'.
897 2003-12-03 Zack Weinberg <zack@codesourcery.com>
899 * lex.h: Check both HAVE_ICONV and HAVE_ICONV_H before
902 2003-12-03 Ralph Loader <rcl@ihug.co.nz>
905 * parse.y (qualify_ambiguous_name): Remove lots of broken
906 field access processing - there's no need to do that here,
907 because we have resolve_field_access. Remove
908 RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
909 * java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
912 2003-12-01 Jeff Sturm <jsturm@one-point.com>
915 * parse.y (java_complete_lhs): Save location prior to patching
918 2003-11-25 Mohan Embar <gnustuff@thisiscool.com>
921 * resource.c (write_resource_constructor): Append
922 "_resource" to constructor identifier name.
924 2003-11-25 Jeff Sturm <jsturm@one-point.com>
927 * constants.c (cpool_for_class): New function.
928 (outgoing_cpool): Remove global variable.
929 (alloc_name_constant): Use cpool_for_class.
930 (build_constants_constructor): Likewise.
931 * decl.c (java_expand_body): Set current_class.
932 * java-tree.h (outgoing_cpool) Remove declaration.
933 (init_outgoing_cpool): Likewise.
934 * jcf-parse.c (init_outgoing_cpool): Remove function.
935 (parse_class_file): Don't call init_outgoing_cpool.
936 * parse.y (java_complete_expand_methods): Don't call
937 init_outgoing_cpool. Don't save outgoing_cpool.
938 (java_expand_classes): Don't restore outgoing_cpool.
939 (java_finish_classes): Likewise.
941 2003-11-24 Mohan Embar <gnustuff@thisiscool.com>
943 * Make-lang.in: (java.install-common) Add
944 symlink for $(target_noncanonical)-gcjh for
947 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
949 * Make-lang.in (java.extraclean): Delete.
951 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
953 * Make-lang.in (check-java): Add.
955 2003-11-19 Jeff Sturm <jsturm@one-point.com>
958 * except.c (prepare_eh_table_type): Allocate variable-sized
959 buffer `buf' with alloca.
961 2003-11-17 Jeff Sturm <jsturm@one-point.com>
965 decl.c (java_init_decl_processing): Don't initialize
966 class_not_found_type_node, no_class_def_found_type_node.
968 java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE,
969 JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index.
970 (class_not_found_type_node, no_class_def_found_type_node):
973 parse.y (build_dot_class_method_invocation): Add this_class
974 argument. Qualify method invocations to a different class.
975 (create_new_parser_context): Initialize saved_data_ctx to 0.
976 (java_parser_context_save_global): Initialize saved_data_ctx to 1.
977 (build_dot_class_method): Don't load classes. Register
979 (build_incomplete_class_ref): Special cases for interfaces
980 and inner classes. Move build_dot_class_method call to here...
981 (patch_incomplete_class_ref): ...from here. Pass current_class
982 to build_dot_class_method_invocation.
983 (build_assertion): Pass class_type to
984 build_dot_class_method_invocation.
985 (encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node.
987 2003-11-17 Jeff Sturm <jsturm@one-point.com>
990 * java-tree.h (BLOCK_EMPTY_P): Define.
991 * parse.y (java_complete_lhs): Check for empty blocks
992 in TRY_FINALLY_EXPR case.
994 2003-11-17 Andrew Haley <aph@redhat.com>
996 * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
997 (struct lang_decl_var:freed): New variable.
998 * decl.c (poplevel): Mark local vars that have gone out of scope.
999 (push_jvm_slot): Don't use the RTL of a var that has gone out of
1002 2003-11-16 Jason Merrill <jason@redhat.com>
1004 * Make-lang.in (java.tags): Create TAGS.sub files in each directory
1005 and TAGS files that include them for each front end.
1007 2003-11-15 Tom Tromey <tromey@redhat.com>
1009 * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
1011 2003-11-12 Jason Merrill <jason@redhat.com>
1013 PR optimization/12547
1014 * lang.c (java_tree_inlining_walk_subtrees): Just walk
1015 BLOCK_EXPR_BODY directly.
1017 2003-11-12 Andrew Haley <aph@redhat.com>
1020 * parse.y (fold_constant_for_init): Check that we really do have a
1024 * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
1025 init_test_decls being inlined.
1028 * parse.y (do_resolve_class): Check return value from
1029 breakdown_qualified().
1031 2003-11-11 Tom Tromey <tromey@redhat.com>
1034 * parse.y (merge_string_cste): Handle case where we have a
1035 pointer that happens to be zero, not null_pointer_node.
1037 2003-11-10 Tom Tromey <tromey@redhat.com>
1039 * jcf-parse.c (classify_zip_file): Correctly compare
1040 filename_length against length of manifest file's name.
1042 2003-11-08 Tom Tromey <tromey@redhat.com>
1045 * jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.
1047 2003-11-06 Andrew Haley <aph@redhat.com>
1049 * expr.c (java_stack_swap): Make sure destination stack slots are
1050 of the correct type.
1052 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
1054 * Make-lang.in (dvi): Move targets to $(docobjdir).
1055 (gcj.dvi): Simplify rule and adjust target.
1056 (gcj.info): Simplify rule.
1057 (gcj.pod): New intermediate rule.
1058 (gcjh.pod): Likewise.
1059 (jv-scan.pod): Likewise.
1060 (jcf-dump.pod): Likewise.
1061 (gij.pod): Likewise.
1062 (jv-convert.pod): Likewise.
1063 (rmic.pod): Likewise.
1064 (rmiregistry.pod): Likewise.
1067 (jv-scan.1): Delete.
1068 (jcf-dump.1): Delete.
1070 (jv-convert.1): Delete.
1072 (rmiregistry.1): Delete.
1074 2003-11-02 Jeff Sturm <jsturm@one-point.com>
1076 Fixes PR java/12866.
1077 * parse.y (resolve_qualified_expression_name): Move test
1078 for outer field access methods from here...
1079 (check_thrown_exceptions) ...to here.
1081 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
1083 * .cvsignore: Delete.
1085 2003-10-28 Frank Ch. Eigler <fche@redhat.com>
1087 * verify.c (verify_jvm_instructions): Don't warn about legal
1088 eh binding regions generated for example by jdk 1.4.1.
1090 2003-10-24 David S. Miller <davem@redhat.com>
1092 * jcf-parse.c (jcf_parse): Fix args to fatal_error().
1094 2003-10-22 Andrew Haley <aph@redhat.com>
1096 * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
1097 (java_get_callee_fndecl): New.
1099 * jcf-parse.c (java_parse_file): Call emit_catch_table().
1101 * java-tree.h (ctable_decl): New.
1102 (catch_classes): New.
1103 (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
1105 * decl.c (java_init_decl_processing): Add catch_class_type.
1107 Add catch_classes field.
1109 * class.c (build_indirect_class_ref): Break out from
1111 (make_field_value): Check flag_indirect_dispatch.
1112 (make_class_data): Ditto.
1113 Tidy uses of PUSH_FIELD_VALUE.
1114 Add field catch_classes.
1115 (make_catch_class_record): New.
1117 * java-tree.h (PUSH_FIELD_VALUE): Tidy.
1119 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
1121 * jcf-write.c: Follow spelling conventions.
1122 * parse.y: Likewise.
1124 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
1126 * ChangeLog: Fix typos.
1127 * expr.c: Fix comment typos.
1128 * jcf-write.c: Likewise.
1131 * mangle.c: Likewise.
1132 * parse-scan.y: Likewise.
1133 * parse.y: Likewise.
1135 2003-10-22 Tom Tromey <tromey@redhat.com>
1137 * expr.c (expand_byte_code): Only warn about dead bytecode when
1138 extra_warnings is set.
1140 2003-10-22 Bryce McKinlay <bryce@mckinlay.net.nz>
1142 Fix for PR java/12586.
1143 * mangle.c (find_compression_record_match): Don't iterate through
1144 package namespace elements unless they all match compression_table
1147 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
1149 * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
1150 (generate-manpages): Likewise.
1151 (java.maintainer-clean): Likewise.
1152 (gcj.info): Likewise.
1155 (jv-scan.1): Likewise.
1156 (jcf-dump.1): Likewise.
1158 (jv-convert.1): Likewise.
1160 (rmiregistry.1): Likewise.
1161 (java.install-man): Likewise.
1162 (parse-scan.o): Move and define complete compile line.
1163 (parse.o): Likewise.
1164 (jcf-tree-inline.o): Move.
1166 2003-10-20 Mark Mitchell <mark@codesourcery.com>
1168 * Make-lang.in (info): Update dependencies.
1169 (java.install-info): Remove.
1170 ($(srcdir)/java/gcj.info): Replace with ...
1171 ($(docobjdir)/gcj.info): ... this.
1173 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
1175 * Make-lang.in: Replace uses of $(target_alias) with
1176 $(target_noncanonical).
1178 2003-10-09 Tom Tromey <tromey@redhat.com>
1180 * decl.c (java_init_decl_processing): Declare signers field.
1181 * class.c (make_class_data): Set signers field.
1183 2003-10-09 Jason Merrill <jason@redhat.com>
1185 * parse.y (patch_assignment): Use make_node to create a BLOCK.
1186 * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
1189 2003-10-06 Mark Mitchell <mark@codesourcery.com>
1191 * Make-lang.in (java.info): Replace with ...
1193 (java.dvi): Replace with ...
1195 (java.generated-manpages): Replace with ...
1197 2003-10-03 Kelley Cook <kelleycook@wideopenwest.com>
1199 * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
1201 2003-10-01 Andrew Haley <aph@redhat.com>
1203 * jcf-parse.c (java_parse_file): Write otable and atable.
1204 * java-tree.h (atable_methods): New.
1206 (atable_syms_decl): New.
1207 (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
1208 JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
1209 (symbol_*type): Rename method_symbol* to symbol*type.
1210 (emit_offset_symbol_table): Delete.
1211 (emit_symbol_table): New.
1212 (get_symbol_table_index): New.
1214 * expr.c (build_field_ref): Handle flag_indirect_dispatch.
1215 (build_known_method_ref): Likewise.
1216 (get_symbol_table_index): Rename from get_offset_table_index.
1217 Parameterize to allow re-use by differing types of symbol table.
1218 (build_invokevirtual): Pass table to get_offset_table_index.
1219 * decl.c (java_init_decl_processing): Push types and decls for
1220 atable and atable_syyms.
1221 * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
1222 (make_class_data): Add new fields atable and atable_syms.
1223 (emit_symbol_table): Rename from emit_offset_symbol_table.
1224 Parameterize to allow re-use by different types of symbol table.
1225 (build_symbol_entry): Renamed from build_method_symbols_entry.
1227 2003-09-30 Roger Sayle <roger@eyesopen.com>
1229 * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
1230 semantics for SAVE_EXPR, by caching the result in a temporary.
1232 2003-09-28 Richard Henderson <rth@redhat.com>
1234 * check-init.c (check_init): Save and restore input_location
1235 instead of file and line separately.
1236 * decl.c (java_expand_body): Likewise.
1237 * jcf-write.c (generate_bytecode_insns): Likewise.
1238 * parse.y (safe_layout_class): Likewise.
1239 * jcf-parse.c (read_class, parse_class_file): Likewise.
1240 (java_parse_file): Use %H for warning locator.
1242 2003-09-28 Roger Sayle <roger@eyesopen.com>
1244 * expr.c (java_check_reference): Use the semantics of COND_EXPRs
1245 with void-type branches instead of using a COMPOUND_EXPR.
1247 2003-09-28 Jeff Sturm <jsturm@one-point.com>
1249 * decl.c (java_optimize_inline, dump_function): Remove.
1250 * java-tree.h (java_optimize_inline): Remove declaration.
1251 * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
1252 * parse.y (source_end_java_method, java_expand_classes):
1253 Likewise. Remove dead code.
1255 2003-09-27 Roger Sayle <roger@eyesopen.com>
1257 * lang.c (java_init_options): Set flag_evaluation_order.
1258 * expr.c (force_evaluation_order): Don't attempt to force
1259 evaluation order of binary operations using save_expr.
1260 * parse.y (java_complete_lhs): No longer need to call
1261 force_evaluation_order when constructing binary operators.
1263 2003-09-27 Alexandre Petit-Bianco <apbianco@redhat.com>
1264 Bryce McKinlay <bryce@mckinlay.net.nz>
1267 * parse.y (not_accessible_field_error): New function.
1268 (resolve_expression_name): Check field access permissions.
1269 (resolve_qualified_expression_name): Use
1270 not_accessible_field_error.
1271 (resolve_qualified_expression_name): Likewise.
1273 2003-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1275 * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
1277 2003-09-23 Roger Sayle <roger@eyesopen.com>
1279 * jcf-write.c (generate_bytecode_insns): Optimize binary operations
1280 with equal operands without side-effects.
1282 2003-09-22 Jeff Sturm <jsturm@one-point.com>
1284 * decl.c (java_init_decl_processing): Don't emit otable decls
1285 if flag_indirect_dispatch is not set.
1287 2003-09-21 Richard Henderson <rth@redhat.com>
1289 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
1292 2003-09-21 Richard Henderson <rth@redhat.com>
1294 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
1295 resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
1297 2003-09-20 Richard Henderson <rth@redhat.com>
1299 * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
1301 2003-09-18 Roger Sayle <roger@eyesopen.com>
1303 * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
1304 * check-init.c (check_init): Likewise.
1306 2003-09-18 Roger Sayle <roger@eyesopen.com>
1308 * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
1310 2003-09-16 Andrew Haley <aph@redhat.com>
1312 * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
1314 2003-09-17 Ranjit Mathew <rmathew@hotmail.com>
1317 * mangle.c (find_compression_record_match): Skip
1318 over a "6JArray" (the array template mangled string)
1320 (mangle_array_type): Correct minor typo.
1321 (atms): Move definition to the beginning.
1323 2003-09-16 Bryce McKinlay <bryce@mckinlay.net.nz>
1325 * class.c (add_miranda_methods): Ensure super-interfaces are laid
1326 out. Fix for PR java/12254.
1328 2003-09-11 Richard Henderson <rth@redhat.com>
1330 * parse.y (source_end_java_method): Update for new
1331 cgraph_finalize_function argument.
1333 2003-09-09 Richard Henderson <rth@redhat.com>
1335 * parse.y (source_end_java_method): Update call to
1336 cgraph_finalize_function.
1338 2003-09-03 Jeff Sturm <jsturm@one-point.com>
1340 * decl.c (java_expand_body): New function.
1341 * expr.c (build_class_init): Set DECL_IGNORED_P.
1342 * java-tree.h (start_complete_expand_method,
1343 java_expand_body): Declare.
1344 * jcf-parse.c (cgraph.h): Include.
1345 (java_parse_file): Handle flag_unit_at_a_time.
1346 * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
1347 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1348 (java_estimate_num_insns): Use walk_tree_without_duplicates.
1349 (java_start_inlining): New function.
1350 * parse.h (java_finish_classes): Declare.
1351 * parse.y: Include cgraph.h.
1352 (block): Don't special-case empty block production.
1353 (craft_constructor): Set DECL_INLINE.
1354 (source_end_java_method): Handle flag_unit_at_a_time.
1355 Replace inline code with call to java_expand_body.
1356 (start_complete_expand_method): Remove static modifier.
1357 (java_expand_method_bodies): Patch function tree for
1358 class initialization and/or synchronization as needed.
1359 Don't begin RTL expansion yet.
1360 (java_expand_classes): Check flag_unit_at_a_time before
1361 calling finish_class.
1362 (java_finish_classes): New function.
1363 (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
1364 (patch_assignment): Set DECL_CONTEXT on temporary variable.
1365 (emit_test_initialization): Set DECL_IGNORED_P.
1367 2003-09-03 Roger Sayle <roger@eyesopen.com>
1369 * builtins.c (enum builtin_type): Delete unused enumeration.
1370 * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
1372 2003-08-28 Tom Tromey <tromey@redhat.com>
1374 * gcj.texi (Extensions): Document gcjlib URLs.
1376 2003-08-20 Tom Tromey <tromey@redhat.com>
1378 * gcj.texi (Extensions): Added xref.
1379 (libgcj Runtime Properties): Document
1380 gnu.gcj.runtime.VMClassLoader.library_control.
1382 2003-08-20 Andrew Haley <aph@redhat.com>
1384 * except.c (prepare_eh_table_type): Use new encoding for exception
1385 handlers when using -fno-assume-compiled.
1387 2003-08-13 Tom Tromey <tromey@redhat.com>
1389 * gcj.texi (Invoking gij): Document -X and -?.
1391 2003-08-13 Mohan Embar <gnustuff@thisiscool.com>
1393 * Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
1394 GCJH_OBJS, JCFDUMP_OBJS
1395 * win32-host.c: Removed the unnecessary and broken dependency
1398 2003-08-11 Tom Tromey <tromey@redhat.com>
1400 * parse.y (java_check_regular_methods): Typo fixes. Call
1401 check_interface_throws_clauses. Use
1402 check_concrete_throws_clauses.
1403 (check_interface_throws_clauses): New function.
1404 (check_concrete_throws_clauses): New function.
1405 (hack_is_accessible_p): New function.
1406 (find_most_specific_methods_list): Added FIXME.
1407 * typeck.c (lookup_do): Use `flags' argument to decide what to
1409 (lookup_argument_method_generic): New function.
1410 (lookup_argument_method2): Removed.
1411 * jcf.h (ACC_INVISIBLE): New define.
1412 * jcf-write.c (generate_classfile): Skip invisible methods.
1413 * class.c (add_miranda_methods): New function.
1414 (layout_class_methods): Use it.
1415 (get_access_flags_from_decl): Use ACC_INVISIBLE.
1416 * java-tree.h (METHOD_INVISIBLE): New define.
1417 (lang_decl_func) [invisible]: New field.
1418 (lookup_argument_method_generic): Declare.
1419 (SEARCH_INTERFACE): New define.
1420 (SEARCH_SUPER): Likewise.
1421 (SEARCH_ONLY_INTERFACE): Likewise.
1422 (SEARCH_VISIBLE): Likewise.
1423 (lookup_argument_method2): Removed declaration.
1425 2003-08-05 Tom Tromey <tromey@redhat.com>
1427 Fix for PR java/11600:
1428 * parse.y (java_complete_lhs): See whether we're calling a method
1430 (check_thrown_exceptions): Added `is_array_call' argument;
1431 fixed `clone' checking; updated all callers.
1433 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
1435 * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
1437 2003-08-03 Tom Tromey <tromey@redhat.com>
1439 * java-tree.h (METHOD_TRANSIENT): Removed.
1440 * decl.c (pushdecl): Removed some dead code.
1441 * class.c (get_access_flags_from_decl): Can't have transient
1443 (add_method_1): Can't have a transient method.
1445 2003-07-28 Andreas Jaeger <aj@suse.de>
1447 * jvspec.c: Convert to ISO C90 prototypes.
1449 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
1451 * decl.c (force_poplevels): Fix warning call.
1453 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1455 * expr.c (expand_java_field_op): Don't use xxx_with_decl
1456 (expand_java_field_op): Likewise.
1457 * class.c (layout_class_method): Likewise
1458 (emit_register_classes): Likewise.
1459 * decl.c (pushdecl): Likewise.
1460 (poplevel): Likewise.
1461 (force_poplevels): Likewise.
1462 (give_name_to_locals): Likewise.
1463 * check-init.c (check_for_initialization): Likewise.
1465 2003-07-24 Jason Merrill <jason@redhat.com>
1467 * java-tree.h: Move boolean_type_node et al to the back end.
1469 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1471 * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
1474 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
1476 * lang.opt: Don't show -MD_ and -MDD_.
1478 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
1480 * lang-options.h: Remove.
1481 * lang.opt: Add help text.
1483 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
1485 * expr.c: Remove the last argument to expand_assignment().
1487 2003-07-09 Jan Hubicka <jh@suse.cz>
1489 * java-tree.h (DECL_NUM_STMTS): Rename to...
1490 (DECL_ESTIMATED_INSNS): ... this.
1491 * lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
1492 New static functions.
1493 (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
1494 * parser.y (add_stmt_to_compound): Do not account statements.
1496 2003-07-08 Mark Wielaard <mark@klomp.org>
1498 * gcj.texi: CNI now expands to Compiled Native Interface.
1500 2003-07-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1502 * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
1504 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
1506 * expr.c (expand_byte_code): Adjist emit_line_note call.
1508 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
1510 * lang.c (java_handle_option): Don't handle filenames.
1512 2003-07-02 Zack Weinberg <zack@codesourcery.com>
1514 * jcf-path.c: Don't default-define PATH_SEPARATOR nor
1517 * jcf-write.c: Don't default-define DIR_SEPARATOR.
1518 * jcf.h: Delete COMPARE_FILENAMES definition.
1520 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
1522 * lang.c (java_init_options): Update prototype.
1524 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
1526 * decl.c (poplevel): Adjust define_label call.
1528 2003-06-27 Zack Weinberg <zack@codesourcery.com>
1530 * gjavah.c (flag_jni): Make non-static.
1531 * parse-scan.y (ctxp): Make non-static.
1533 * class.c (build_method_symbols_entry)
1534 * expr.c (get_offset_table_index)
1535 * jcf-parse.c (jcf_parse):
1536 Mark the definition static, matching the forward declaration.
1538 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
1540 * lang.c (java_handle_option): Don't check for missing arguments.
1542 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
1544 * class.c (push_class): Use a location_t to save place.
1545 (emit_register_classes): Set input_location. Adjust
1546 expand_function_end call.
1547 * resource.c (write_resource_constructor): Likewise.
1548 * decl.c (end_java_method): Adjust expand_function_end call.
1549 * parse.y (source_end_java_method): Likewise.
1551 2003-06-17 Robert Abeles <rabeles@archaelogic.com>
1553 * lang.c (java_handle_option): Likewise.
1555 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
1557 * lang.c (java_handle_option): Special-casing of optional
1558 joined arguments no longer needed.
1559 * lang.opt: Update switches that take optional argument.
1561 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1563 * lang.opt: Declare Java.
1564 * lang.c (java_init_options): Update.
1566 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1568 * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
1570 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
1572 * lang-specs.h: Rewrite -MD and -MMD to append an underscore.
1573 * lang.c (java_handle_option): -MD and -MMD have an underscore.
1574 * lang.opt: -MD and -MMD have an underscore.
1576 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
1578 * class.c (emit_register_classes): Adjust init_function_start
1580 * decl.c (complete_start_java_method): Likewise.
1581 * resource.c (write_resource_constructor): Likewise.
1583 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
1585 * Make-lang.in: Update to use options.c and options.h.
1586 * lang.c: Include options.h not j-options.h.
1587 (java_handle_option): Abort on unrecognized option.
1588 (java_init_options): Request Java switches.
1590 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
1592 * Make-lang.in: Handle mostlyclean.
1594 2003-06-11 Tom Tromey <tromey@redhat.com>
1596 * lang.c (java_handle_option): Update dependency_tracking for
1599 * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
1602 2003-06-10 Andrew Haley <aph@redhat.com>
1604 * resource.c (write_resource_constructor): Use expand_expr to
1605 generate the address of the label attached to a resource.
1606 * Make-lang.in (java/resource.o): Add expr.h
1608 2003-06-10 Andrew Haley <aph@redhat.com>
1610 * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1611 (java_decl_ok_for_sibcall): New.
1613 2003-06-09 Neil Booth <neil@daikokuya.co.uk>
1615 * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
1616 (java/j-options.c, java/j-options.h): New.
1617 * java-tree.h (resource_name, compile_resource_file,
1618 compile_resource_data): Constify.
1619 * jcf-write.c (jcf_write_base_directory): Similarly.
1620 * jcf.h (jcf_write_base_directory): Similarly.
1621 * lang.c: Include j-options.h.
1622 (cl_options_count, cl_options, string_option, java_decode_option,
1623 lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
1624 process_option_with_no): Remove.
1625 (resource_name): Constify.
1626 (LANG_HOOKS_HANDLE_OPTION): Override.
1627 (java_handle_option): New.
1628 (java_init): Don't call jcf_path_init.
1629 (java_init_options): Call jcf_path_init.
1631 * resource.c (compile_resource_data, compile_resource_file): Constify.
1633 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
1635 * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
1636 (struct lang_decl_func): Add last_line field.
1637 * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
1638 DECL_SOURCE_LINE_LAST): Remove.
1639 * parse.y (missing_return_error, finish_method_declaration,
1640 lookup_cl, start_artificial_method_body, source_end_java_method,
1641 start_complete_expand_method): Adjust.
1643 2003-06-08 Tom Tromey <tromey@redhat.com>
1645 * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
1646 fno-assume-compiled.
1648 2003-06-08 Roger Sayle <roger@eyesopen.com>
1650 * builtins.c (define_builtin_type, builtin_types): Delete.
1651 (define_builtin): Rewritten to take just the built-in code,
1652 the function's name, type and fallback library function name.
1653 All built-ins used by Java are implicit and BUILT_IN_NORMAL.
1654 (initialize_builtins): Overhaul to define the GCC builtins
1655 used by gcj manually, providing the Java run-time's
1656 implementations as the fallback library function.
1658 2003-06-08 Anthony Green <green@redhat.com>
1660 * parse.y (patch_cast): Fix conversions from floating-point to
1663 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
1665 * Make-lang.in: Update.
1666 * lang.c: Include opts.h. Define cl_options_count and cl_options.
1668 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
1670 * lang.c (java_init_options): Update.
1672 2003-06-05 Jan Hubicka <jh@suse.cz>
1674 * Make-lang.in: Add support for stageprofile and stagefeedback
1676 2003-05-31 Roger Sayle <roger@eyesopen.com>
1678 * lang.c (java_init_options): Prescribe wrap-around two's
1679 complement arithmetic overflow by setting flag_wrapv.
1681 2003-05-29 Roger Sayle <roger@eyesopen.com>
1683 * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
1684 (builtin_record): Add an additional builtin_code field to
1685 record which GCC built-in corresponds to the Java function.
1686 (java_builtins): Add new entries for atan, atan2, exp, log,
1688 (max_builtin, min_builtin, abs_builtin): Perform constant
1689 folding on the resulting tree.
1690 (java_build_function_call_expr): Likewise, perform constant
1691 folding on the resulting tree.
1692 (initialize_builtins): The NULL creators are now allowed in
1693 the java_builtins table, which is now terminated by an entry
1694 with builtin_code == END_BUILTINS.
1695 (check_for_builtin): Likewise. If the matching creator is
1696 NULL, construct the call using java_build_function_call_expr
1697 directly with the decl for the corresponding builtin_code.
1699 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
1701 * win32-host.c: Normalize copyright boilerplate.
1703 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1705 * parse.y (print_int_node): Use string concatentation on
1706 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
1707 function calls into one.
1709 2003-05-13 Zack Weinberg <zack@codesourcery.com>
1711 * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
1712 fatal_io_error with calls to fatal_error; add ": %m" to the end of
1713 all the affected error messages.
1715 2003-05-13 Richard Henderson <rth@redhat.com>
1717 * class.c (layout_class_method): Set DECL_EXTERNAL.
1718 * decl.c (java_mark_decl_local, java_mark_class_local): New.
1719 * java-tree.h (java_mark_class_local): Declare.
1720 * jcf-parse.c (parse_class_file): Use it.
1721 * parse.y (java_expand_classes): Likewise.
1723 2003-05-04 Nathan Sidwell <nathan@codesourcery.com>
1725 * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
1726 * lex.h: #include input.h.
1727 * jv-scan.c (input_filename): Remove.
1729 2003-05-02 Tom Tromey <tromey@redhat.com>
1732 * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
1733 (handle_inner_classes): New function.
1735 2003-05-01 Tom Tromey <tromey@redhat.com>
1738 * parse.y (finish_for_loop): Do nothing if update expression is a
1739 EXPR_WFL_NODE wrapping nothing.
1740 (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
1742 2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
1744 * lex.h (input_lineno): Remove declaration.
1745 * parse-scan.y: #include input.h.
1746 (input_filename): Remove declaration.
1747 (input_location): Add definition.
1748 (input_line): Remove definition.
1750 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
1752 * lex.h (lineno): Rename to ...
1753 (input_line): ... here
1754 * parse-scan.y (lineno): Rename to ...
1755 (input_line): ... here.
1756 (reset_report): Rename lineno to input_line.
1757 * check-init.c (check_init): Likewise.
1758 * class.c (push_class): Likewise.
1759 * decl.c (complete_start_java_method, end_java_method): Likewise.
1760 * expr.c (expand_byte_code): Likewise.
1761 * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
1762 * jcf-write.c (generate_bytecode_insns): Likewise.
1763 * lex.c (java_init_lex, java_allocate_new_line,
1764 do_java_lex): Likewise.
1765 * parse.h (YYNOT_TWICE): Likewise.
1766 * parse.y (empty_statement, expression_statement,
1767 java_pop_parser_context, java_parser_context_save_global,
1768 yyerror, register_fields, method_header, safe_layout_class,
1769 find_in_imports_on_demand, create_artificial_method,
1770 source_end_java_method, start_complete_expand_method,
1771 build_thisn_assign, java_complete_lhs,
1772 maybe_absorb_scoping_block): Likewise.
1774 2003-04-20 Mohan Embar <gnustuff@thisiscool.com>
1776 * jcf-io.c (find_class): use DIR_SEPARATOR instead of
1777 '/' when computing java source filename
1779 2003-04-13 Tom Tromey <tromey@redhat.com>
1781 * gjavah.c (print_c_decl): Indentation fix.
1783 2003-04-12 Zack Weinberg <zack@codesourcery.com>
1785 * class.c (make_field_value, make_method_value, get_dispatch_table)
1786 (make_class_data, emit_offset_symbol_table)
1787 * constants.c (build_constants_constructor)
1788 * java-tree.h (START_RECORD_CONSTRUCTOR)
1789 * parse.y (maybe_build_array_element_wfl):
1790 Use build_constructor.
1792 2003-04-10 Eric Blake <ebb9@email.byu.edu>
1795 * parse.y (string_convert_int_cst): Always use at least one digit
1796 in string conversion. Remove ASCII dependence.
1797 (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
1799 2003-03-16 Mohan Embar <gnustuff@thisiscool.com>
1801 * Make-lang.in: added win32-host.c
1802 * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
1803 resolves to open() on non-Win32 platforms and
1804 Win32-specific jcf_open_exact_case() on Win32
1805 * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
1806 when trying .java and .class files
1807 * win32-host.c: added to repository. Defines
1808 Win32-specific jcf_open_exact_case()
1810 2003-04-10 Andrew Haley <aph@redhat.com>
1812 * jcf-write.c (struct jcf_partial): num_jsrs: new field.
1813 (maybe_free_localvar): Renamed from localvar_free.
1814 Add new arg, really.
1815 (generate_bytecode_insns): Set new variable, jsrs.
1816 Only free local vars if no jsr insns have been emittted.
1817 Call maybe_free_localvar, not localvar_free.
1819 2003-03-30 Joseph S. Myers <jsm@polyomino.org.uk>
1821 * gcj.texi: Remove @ at start of file.
1823 2003-03-25 Tom Tromey <tromey@redhat.com>
1825 * parse.y (create_interface): Call CHECK_DEPRECATED.
1827 2003-03-23 Zack Weinberg <zack@codesourcery.com>
1829 * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
1831 2003-03-21 Zack Weinberg <zack@codesourcery.com>
1833 * javaop.h (jfloat, jdouble): Make them structures mirroring
1834 the bit fields of IEEE float and double respectively.
1835 (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
1836 JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
1837 (union Word, union DWord): Delete.
1838 (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
1840 * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
1841 D_NAN_MASK): Delete.
1842 (jni_print_float, jni_print_double): New. Generate
1843 hexadecimal floating constants.
1844 (print_field_info): Use jni_print_float/double.
1846 * jcf-dump.c: Include math.h. Use ldexp/frexp to assemble
1847 finite floating point numbers for output; special case
1850 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
1852 * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
1853 Replace 0 and 1 with true and false in return statements.
1855 2003-03-19 Tom Tromey <tromey@redhat.com>
1857 * lex.c (do_java_lex): Renamed from java_lex.
1858 (java_lex): New function.
1861 2003-03-13 Tom Tromey <tromey@redhat.com>
1863 * parse.y (resolve_inner_class): Error if qualifier is a primitive
1866 2003-03-04 Andrew Haley <aph@redhat.com>
1868 * gjavah.c (is_first_data_member): New global variable.
1869 (print_c_decl): If it's the first data member, align it as the
1871 (process_file): Set is_first_data_member.
1873 2003-03-11 Tom Tromey <tromey@redhat.com>
1875 * parse.y (resolve_field_access): Initialize class if field is
1876 found in another static field.
1877 * expr.c (build_class_init): Don't optimize out initialization of
1878 implemented interface.
1880 2003-03-11 Andrew Haley <aph@redhat.com>
1882 * jcf-io.c (caching_stat): Initialize origsep to remove compiler
1885 2003-03-10 Ranjit Mathew <rmathew@hotmail.com>
1887 * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
1888 and DIR_SEPARATOR_2 for a target.
1889 Correct minor typos.
1891 * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
1892 and DIR_SEPARATOR_2 for a target into account.
1894 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
1896 * lang.c (java_init): Update prototype, move code to java_post_options.
1897 (java_post_options): Similarly.
1899 2003-03-05 Ranjit Mathew <rmathew@hotmail.com>
1901 * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
1902 compare file name components depending on the case-sensitivity
1903 or otherwise of the host file system.
1905 * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
1906 "strcmp" to compare file name components.
1907 Use IS_DIR_SEPARATOR instead of comparing directly against
1909 (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
1910 comparing directly against DIR_SEPARATOR.
1912 2003-03-04 Tom Tromey <tromey@redhat.com>
1914 * Make-lang.in (java.tags): New target.
1916 2003-03-01 Roger Sayle <roger@eyesopen.com>
1918 * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
1919 (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
1921 2003-03-01 Tom Tromey <tromey@redhat.com>
1923 * parse.y (jdep_resolve_class): Only check deprecation if we found
1926 2003-02-28 Tom Tromey <tromey@redhat.com>
1929 * class.c (maybe_layout_super_class): Always pass a WFL to
1931 * parse.y (do_resolve_class): Updated comment to explain
1934 2003-02-26 Tom Tromey <tromey@redhat.com>
1936 * jcf-write.c (generate_classfile): Check whether class is
1937 deprecated before writing attribute count.
1939 2003-02-25 Roger Sayle <roger@eyesopen.com>
1941 * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
1942 built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
1944 2003-02-23 Tom Tromey <tromey@redhat.com>
1946 * lang-options.h: Added -Wdeprecated.
1947 * gcj.texi (Warnings): Document -Wdeprecated.
1948 * java-tree.h (flag_deprecated): Declare.
1949 * lang.c (lang_W_options): Added deprecated.
1950 (flag_deprecated): New global.
1951 * chartables.h: Rebuilt.
1952 * gen-table.pl (process_one): Look at whitespace.
1953 (print_tables): Define LETTER_SPACE, LETTER_MASK.
1954 * parse.h (CLEAR_DEPRECATED): New macro.
1955 (CHECK_DEPRECATED_NO_RESET): New macro.
1956 * jcf-parse.c (handle_deprecated): New function.
1957 (HANDLE_DEPRECATED_ATTRIBUTE): New define.
1958 * jcf-reader.c (get_attribute): Handle Deprecated attribute.
1959 * parse.y (resolve_type_during_patch): Check deprecation.
1960 (jdep_resolve_class): Likewise.
1961 (process_imports): Likewise.
1962 (resolve_expression_name): Likewise.
1963 (check_deprecation): Strip arrays from decl. Check
1965 (patch_method_invocation): Also check the particular constructor
1967 (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
1968 * jcf-write.c (append_deprecated_attribute): New function.
1969 (generate_classfile): Generate deprecated attribute when
1971 * lex.c (java_parse_doc_section): Return type now void. Rewrote.
1972 (java_lex) [case '*']: Simplify logic.
1973 (java_start_char_p): Use LETTER_MASK.
1974 (java_part_char_p): Likewise.
1975 (java_space_char_p): New function.
1977 2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
1979 Change base class access representation.
1980 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
1981 (add_interface_do): Likewise.
1983 2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
1985 * decl.c (java_init_decl_processing): Change
1986 soft_lookupjnimethod_node to reflect the change in
1987 signature of _Jv_LookupJNIMethod in libjava/jni.cc
1988 * expr.c (build_jni_stub): Calculate and pass the size
1989 on the stack of the arguments to a JNI function. Use
1990 new target macro MODIFY_JNI_METHOD_CALL to allow a
1991 target to modify the call to a JNI method.
1993 2003-02-08 Roger Sayle <roger@eyesopen.com>
1995 * jcf-io.c (java_or_class_file): Use libiberty's lbasename
1996 instead of basename to avoid compiler warnings on Tru64.
1998 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
2000 * gcj.texi: Update to GFDL 1.2.
2002 2003-01-31 Andrew Haley <aph@redhat.com>
2004 * parse.y (java_expand_classes): Scan the whole class list looking
2005 for access methods that haven't yet been expanded.
2007 2003-01-31 Adrian Bunk <bunk@fs.tum.de>
2011 * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
2012 to fix bootstrap on sparc-unknown-netbsdelf1.5.
2013 * jcf-parse.c: Likewise.
2015 2003-01-31 Mark Wielaard <mark@klomp.org>
2017 * gjavah.c (throwable_p): Allocate 1 more byte for string.
2019 2003-01-31 Nathan Sidwell <nathan@codesourcery.com>
2021 * class.c (make_class): Use BINFO_ELTS.
2022 (set_super_info): Likewse.
2023 (add_interface_do): Likewise.
2025 2003-01-30 Tom Tromey <tromey@redhat.com>
2027 * jcf-parse.c (read_class): Update identifier's class value if it
2028 changed during parsing.
2030 2003-01-30 Loren James Rittle <ljrittle@acm.org>
2032 * Make-lang.in (po-generated): Find the targets in $(parsedir).
2033 Propagate change to all other rules as required.
2034 (java/parse-scan.o): Add explicit dependency on
2035 $(parsedir)/java/parse-scan.c .
2037 2003-01-29 Tom Tromey <tromey@redhat.com>
2039 * parse.y (patch_assignment): Only transform the rhs of an
2040 assignment when compiling to native.
2042 2003-01-28 Tom Tromey <tromey@redhat.com>
2044 * jcf-write.c (generate_bytecode_conditional): Typo fixes.
2046 2003-01-28 Tom Tromey <tromey@redhat.com>
2048 * lex.c (java_lex): Don't include UEOF as part of token.
2049 (java_read_unicode): Error if \u sequence prematurely terminated.
2051 2003-01-27 Tom Tromey <tromey@redhat.com>
2053 * parse.y (java_check_regular_methods): Check for construct after
2054 checking types in throws clause.
2056 2003-01-24 Tom Tromey <tromey@redhat.com>
2058 * class.c (build_static_field_ref): Only a String or numeric field
2059 can fold to a constant.
2061 2003-01-23 Tom Tromey <tromey@redhat.com>
2063 * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
2064 file name in resource buffer.
2066 2003-01-23 Tom Tromey <tromey@redhat.com>
2068 * expr.c (build_known_method_ref): Use method's context to find
2071 2003-01-23 Tom Tromey <tromey@redhat.com>
2073 * constants.c (set_constant_entry): Allocated cleared memory.
2075 2003-01-22 Tom Tromey <tromey@redhat.com>
2077 * java-tree.h: Don't use PARAMS.
2078 * resource.c: Add prototypes for all functions.
2079 (write_resource_constructor): Use `const char *' to avoid
2082 2003-01-22 Nathanael Nerode <neroden@gcc.gnu.org>
2084 * jcf-parse.c (process_zip_dir): Remove unused variable.
2086 2003-01-22 Tom Tromey <tromey@redhat.com>
2088 * expr.c (build_invokeinterface): Abort if method's context is not
2091 2003-01-22 Tom Tromey <tromey@redhat.com>
2093 * gcj.texi (Input and output files): Mention non-class entries.
2094 * decl.c (java_init_decl_processing): Call
2095 init_resource_processing.
2096 * java-tree.h (compile_resource_data, write_resource_constructor,
2097 compile_resource_file, init_resource_processing): Declare.
2098 * config-lang.in (gtfiles): Added resource.c.
2099 * Make-lang.in (gt-java-resource.h): New target.
2100 (JAVA_OBJS): Added resource.o.
2101 (java/resource.o): New target.
2102 * resource.c: New file.
2103 * class.c (compile_resource_file): Moved to resource.c.
2104 (registerResource_libfunc): Likewise.
2105 (utf8_decl_list): Mark with GTY; now static.
2106 * jcf-parse.c (classify_zip_file): New function.
2107 (parse_zip_file_entries): Use it; compile .properties files.
2108 (process_zip_dir): Use classify_zip_file and compute_class_name.
2109 Don't write class name into zip directory.
2110 (java_parse_file): Call write_resource_constructor.
2111 (compute_class_name): New function.
2112 * jcf-io.c (read_zip_member): Reindented.
2114 2003-01-21 Tom Tromey <tromey@redhat.com>
2116 * class.c (supers_all_compiled): New function.
2117 (make_class_data): Use it.
2119 2003-01-21 Tom Tromey <tromey@redhat.com>
2121 * parse.y (method_header): Native method can't be strictfp.
2122 No method can be transient or volatile.
2124 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2126 Make-lang.in (jvspec.o-warn): Add -Wno-error.
2128 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
2130 * check-init.c: Fix comment typos.
2131 * class.c: Likewise.
2132 * constants.c: Likewise.
2134 * except.c: Likewise.
2136 * java-except.h: Likewise.
2137 * java-tree.h: Likewise.
2138 * javaop.h: Likewise.
2139 * jcf-dump.c: Likewise.
2140 * jcf-io.c: Likewise.
2141 * jcf-parse.c: Likewise.
2142 * jcf-write.c: Likewise.
2144 * mangle.c: Likewise.
2145 * typeck.c: Likewise.
2146 * verify.c: Likewise.
2148 2003-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2150 * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
2151 * jcf-write.c: Include "tm_p.h".
2153 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2155 * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
2157 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2159 * builtins.c (java_build_function_call_expr): Renamed from
2160 build_function_call_expr. All callers changed.
2162 * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
2163 * jcf-parse.c: Include tm_p.h.
2165 * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
2168 2003-01-14 Tom Tromey <tromey@redhat.com>
2170 * class.c (make_class_data): Check that super is compiled before
2171 building class reference to it.
2173 2003-01-14 Andrew Haley <aph@redhat.com>
2175 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2176 varargs function -- correct.
2178 2003-01-14 Andrew Haley <aph@redhat.com>
2180 * decl.c (java_init_decl_processing): Temporarily back out previous patch.
2182 2003-01-14 Andrew Haley <aph@redhat.com>
2184 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2185 varargs function -- correct.
2187 * parse.y (patch_assignment): Copy the rhs of an assignment into a
2188 temporary if the RHS is a reference.
2190 2003-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2192 * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
2193 * keyword.h: Regenerated.
2195 * All Files: Convert to ISO C style function definitions.
2197 2003-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
2199 * parse.y (check_pkg_class_access): ANSIfy definition.
2201 2003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2203 * decl.c, parse-scan.y, parse.y: Don't cast return value of
2206 * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
2208 2003-01-09 Geoffrey Keating <geoffk@apple.com>
2210 Merge from pch-branch:
2212 2002-12-02 Geoffrey Keating <geoffk@apple.com>
2214 * Make-lang.in (java/gjavah.o): Update dependencies.
2215 * gjavah.c: Include ggc.h.
2217 2002-08-16 Geoffrey Keating <geoffk@redhat.com>
2219 * Make-lang.in (GCJH_OBJS): Add ggc-none.o.
2220 (JCFDUMP_OBJS): Add ggc-none.o.
2221 (java/jcf-dump.o): Depend on GGC_H.
2222 * jcf-reader.c (jcf_parse_constant_pool): Use ggc_alloc to allocate
2223 CPool substructures.
2224 * jcf-parse.c (process_zip_dir): Use ggc_alloc to allocate JCFs.
2225 * jcf-dump.c: Include ggc.h.
2227 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
2229 * jcf.h (union cpool_entry): New.
2230 (struct CPool): Use gengtype to mark. Change field 'data' to be
2232 (struct JCF): Use gengtype to mark.
2233 (CPOOL_UINT): Update for new cpool_entry type.
2234 (CPOOL_USHORT1): Likewise.
2235 (CPOOL_USHORT2): Likewise.
2236 (CPOOL_FINISH): Use GC to free cpool subfields.
2237 * parse.h (struct parser_ctxt): Mark field current_jcf.
2238 * lex.c (java_init_lex): Use GC to allocate struct JCF.
2239 * jcf-parse.c (HANDLE_CONSTANT_Utf8): Update for new cpool_entry type.
2240 (main_jcf): Use gengtype to mark.
2241 (ggc_mark_jcf): Delete.
2242 (get_constant): Update for new cpool_entry type.
2243 (give_name_to_class): Likewise.
2244 (get_class_constant): Likewise.
2245 (init_outgoing_cpool): Use GGC to allocate struct CPool.
2246 (java_parse_file): Use GGC to allocate struct JCF.
2247 (init_jcf_parse): Don't call ggc_add_root.
2248 * jcf-reader.c (jcf_parse_constant_pool): Update for new
2250 * java-tree.h (current_jcf): Use gengtype to mark.
2251 (CPOOL_UTF): Update for new cpool_entry type.
2252 (outgoing_cpool): Use gengtype to mark.
2253 (struct lang_type): GC struct JCF and struct CPool.
2254 * config-lang.in (gtfiles): Add jcf.h.
2255 * constants.c (find_tree_constant): New.
2256 (set_constant_entry): Allocate cpool subfields using GGC. Update
2257 for new cpool_entry type.
2258 (find_constant1): Update for new cpool_entry type.
2259 (find_constant2): Likewise.
2260 (find_utf8_constant): Use find_tree_constant.
2261 (find_class_or_string_constant): Remove unnecessary cast to jword.
2262 Update for new cpool_entry type.
2263 (count_constant_pool_bytes): Update for new cpool_entry type.
2264 (write_constant_pool): Likewise.
2265 (alloc_name_constant): Use find_tree_constant.
2266 (build_constants_constructor): Update for new cpool_entry type.
2268 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
2270 * parse.y (mark_parser_ctxt): Delete.
2271 (goal): Don't use ggc_add_root.
2272 (create_new_parser_context): Use GC to allocate struct parser_ctxt.
2273 (java_pop_parser_context): Let GC free parser_ctxt.
2274 (java_parser_context_resume): Likewise.
2275 * parse.h (struct parser_ctxt): Use gengtype to mark.
2277 (ctxp_for_generation): Likewise.
2278 * lex.h (struct java_lc_s): Mark for gengtype.
2279 (java_lexer): Rearrange for gengtype.
2280 * config-lang.in (gtfiles): Add lex.h, parse.h.
2282 2003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2284 * All Files: Remove PARAMS macro.
2286 * expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
2287 jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
2290 * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
2293 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
2295 * Make-lang.in (java.install-common, java.uninstall,
2296 java.install-info, java.install-man): Prepend $(DESTDIR)
2297 to destination paths in all (un)installation commands.
2298 (java.install-common): Rewrite $(LN) command to support
2299 DESTDIR with "ln" as well as with "ln -s".
2301 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
2303 * java-tree.h: Protect against multiple inclusion.
2305 2003-01-07 Tom Tromey <tromey@redhat.com>
2307 * class.c (add_assume_compiled): Don't adjust parent if we're
2308 already at the root of tree.
2310 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2312 * lang.c (dump_compound_expr): Prototype.
2314 2003-01-03 Tom Tromey <tromey@redhat.com>
2316 Fix for PR java/8712:
2317 * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR,
2318 when simply checking against `null'.
2320 2003-01-03 Tom Tromey <tromey@redhat.com>
2322 * gcj.texi (Standard Properties): Document http.proxyHost and
2325 * gcj.texi (GNU Classpath Properties): Document new properties.
2327 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
2329 * java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf,
2330 java/lang-options.h, java/mangle.c, java/mangle_name.c,
2331 java/xref.c, java/zextract.c,java/zipfile.h: Fix copyright years.
2333 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
2335 * Make-lang.in, boehm.c, buffer.c,
2336 buffer.h, builtins.c, class.c,
2337 config-lang.in, constants.c,
2338 convert.h, decl.c, except.c,
2339 expr.c, java-except.h,
2340 java-tree.h, javaop.def,
2341 jcf-parse.c, jcf-write.c,
2342 jv-scan.c, jvgenmain.c,
2343 jvspec.c, keyword.gperf,
2344 keyword.h, lang-options.h,
2345 lang-specs.h, lang.c, lex.c,
2346 lex.h, mangle.c, mangle_name.c,
2347 parse-scan.y, parse.h, parse.y,
2348 typeck.c, verify.c, xref.c,
2349 xref.h: Replace "GNU CC" with
2350 "GCC" in the copyright header.
2352 * check-init.c, gjavah.c, javaop.h,
2353 jcf-depend.c, jcf-dump.c, jcf-io.c,
2354 jcf-path.c, jcf-reader.c, jcf.h,
2355 zextract.c, zipfile.h: These files are
2356 "part of GCC". Also say "GCC" not "GNU CC".
2358 2002-12-30 DJ Delorie <dj@redhat.com>
2360 * Make-lang.in: Protect against texi2pod/pod2man failing.
2362 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
2364 * gcj.texi: Use @copying.
2366 2002-12-27 Mark Mitchell <mark@codesourcery.com>
2368 * gjavah.c (print_name_for_stub_or_jni): Adjust call to
2369 print_cxx_classname.
2370 (print_cxx_classname): Add add_scope parameter.
2371 (print_class_decls): Do not emit a semicolon after the extern
2373 (process_file): Adjust calls to print_cxx_classname.
2375 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
2377 * gcj.texi: Include Cover Texts in man page.
2379 2002-12-23 Jeff Sturm <jsturm@one-point.com>
2381 * class.c (build_static_field_ref): Check FIELD_FINAL.
2383 * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF
2384 instead of current_constant_pool_data_ref.
2385 * java-tree.h (current_constant_pool_data_ref): Undefine.
2386 (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove.
2387 * jcf-parse.c (init_outgoing_cpool): Don't initialize
2388 current_constant_pool_data_ref.
2390 * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
2391 not build_internal_class_name.
2393 * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
2394 Use it when class ref isn't certain to be compiled.
2396 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
2398 * gcj.texi: Include gcc-common.texi.
2399 * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on
2400 $(srcdir)/doc/include/gcc-common.texi.
2402 2002-12-22 Anthony Green <green@redhat.com>
2404 * gcj.texi (Limitations): Add note about org.xml.sax and
2407 2002-12-20 Tom Tromey <tromey@redhat.com>
2409 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
2410 where minimum case value is Integer.MIN_VALUE.
2413 2002-12-18 Andrew Haley <aph@redhat.com>
2415 * parse.y (patch_invoke): Force evaluation order when `check' is
2416 set. For PR libgcj/8945.
2418 2002-12-16 Mark Mitchell <mark@codesourcery.com>
2420 * gcj.texi: Change version number to 3.4.
2422 2002-12-05 Ranjit Mathew <rmathew@hotmail.com>
2423 Andrew Haley <aph@redhat.com>
2425 * parse.y (source_end_java_method): Remove custom encoding of line
2426 numbers for a function decl before passing it to the back end.
2428 2002-12-03 Andrew Haley <aph@redhat.com>
2430 * class.c (make_class_data): New field, "chain".
2431 * decl.c (java_init_decl_processing): Likewise.
2433 2002-12-02 Tom Tromey <tromey@redhat.com>
2436 * parse.y (do_resolve_class): Handle qualified name via
2439 2002-11-30 Zack Weinberg <zack@codesourcery.com>
2441 * boehm.c, buffer.c, builtins.c, check-init.c, class.c,
2442 constants.c, decl.c, except.c, expr.c, gjavah.c, jcf-depend.c,
2443 jcf-dump.c, jcf-io.c, jcf-parse.c, jcf-path.c, jcf-write.c,
2444 jv-scan.c, jvgenmain.c, jvspec.c, lang.c, mangle.c, mangle_name.c,
2445 parse-scan.y, parse.y, typeck.c, verify.c, xref.c, zextract.c:
2446 Include coretypes.h and tm.h.
2447 * Make-lang.in: Update dependencies.
2449 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2451 * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
2453 2002-11-25 Diego Novillo <dnovillo@redhat.com>
2455 * jcf-reader.c: Don't expand JCF_readu4 inside the
2456 expansion of JCF_SKIP.
2458 2002-11-25 Diego Novillo <dnovillo@redhat.com>
2460 * jcf-reader.c: Don't expand JCF_readu4 inside the
2461 expansion of JCF_SKIP.
2463 2002-11-22 Tom Tromey <tromey@redhat.com>
2465 * parse.y (patch_binop): Cast right hand side of shift expression
2466 to `int'. Fixes PR java/8676.
2468 2002-11-22 Ranjit Mathew <rmathew@hotmail.com>
2469 Andrew Haley <aph@redhat.com>
2471 * gcc/java/jcf-write.c (write_classfile): Remove target
2472 class file, if it exists, before renaming the temporary
2475 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
2477 * jvspec.c (lang_specific_spec_functions): New.
2479 2002-11-18 Tom Tromey <tromey@redhat.com>
2481 Fix for PR java/7912:
2482 * expr.c (can_widen_reference_to): Allow cast of array to
2483 Cloneable or Serializable.
2484 * java-tree.h (java_lang_cloneable_identifier_node): Declare.
2485 (java_io_serializable_identifier_node): Likewise.
2486 * parse.y (java_lang_cloneable, java_io_serializable): Removed.
2487 (valid_ref_assignconv_cast_p): Use new identifier nodes.
2488 * lex.c (java_init_lex): Don't initialize java_lang_cloneable and
2489 java_io_serializable.
2490 * decl.c (java_init_decl_processing): Initialize
2491 java_lang_cloneable_identifier_node and
2492 java_io_serializable_identifier_node.
2493 (java_lang_cloneable_identifier_node): New global.
2494 (java_io_serializable_identifier_node): Likewise.
2496 2002-11-14 Jens-Michael Hoffmann <jensmh@gmx.de>
2498 * buffer.c: Remove unnecessary casts.
2499 * check-init.c: Likewise.
2500 * class.c: Likewise.
2501 * constants.c: Likewise.
2503 * except.c: Likewise.
2504 * gjavah.c: Likewise.
2505 * jcf-io.c: Likewise.
2506 * jcf-parse.c: Likewise.
2507 * jcf-path.c: Likewise.
2508 * jvspec.c: Likewise.
2511 * verify.c: Likewise.
2513 2002-11-06 Tom Tromey <tromey@redhat.com>
2515 * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
2518 2002-11-05 Tom Tromey <tromey@redhat.com>
2520 Fix for PR java/6388.
2521 * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while.
2522 * java-tree.h (enum java_tree_index): New values
2523 JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE.
2524 (decimal_int_max, decimal_long_max): New defines.
2525 * lex.c (yylex): Rewrote range checking. Sign extend literals.
2526 (error_if_numeric_overflow): Rewrote range checking.
2527 * decl.c (java_init_decl_processing): Initialize decimal_int_max,
2530 2002-11-02 Tom Tromey <tromey@redhat.com>
2532 * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
2534 * class.c (make_method_value): Put class name, not signature, into
2535 `throws' field. For PR java/8415.
2537 2002-10-24 Tom Tromey <tromey@redhat.com>
2539 * gcj.texi (Invoking gij): Document --showversion.
2540 (Standard Properties): java.library.path now set.
2542 2002-10-23 Tom Tromey <tromey@redhat.com>
2544 * gjavah.c (decode_signature_piece): In JNI mode, print
2545 `jobjectArray' when array depth is nonzero.
2548 2002-10-15 Andrew Haley <aph@redhat.com>
2550 * parse.y (patch_invoke): Call force_evaluation_order on a static
2552 (resolve_qualified_expression_name): Call force_evaluation_order
2553 on a arg list that is part of a Qualified Expression Name.
2555 * lang.c (dump_compound_expr): New.
2556 (java_dump_tree): New.
2558 2002-10-20 Ranjit Mathew <rmathew@hotmail.com>
2560 * gcj.texi: Added item describing the GCJ runtime property
2563 2002-10-15 Richard Henderson <rth@redhat.com>
2565 * jcf-parse.c (get_constant): Fix type warning.
2567 2002-10-15 Andrew Haley <aph@redhat.com>
2569 * java-tree.h (java_inlining_merge_static_initializers): Declare.
2570 (java_inlining_map_static_initializers): Declare.
2572 2002-10-14 Andrew Haley <aph@redhat.com>
2574 * tree-inline.c (remap_block): All local class initialization
2575 flags go in the outermost scope.
2576 (expand_call_inline): Call java_inlining_map_static_initializers.
2577 (expand_call_inline): Call java_inlining_merge_static_initializers.
2578 * java/lang.c (merge_init_test_initialization): New.
2579 (java_inlining_merge_static_initializers): New.
2580 (inline_init_test_initialization): New.
2581 (java_inlining_map_static_initializers): New.
2583 2002-10-11 Mark Wielaard <mark@klomp.org>
2585 * gcj.texi (Compatibility): Add Limitations and Extensions section.
2587 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2589 * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
2591 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2593 * parse.y (merge_string_cste): Add parentheses around & within |.
2595 2002-10-08 Tom Tromey <tromey@redhat.com>
2597 * parse.y (variable_declarator_id): Simplify error path for
2598 array declarator error. For PR java/8003.
2600 2002-10-08 Zack Weinberg <zack@codesourcery.com>
2602 * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
2605 2002-10-08 Andrew Haley <aph@redhat.com>
2607 * parse.y (attach_init_test_initialization_flags): Check for
2610 2002-10-07 Anthony Green <green@redhat.com>
2612 * parse.y (merge_string_cste): Fix bug in string concatenation.
2614 2002-10-03 Michael Koch <konqueror@gmx.de>
2616 * gcj.texi (Standard properties):
2617 Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
2619 2002-10-02 Roger Sayle <roger@eyesopen.com>
2621 PR optimization/6627
2622 * lang.c (java_init): If storing the vbit in function
2623 pointers, ensure that force_align_functions_log is atleast
2624 one to aid compatability with g++ vtables.
2626 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
2628 * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
2629 foul of type-based aliasing.
2631 2002-09-30 Anthony Green <green@redhat.com>
2633 * gcj.texi (Invoking jv-scan): Fix texinfo.
2635 2002-09-28 Anthony Green <green@redhat.com>
2637 * gcj.texi (Invoking jv-scan): Add --no-assert documentation.
2638 (Code Generation): Add -fno-assert documentation.
2639 * jv-scan.c (flag_assert): New global.
2640 (options): Add assert option.
2641 (help): Add --no-assert documentation.
2642 * parse-scan.y (flag_assert): New global.
2643 * lang.c (lang_f_options): Add -fassert/-fno-assert support.
2644 (flag_assert): New global.
2645 * java-tree.h (flag_assert): New global.
2646 * lex.c (java_lex): Obey flag_assert.
2647 * jvspec.c (jvgenmain_spec): Strip -fassert/-fno-assert when
2650 2002-09-26 Andrew Haley <aph@redhat.com>
2652 * expr.c (build_java_array_length_access): Check for null pointer.
2653 * expr.c (expand_java_arrayload): Likewise.
2655 2002-09-21 Richard Henderson <rth@redhat.com>
2657 * jcf-parse.c (get_constant): Decode from IEEE no matter
2658 what the target format.
2660 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
2662 * ChangeLog: Follow spelling conventions.
2663 * class.c: Likewise.
2666 * gjavah.c: Likewise.
2667 * java-tree.h: Likewise.
2668 * jcf-dump.c: Likewise.
2669 * jcf-parse.c: Likewise.
2670 * jvspec.c: Likewise.
2672 * mangle.c: Likewise.
2673 * parse.y: Likewise.
2675 2002-09-17 Tom Tromey <tromey@redhat.com>
2677 * lex.c (java_read_unicode_collapsing_terminators): Handle case
2678 where \r appears at EOF. Fixes PR java/7950.
2680 2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2682 * jvspec.c (lang_specific_driver): Remove unused variable.
2684 2002-09-16 Geoffrey Keating <geoffk@apple.com>
2686 * java-tree.h (union lang_tree_node): Add chain_next option.
2688 2002-09-16 Richard Henderson <rth@redhat.com>
2690 * jcf-parse.c (get_constant): Runtime check for IEEE format;
2691 use new real.h interface.
2692 * jcf-write.c (find_constant_index): Use new real.h interface.
2693 * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
2695 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
2697 * lang.c: Follow spelling conventions.
2699 2002-09-11 Per Bothner <per@bothner.com>
2701 * parse.y (fold_constant_for_init): If a VAR_DECL, convert numerical
2702 constant to the type of the field.
2703 (java_complete_tree): Remove now-redundant code.
2705 * parse.y (fold_constant_for_init): 'null' is not a constant expr.
2707 2002-09-03 Jesse Rosenstock <jmr@ugcs.caltech.edu>
2710 * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
2711 return label if a ret instruction for the jsr has been reached.
2713 2002-09-09 Ranjit Mathew <rmathew@hotmail.com>
2715 * parse.y (DIR_SEPARATOR): Don't define.
2716 (check_class_interface_creation): Use IS_DIR_SEPARATOR.
2718 2002-08-28 Andrew Haley <aph@redhat.com>
2720 * verify.c (verify_jvm_instructions): Allow exception handler
2721 inside code that is being protected, but generate a warning.
2722 * except.c (link_handler): Initialize `expanded' in new eh_range.
2723 (binding_depth, is_class_level, current_pc): Declare extern.
2725 2002-09-01 Mark Wielaard <mark@klomp.org>
2727 * gcj.texi: Add chapter about system properties.
2730 2002-08-26 Tom Tromey <tromey@redhat.com>
2732 * parse.y (try_builtin_assignconv): Allow narrowing primitive
2733 conversion if RHS_TYPE is byte, short, or char.
2735 2002-08-22 Tom Tromey <tromey@redhat.com>
2737 * gcj.texi (Invoking gij): Document -cp and -classpath.
2739 2002-08-21 Tom Tromey <tromey@redhat.com>
2741 * Make-lang.in (java/jcf-path.o): Use $(datadir), not
2742 $(prefix)/share. For PR libgcj/7633.
2744 For PR java/6005 and PR java/7611:
2745 * lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define.
2746 (java_can_use_bit_fields_p): New function.
2748 2002-08-16 Tom Tromey <tromey@redhat.com>
2750 * gcj.texi (Class Initialization): Mention class initialization of
2753 2002-07-30 Andrew Haley <aph@cambridge.redhat.com>
2755 * Make-lang.in (java-tree-inline.o): New.
2756 (JAVA_OBJS): Add java-tree-inline.o.
2757 * parse.y (source_end_java_method): Call java_optimize_inline.
2758 (java_expand_method_bodies): Save method's tree in
2760 (add_stmt_to_compound): Keep track of the number of statments.
2761 * lang.c (java_init): Enable flag_inline_trees.
2762 (java_post_options): If flag_inline_functions is on, enable
2763 flag_inline_trees instread.
2764 (decl_constant_value): New.
2765 (java_tree_inlining_walk_subtrees): New.
2766 * java-tree.h (DECL_NUM_STMTS): New macro.
2767 (java_optimize_inline): Declare.
2768 * expr.c (java_expand_expr): Allow a BLOCK to return a value.
2769 Handle a LABEL_EXPR.
2770 * decl.c (build_result_decl): If we already have a DECL_RESULT
2772 (dump_function): New.
2773 (java_optimize_inline): New.
2774 (dump_function): New.
2776 2002-08-13 Jesse Rosenstock <jmr@fulcrummicro.com>
2779 * parse.y (build_assertion): Invert return from
2780 desiredAssertionStatus.
2782 2002-08-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2784 * jcf-write.c (get_access_flags): Return correct access flags for
2785 private and protected inner classes.
2787 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2789 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2791 2002-08-05 Geoffrey Keating <geoffk@redhat.com>
2793 * mangle_name.c: Don't include obstack.h twice.
2794 * xref.c: Don't include obstack.h.
2796 2002-08-04 Geoffrey Keating <geoffk@redhat.com>
2798 * class.c: (permanent_obstack): Delete declaration.
2799 * constants.c: (permanent_obstack): Delete declaration.
2800 * except.c: (permanent_obstack): Delete declaration.
2801 * expr.c: (permanent_obstack): Delete declaration.
2802 * jcf-parse.c: (permanent_obstack): Delete declaration.
2803 (saveable_obstack): Delete declaration.
2804 * parse.h: (permanent_obstack): Delete declaration.
2805 * typeck.c: (permanent_obstack): Delete declaration.
2807 2002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
2809 * gcj.texi (version-gcc): Increase to 3.3.
2811 2002-07-22 Tom Tromey <tromey@redhat.com>
2813 * lex.c (java_lex): Check for `e' or `E' after 0.
2815 2002-07-21 Richard Henderson <rth@redhat.com>
2817 * lang.c (java_unsafe_for_reeval): New.
2818 (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2820 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
2822 * jcf-path.c (GET_ENV_PATH_LIST): Remove.
2823 (jcf_path_init): Use GET_ENVIRONMENT.
2825 2002-07-10 Roger Sayle <roger@eyesopen.com>
2826 Zack Weinberg <zack@codesourcery.com>
2828 * builtins.c (initialize_builtins): Remove defines that
2829 handled C/C++ specific junk hereby removed from builtins.def.
2831 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
2833 * lang.c (java_post_options): Update prototype.
2835 2002-07-05 Roger Sayle <roger@eyesopen.com>
2837 * builtins.c (initialize_builtins): Ignore the additional
2838 parameter to DEF_BUILTIN. Handle more C/C++ specific junk in
2839 the builtins.def file.
2841 2002-07-01 Tom Tromey <tromey@redhat.com>
2844 * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
2847 2002-07-01 Roger Sayle <roger@eyesopen.com>
2849 * java/decl.c (builtin_function): Accept additional parameter.
2850 (java_init_decl_processing): Pass an additional NULL_TREE
2851 argument to builtin_function.
2853 2002-06-29 T.J. Mather <tjmather@maxmind.com>
2855 * gcj.texi: Fixed gcj invocation example so that it compiles.
2857 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2859 * lex.c (java_init_lex): Avoid incorrect hardcoded constant 11.
2860 * parse.y (mark_parser_ctxt): Likewise.
2861 (check_modifiers, declare_local_variables): Avoid incorrect
2862 hardcoded constant 10.
2864 * lex.c (java_read_char): Avoid "comparison is always true"
2867 2002-06-25 Andreas Schwab <schwab@suse.de>
2869 * expr.c (JSR): Avoid undefined operation on PC.
2871 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2873 * decl.c (clear_binding_level): Const-ify.
2875 2002-06-13 Akim Demaille <akim@epita.fr>
2877 * parse.y (class_declaration, interface_declaration): Make sure
2878 all their rules have an action, in order to avoid meaningless `$$
2879 = $1' and their type clashes.
2881 2002-06-11 Tom Tromey <tromey@redhat.com>
2883 * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
2884 * parse-scan.y (statement_without_trailing_substatement): Added
2886 (assert_statement): New rule.
2887 * java-tree.h (struct lang_type) [assertions]: New field.
2888 (TYPE_USES_ASSERTIONS): New macro.
2889 (CLASS_USES_ASSERTIONS): Likewise.
2890 (FIELD_SYNTHETIC): New define.
2891 * lex.c (java_lval;): Added ASSERT_TK.
2892 * parse.y (ASSERT_TK): Added.
2893 (statement_without_trailing_substatement): Added assert_statement.
2894 (assert_statement): New rule.
2895 (build_assertion): New function.
2896 (maybe_generate_pre_expand_clinit): Create and initialize
2897 $assertionsDisabled.
2898 (lookup_package_type): Removed decl.
2899 * keyword.h: Rebuilt.
2900 * keyword.gperf (assert): New token.
2902 2002-06-10 Akim Demaille <akim@epita.fr>
2904 * parse.y (interface_type_list, class_member_declaration)
2905 (unary_expression_not_plus_minus): Remove duplicate %type.
2908 2002-06-09 Tom Tromey <tromey@redhat.com>
2910 * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
2912 * parse.y (method_header): Give error message in all cases.
2915 2002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2917 Don't use RTL inlining. Fix for PR java/6820.
2918 * lang.c (LANG_HOOKS_POST_OPTIONS): Define.
2919 (flag_really_inline): New.
2920 (java_decode_option): Set flag_really_inline if -finline-functions
2922 (java_post_options): New function. Turn off inlining unless
2923 flag_really_inline is set.
2925 2002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2927 * gjavah.c (throwable_p): Accept argument as either a classname or
2928 signature fragment. Create null-terminated classname string for super
2929 when calling itself recursively.
2930 (decode_signature_piece): Skip first character from class name
2931 signature when calling throwable_p.
2933 2002-06-08 H.J. Lu (hjl@gnu.org)
2935 * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
2937 2002-06-04 Tom Tromey <tromey@redhat.com>
2939 * jcf-write.c (perform_relocations): Optmize a goto to a goto.
2941 2002-06-04 Michael Koch <konqueror@gmx.de>
2943 * gcj.texi (Input Options): Fixed typo.
2945 2002-06-04 Zack Weinberg <zack@codesourcery.com>
2947 * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
2948 typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
2949 all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
2950 and all now-pointless local variables. Rename other local
2951 variables to reflect their not being handles.
2953 * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
2954 #if JCF_USE_STDIO blocks.
2956 * parse.y: Add missing semicolon at end of rule.
2958 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
2960 * check-init.c (attach_initialized_static_class): Delete, unused.
2961 * parse.y: Use htab_t instead of struct hashtable, update
2963 * java-tree.h: Include hashtab.h instead of hash.h.
2964 (struct lang_decl_func): Use htab_t, set up for gengtype.
2965 (struct init_test_hash_entry): Delete.
2966 (struct treetreehash_entry): New.
2967 (java_treetreehash_find): New
2968 (java_treetreehash_new): New prototype.
2969 (java_treetreehash_create): New prototype.
2970 (java_mark_tree): Delete prototype.
2971 (java_hash_hash_tree_node): Delete prototype.
2972 (java_hash_compare_tree_node): Delete prototype.
2973 (attach_initialized_static_class): Delete prototype.
2974 * expr.c (build_class_init): Update to use java_treetreehash
2976 (java_expand_expr): Update to use htab_t.
2977 (emit_init_test_initialization): Likewise.
2978 * decl.c (java_mark_tree): Delete.
2979 * class.c (init_test_hash_newfunc): Delete.
2980 (java_hash_hash_tree_node): Delete.
2981 (java_hash_compare_tree_node): Delete.
2982 (add_method_1): Update to use java_treetreehash functions.
2983 (JAVA_TREEHASHHASH_H): New macro.
2984 (java_treetreehash_hash): New function.
2985 (java_treetreehash_compare): New function.
2986 (java_treetreehash_find): New function.
2987 (java_treetreehash_new): New function.
2988 (java_treetreehash_create): New function.
2989 * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
2991 * Make-lang.in (java/parse.o): Depend on debug.h.
2992 * java-tree.h (struct lang_identifier): Use gengtype.
2993 (union lang_tree_node): New.
2994 (struct lang_decl_func): Use gengtype.
2995 (struct lang_decl_var): Likewise.
2996 (struct lang_decl): Likewise.
2997 * parse.y: Include debug.h.
2998 * lang.c (LANG_HOOKS_MARK_TREE): Delete.
3000 * lang.c (struct language_function): New dummy structure.
3002 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
3003 descriminator for DECL_LANG_SPECIFIC.
3004 (struct lang_decl_func): Rename from struct lang_decl.
3005 (enum lang_decl_desc): New.
3006 (struct lang_decl): Make it a union. Update all the accessor macros.
3007 (struct lang_type): Use gengtype.
3008 * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
3009 * decl.c (java_dup_lang_specific_decl): All lang_decl structures
3010 are now the same size.
3011 (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
3012 use discriminator to mark DECL_LANG_SPECIFIC.
3014 * Make-lang.in (gt-java-builtins.h): New rule.
3015 (java/builtins.o): Add dependency on gt-<filename>.h.
3016 * builtins.c: Use gengtype for roots.
3017 (union string_or_tree): Use gengtype.
3018 (struct builtin_record): Use gengtype.
3019 * config-lang.in (gtfiles): Add builtins.c.
3021 * Make-lang.in (gt-java-class.h, gt-java-constants.h,
3022 gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
3023 gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
3024 gt-java-parse.h, gtype-java.h): Add rules to generate.
3025 (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
3026 (class.o): Add dependency on gt-*.h.
3027 (constants.o): Likewise.
3030 (jcf-parse.o): Likewise.
3031 (jcf-write.o): Likewise.
3033 * config-lang.in (gtfiles): New.
3034 * class.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3035 * constants.c: Replace uses of ggc_add_* with GTY markers.
3037 * decl.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3038 * expr.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3039 * java-tree.h: Replace uses of ggc_add_* with GTY markers.
3040 * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
3042 * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
3044 * lang.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3045 * mangle.c: Replace uses of ggc_add_* with GTY markers. Include
3047 * parse.y: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3048 Include gtype-java.h.
3050 2002-06-02 Tom Tromey <tromey@redhat.com>
3052 Fix for PR java/5913:
3053 * parse.y (patch_binop): Call patch_string on op1.
3055 2002-06-02 Tom Tromey <tromey@redhat.com>
3057 Fix for PR java/1343, PR java/6336:
3058 * parse.y (make_nested_class_name): Remove extraneous `else'; fix
3059 formatting. Changed return type.
3060 (anonymous_class_counter): Moved to top of file.
3061 (maybe_make_nested_class_name): Append number to class name for
3062 function-local classes.
3064 2002-05-28 Zack Weinberg <zack@codesourcery.com>
3066 * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
3067 * Make-lang.in: Update dependency lists.
3069 2002-05-18 Mark Mitchell <mark@codesourcery.com>
3071 * gjavah.c (throwable_p): Do not free the name of the class after
3072 passing it to find_class.
3073 * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
3074 * jcf-io.c (dirent.h): Include it.
3075 (fnmatch.h): Likewise.
3076 (compare_path): New function.
3077 (java_or_class_file): Likewise.
3078 (memoized_dirlist_entry): New type.
3079 (memoized_dirlist_lookup_eq): New function.
3080 (memoized_dirlists): New variable.
3081 (caching_stat): New function.
3082 (memoized_class_lookup_eq): New function.
3083 (memoized_class_lookups): Likewise.
3084 (find_class): Use memoized_class_lookups and caching_stat.
3085 * jcf.h (JCF_USE_SCANDIR): Define.
3086 * parse.y (java_expand_classes): Write the class files in reverse
3089 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3091 * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
3093 2002-05-13 Mark Mitchell <mark@codesourcery.com>
3095 * jcf-write.c (write_classfile): Unlink the temporary file if it
3096 cannot be renamed. Use concat to build up the name of the
3099 2002-05-08 Mark Mitchell <mark@codesourcery.com>
3101 * jcf-write.c (write_classfile): Write the file to a
3102 temporary file and then rename it.
3104 2002-05-07 Tom Tromey <tromey@redhat.com>
3106 * gjavah.c (throwable_p): Use xstrdup, not strdup.
3108 Fix for PR java/1200:
3109 * gjavah.c (throwable_p): New function.
3110 (decode_signature_piece): Use it. A `WeakReference' isn't the
3113 (gcjh_streq): New function.
3115 2002-05-07 Andreas Jaeger <aj@suse.de>
3117 * parse.y (finish_for_loop): Fix if statement.
3119 2002-05-06 Tom Tromey <tromey@redhat.com>
3121 Fix for PR java/5941:
3122 * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
3123 loop update expression.
3124 (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
3125 * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
3127 2002-05-04 Mark Wielaard <mark@klomp.org>
3130 * parse.y (build_string_concatenation): Return just op1 only when op2
3131 is null and op1 is a STRING_CST, otherwise always construct a
3134 2002-04-27 Tom Tromey <tromey@redhat.com>
3137 * parse.y (string_convert_int_cst): New function.
3138 (merge_string_cste): Use it.
3140 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
3142 * java-tree.h (java_parse_file): Update.
3143 (java_set_yydebug): Remove.
3144 * jcf-parse.c (yydebug): Remove.
3145 (java_set_yydebug): Die.
3146 (java_parse_file): Update.
3147 * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
3149 2002-04-24 Tom Tromey <tromey@redhat.com>
3152 * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
3153 EXPR_WFL_QUALIFICATION of qual_wfl.
3155 2002-04-23 Per Bothner <per@bothner.com>
3157 * expr.c (PRE_JSR): Call NOTE_LABEL for return address.
3158 * java-tree.h (BCODE_RETURN_TARGET): Removed - never set.
3159 (BCODE_TARGET): Remove BCODE_RETURN_TARGET.
3161 2002-04-23 Tom Tromey <tromey@redhat.com>
3164 * jvspec.c (lang_specific_driver): Use --resource, not -R. Also
3165 recognize `-fcompile-resource='.
3166 * gcj.texi (Invoking gcj): Use --resource, not -R. Expanded text
3169 2002-04-22 Alexandre Petit-Bianco <apbianco@redhat.com>
3171 * jcf-parse.c: (yyparse): Don't prepend "./" to relative
3172 paths. Fixes PR java/2791.
3174 2002-04-19 Andrew Haley <aph@redhat.com>
3176 * jcf-write.c (push_long_const): lo, hi: New variables.
3177 Use rshift_double to extract the high part of a 64-bit long.
3178 Use WORD_TO_INT to extract the low part.
3180 * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
3181 HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
3182 CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
3184 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
3186 * typeck.c (incomplete_type_error): Remove.
3188 2002-04-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3190 * class.c (make_class_data): Set DECL_ALIGN on static class data,
3191 for hash synchronization.
3192 * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
3193 * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
3196 2002-04-16 Mark Wielaard <mark@klomp.org>
3198 * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
3201 2002-04-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3203 Fix for PR java/6294:
3204 * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
3207 2002-04-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3209 Fix for PR java/6085:
3210 * parse.y (patch_method_invocation): Always use build_access_to_thisn
3211 to get enclosing "this" argument for inner-class constructor
3212 invocation. Pass correct arguments to build_access_to_thisn.
3214 2002-04-10 Andreas Jaeger <aj@suse.de>
3216 * gcj.texi (Input Options): Fix extdirs patch.
3218 2002-04-10 Anthony Green <green@redhat.com>
3220 * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
3222 2002-04-09 Anthony Green <green@redhat.com>
3224 * gcj.texi (Input Options): Add --extdirs documentation.
3225 * jcf-dump.c (OPT_extdirs): New macro.
3226 (options): Add extdirs option.
3227 (help): Describe --extdirs.
3228 (main): Handle OPT_extdirs.
3229 * gjavah.c (OPT_extdirs): New macro.
3230 (options): Add extdirs option.
3231 (help): Describe --extdirs.
3232 (main): Handle OPT_extdirs.
3233 * jcf-path.c (jcf_path_init): Add extdirs support.
3234 (jcf_path_extdirs_arg): New function.
3235 (extensions): New variable to hold extensions path entries.
3236 * jvspec.c: Remove -fextdirs= when compiling main().
3237 * lang.c (java_decode_option): Handle -fextdirs=.
3238 * jcf.h (jcf_path_extdirs_arg): Declare new function.
3239 * Make-lang.in: Compile jcf-path with version info for use in
3240 identifying the appropriate libgcj.jar.
3242 2002-04-08 Tom Tromey <tromey@redhat.com>
3245 * .cvsignore: Added rmic.1 and rmiregistry.1.
3246 * gcj.texi (Top): Link to new nodes.
3247 (Invoking rmic): New node.
3248 (Invoking rmiregistry): Likewise.
3249 * Make-lang.in (java.generated-manpages): Added rmic.1 and
3251 (java.maintainer-clean): Likewise.
3252 ($(srcdir)/java/rmic.1): New target.
3253 ($(srcdir)/java/rmiregistry.1): Likewise.
3254 (java.install-man): Handle rmic.1 and rmiregistry.1.
3256 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3258 * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
3259 Add note about handling uncaught exceptions. Add an exception handler
3262 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3264 * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
3265 after using it to patch CALL_EXPR.
3267 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3269 * gcj.texi (Invocation): Document CNI invocation API.
3271 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
3273 * expr.c (truthvalue_conversion): Rename. Update.
3274 (expand_compare): Update.
3275 * java-tree.h (java_truthvalue_conversion): New.
3276 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3278 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3280 * java-tree.h (java_mark_addressable): New.
3281 * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3282 * typeck.c (mark_addressable): Rename, update.
3284 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3286 * expr.c (build_java_binop): Update.
3287 * java-tree.h (java_signed_type, java_unsigned_type,
3288 java_signed_or_unsigned_type): Update.
3289 * lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3290 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3291 * parse.y (patch_binop): Update.
3292 * typeck.c (signed_or_unsigned_type, unsigned_type,
3293 signed_type): Update.
3295 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
3297 * lang.c (LANG_HOOKS_PRINT_ERROR_FUNCTION): Redefine.
3298 (java_dummy_print): Remove.
3299 (lang_print_error): Rename. Exit early if inhibiting output.
3300 (inhibit_error_printing_function): New.
3301 (java_init): Don't set hook.
3302 (lang_init_source): Use new boolean.
3304 2002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
3306 * parse.y (do_resolve_class): Fix infinite recursion.
3308 2002-03-29 Tom Tromey <tromey@redhat.com>
3310 * parse.y (check_inner_circular_reference): Ignore incomplete
3313 2002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
3315 * Make-lang.in (builtins.o): Update.
3316 * boehm.c (get_boehm_type_descriptor): Update.
3317 * builtins.c: Include langhooks.h.
3318 * decl.c (java_init_decl_processing): Update.
3319 * java-tree.h (java_type_for_mode, java_type_for_size): New.
3320 * lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
3322 * typeck.c (type_for_mode, type_for_size): Update.
3324 2002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
3326 * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
3328 2002-03-28 Tom Tromey <tromey@redhat.com>
3330 * except.c (expand_end_java_handler): If the handler type is NULL,
3331 use java.lang.Throwable. Fixes PR java/5986.
3333 2002-03-28 Alexandre Petit-Bianco <apbianco@redhat.com>
3335 Fix for PR java/4715:
3336 * jcf-parse.c (parse_source_file_3): New function.
3337 (read_class): Call it.
3338 (java_parse_file): Likewise.
3340 2002-03-28 Jan Hubicka <jh@suse.cz>
3342 * java/lang.c (java_init_options): Set flag_trapping_math to 0.
3344 2002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3346 * parse.y (resolve_package): Initialize "decl".
3347 (lookup_package_type): Remove unused function.
3349 2002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3351 Fix for PR java/5993:
3352 * parse.y (resolve_package): Return the decl if resolution was
3353 successful. Don't special case "java.lang" and "java.lang.reflect"
3354 packages. Set type_name to the merged identifier.
3355 (resolved_qualified_expression_name): Print error using "name" if
3356 resolve_package returns NULL_TREE.
3358 2002-03-27 Tom Tromey <tromey@redhat.com>
3360 * expr.c (expand_invoke): Don't generate null pointer check if
3361 we're calling <init>.
3363 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
3365 * expr.c (java_lang_expand_expr): Rename java_expand_expr,
3367 * java-tree.h (java_lang_expand_expr): Similarly.
3368 * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3369 (java_init): Don't set hook.
3371 2002-03-27 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3373 Fix for PR java/5850:
3374 * parse.y (lookup_field_wrapper): Call itself recursively for enclosing
3375 context if field was not found in the current scope.
3376 * expr.c (lookup_field): Don't look in enclosing contexts.
3378 2002-03-26 Tom Tromey <tromey@redhat.com>
3380 Fix for PR java/5942:
3381 * parse.y (init_src_parse): Added sanity check.
3382 * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
3385 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
3387 * decl.c (lang_mark_tree): Rename java_mark_tree.
3388 * java-tree.h (java_mark_tree): New.
3389 * java-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
3391 2002-03-25 Zack Weinberg <zack@codesourcery.com>
3393 * lex.c: Change java_perform_atof to take normal parameters
3394 instead of a pointer to a parameter block. Call it directly
3397 2002-03-22 Mark Wielaard <mark@klomp.org>
3399 Fix for PR java/5368:
3400 * parse.y (resolve_qualified_expression_name): Use decl not field_decl
3401 when printing error message.
3403 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
3405 * decl.c (maybe_build_cleanup): Remove.
3407 2002-03-22 Tom Tromey <tromey@redhat.com>
3409 Andrew Haley <aph@cambridge.redhat.com>
3411 * expr.c (build_field_ref): Don't build a check if the field is a
3414 2002-03-21 Eric Blake <ebb9@email.byu.edu>
3416 Fix for PR java/6026:
3417 * lex.c (java_lex): Fix parsing of consecutive floats.
3419 2002-03-21 Tom Tromey <tromey@redhat.com>
3421 * parse.y (build_access_to_thisn): Stop when FROM is not an inner
3424 2002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
3426 * cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
3427 insert_block, getdecls, kept_level_p, global_bindings_p): New.
3429 2002-03-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
3431 * gcj.texi: @code{gcj} becomes @command{gcj}.
3432 @code{gcc} becomes @command{gcc}.
3433 GcjRaw changed to gnu.gcc.RawData.
3435 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
3437 * decl.c (start_java_method): Use new hook.
3438 * lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
3439 (java_init): Remove old hook.
3441 2002-03-18 Alexandre Petit-Bianco <apbianco@redhat.com>
3443 * builtins.c (define_builtin): Do nothing if `type' is null.
3446 2002-03-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3448 * parse.y (parser_check_super_interface): Fix error message
3451 2002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3453 * jcf-parse.c (get_constant): Delete unused variables.
3455 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
3457 * java-tree.h (java_parse_file): New.
3458 * jcf-parse.c (yyparse): Rename java_parse_file.
3459 * lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
3461 2002-03-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3463 * parse.y (craft_constructor): Return the constructor decl.
3464 (java_expand_classes): Update comments.
3465 (lookup_method_invoke): Call fix_constructors immediately for
3466 anonymous class. Fixes PR java/5935.
3468 2002-03-15 Anthony Green <green@redhat.com>
3470 * jcf-parse.c (yyparse): Don't emit class registration
3471 constructor when compiling resource files.
3473 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3475 * lang.c (java_tree_code_type, java_tree_code_length,
3476 tree_code_name): Delete.
3477 (tree_code_type, tree_code_length, tree_code_name): Define.
3478 (java_init): Don't try to copy into the various tree_code
3481 2002-03-12 Tom Tromey <tromey@redhat.com>
3483 * jcf-parse.c (get_constant) [CONSTANT_String]: String values are