1 2004-07-13 Per Bothner <per@bothner.com>
3 * java-tree.h (all_class_filename): Remove useless macro.
4 (enum java_tree_index): Remove JTI_ALL_CLASS_FILENAME constant.
5 (BUILD_FILENAME_IDENTIFIER_NODE): Remove useless macro.
6 * parse.y (java_parser_context_restore_global): Replace
7 BUILD_FILENAME_IDENTIFIER_NODE by plain get_identifier.
8 * jcf-parse.c (read_class, java_parse_file): Likewise.
10 2004-07-12 Bryce McKinlay <mckinlay@redhat.com>
13 gjavah.c (print_field_info): Emit constant only if field is static.
15 2004-07-11 Roger Sayle <roger@eyesopen.com>
17 * expr.c (java_truthvalue_conversion, flush_quick_stack,
18 java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr,
19 build_java_ret, build_java_throw_out_of_bounds_exception,
20 build_java_array_length_access, java_check_reference,
21 build_java_arrayaccess, build_java_arraystore_check, build_newarray,
22 build_anewarray, expand_java_multianewarray, expand_java_arraystore,
23 expand_java_arrayload, build_java_monitor, expand_java_return,
24 expand_load_internal, expand_java_NEW, build_get_class,
25 build_instanceof, expand_java_CHECKCAST, expand_iinc,
26 build_java_soft_divmod, build_java_binop, build_field_ref,
27 expand_compare, expand_java_goto, expand_java_switch,
28 expand_java_add_case, build_class_init, build_known_method_ref,
29 invoke_build_dtable, build_invokevirtual, build_invokeinterface,
30 expand_invoke, build_jni_stub, expand_java_field_op,
31 java_expand_expr, expand_byte_code, STORE_INTERNAL,
32 force_evaluation_order, emit_init_test_initialization): Convert
33 calls to "build" into calls to the prefered "buildN" functions.
35 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
37 * java-tree.h (set_block): Remove.
38 * lang.c (java_clear_binding_stack): New.
39 (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
40 * decl.c (struct binding_level): Remove this_block.
41 (clear_binding_level): Likewise.
42 (poplevel): Don't handle this_block.
45 2004-07-10 Bryce McKinlay <mckinlay@redhat.com>
47 * class.c (common_enclosing_context_p): Remove statement with no
50 2004-07-09 Bryce McKinlay <mckinlay@redhat.com>
53 * parse.y (create_anonymous_class): Remove 'location' argument. Use
54 the WFL from TYPE_NAME to get line number for the decl. Fix comment.
55 (craft_constructor): Inherit access flags for implicit constructor
56 from the enclosing class.
57 (create_class): Fix comment typo.
58 (resolve_qualified_expression_name): Pass type of qualifier to
59 not_accessible_p, not the type in which target field was found.
60 (not_accessible_p): Handle inner classes. Expand protected
61 qualifier-subtype check to enclosing instances, but don't apply this
62 check to static members. Allow protected access to inner classes
63 of a subtype. Allow private access within common enclosing context.
64 (build_super_invocation): Get WFL line number info from current
66 (build_incomplete_class_ref): Update for new create_anonymous_class
68 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Use
69 common_enclosing_instance_p.
70 * class.c (common_enclosing_context_p): New. Determine if types
71 share a common enclosing context, even across static contexts.
72 (common_enclosing_instance_p): Renamed from
73 common_enclosing_context_p. Determines if types share a common
74 non-static enclosing instance.
75 * java-tree.h (common_enclosing_instance_p): Declare.
76 * jcf-write.c (get_method_access_flags): New. Surpress private flag
77 for inner class constructors.
78 (generate_classfile): Use get_method_access_flags.
80 2004-07-09 Bryce McKinlay <mckinlay@redhat.com>
82 * class.c (interface_of_p): Check for null TYPE_BINFO.
84 2004-07-09 Nathan Sidwell <nathan@codesourcery.com>
86 * class.c (make_class): Do not create binfo here.
87 (set_super_info): Create it here.
88 * java-tree.h (CLASS_HAS_SUPER): Cope with lack of a binfo.
90 2004-07-08 Richard Henderson <rth@redhat.com>
92 * expr.c (case_identity, get_primitive_array_vtable,
93 java_expand_expr, emit_init_test_initialization): Remove.
94 * java-tree.h (java_expand_expr): Remove.
95 * lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
97 2004-07-07 Per Bothner <per@bothner.com>
99 * class.c (build_static_field_ref): Add a NOP_EXPR; otherwise we
100 get internal error due to mismatched types.
102 * gcj.texi (Invoking gij): Document new -verbose:class flag.
104 * gcj.texi (Linking): New node. Document -lgij usage.
106 2004-07-07 Nathan Sidwell <nathan@codesourcery.com>
108 * java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
109 (TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
110 * java/class.c (set_super_info, class_depth, interface_of_p,
111 maybe_add_interface, add_interface, make_class_data,
112 layout_class, add_miranda_methods): Adjust BINFO macros.
113 * expr.c (can_widen_reference_to, lookup_field): Likewise.
114 * jcf-write.c (generate_classfile): Likewise.
115 * parse.y (patch_anonymous_class,
116 check_inner_circular_reference, check_circular_reference,
117 java_complete_class, check_abstract_method_definitions,
118 java_check_abstract_method_definitions,
119 check_interface_throws_clauses, java_check_abstract_methods,
120 lookup_java_interface_method2,
121 find_applicable_accessible_methods_list): Likewise.
122 * typeck.c (find_method_in_interface): Likewise.
123 * verify.c (merge_types): Likewise.
125 2004-07-06 Nathan Sidwell <nathan@codesourcery.com>
127 * java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
128 * class.c (add_interface_do): Use BINFO_VIRTUAL_P.
130 2004-07-05 Nathan Sidwell <nathan@codesourcery.com>
132 * class.c (make_class): Use make_tree_binfo.
133 (set_super_info, add_interface_do): Likewise.
134 * java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.
136 2004-07-04 Ranjit Mathew <rmathew@hotmail.com>
138 * verify.c: Correct array element access formatting thinko.
140 2004-07-04 Ranjit Mathew <rmathew@hotmail.com>
142 * verify.c: Insert a short blurb at the start referring to the JVMS.
143 (merge_type_state): Remove redundant nested if statement.
144 (verify_jvm_instructions): Ensure current_subr is initialised to
146 Minor formatting fixes all over the place.
148 2004-07-02 Richard Henderson <rth@redhat.com>
150 * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
152 2004-07-01 Richard Henderson <rth@redhat.com>
154 * class.c (registerClass_libfunc): Remove.
155 (init_class_processing): Don't set it.
156 (emit_register_classes): Take list_p parameter. Fill it in
157 with _Jv_RegisterClass calls.
158 * decl.c (java_init_decl_processing): Don't call
159 init_resource_processing.
160 * jcf-parse.c (java_emit_static_constructor): New.
161 (java_parse_file): Call it.
162 * resource.c (registerResource_libfunc): Remove.
163 (init_resource_processing): Remove.
164 (write_resource_constructor): Take list_p parameter. Fill it in
165 with _Jv_RegisterResource calls.
166 * java-tree.h: Update prototypes.
168 2004-06-29 Bryce McKinlay <mckinlay@redhat.com>
171 * class.c (layout_class_method): Do not override package-private
172 method if its in a different package.
173 (split_qualified_name): Move here from parse.y. Rename from
174 breakdown_qualified. Add comment.
175 (in_same_package): Move here from parse.y. Add comment.
176 * java-tree.h (break_down_qualified, in_same_package): Declare.
177 (in_same_package): Likewise.
178 * parse.y (breakdown_qualified, in_same_package): Moved to class.c.
181 2004-06-29 Andrew Haley <aph@redhat.com>
183 * except.c (expand_start_java_handler): Push a new binding level.
184 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
185 register_exception_range() to register where we'll do it.
186 (expand_end_java_handler): Remove old bogus code. Replace with
187 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
188 the top of the expression we're curently building.
189 (maybe_end_try): Delete.
190 * decl.c (binding_level.exception_range): New field.
191 (clear_binding_level): Add field exception_range. Reformat.
192 (poplevel): Call expand_end_java_handler().
193 (poplevel): Call java_add_stmt only if functionbody is false.
194 (maybe_poplevels): Don't call maybe_end_try() from here.
195 (end_java_method): Clear no longer used trees in function decl.
196 (register_exception_range): New function.
197 * java-tree.h (register_exception_range, struct eh_range): Declare.
199 2004-06-28 Bryce McKinlay <mckinlay@redhat.com>
201 * jcf-write.c (get_classfile_modifiers): Formatting fixes.
203 2004-06-27 Ranjit Mathew <rmathew@hotmail.com>
206 * expr.c (class_has_finalize_method): Fix method name indentation.
207 (expand_java_call): Remove K&R style parameter declaration.
208 (expand_invoke): Fix statement indentation.
209 (expand_java_field_op): Likewise.
210 * parse-scan.y: Fix typo.
211 (reset_report): Fix method name indentation.
212 * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
214 * verify.c (verify_jvm_instructions): Document parameters, insert
216 * lang.c (lang_init_source): Fix method name indentation.
217 * class.c (common_enclosing_context_p): Likewise.
218 (emit_symbol_table): Fix parameter list indentation.
219 * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
220 parameter declaration.
221 * constants.c: Fix copyright notice indentation.
222 * typeck.c (find_method_in_superclasses): Fix parameter list
224 (find_method_in_interfaces): Likewise.
225 * zextract.c (makelong): Fix method name indentation.
227 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
230 * parse.y (create_interface): Set correct access modifiers for
232 * jcf-write.c (get_classfile_modifiers): New function.
233 (generate_classfile): Use get_classfile_modifiers, not
236 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
238 * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
239 dependency to current parser context, not NULL_TREE, for top-level
241 (jdep_resolve_class): Enable member access check for all inner
244 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
246 * parse.y (qualify_and_find): Pass type decl, not identifier, to
249 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
252 * expr.c (expand_java_field_op): Ensure that target class for static
253 field access has been loaded.
255 2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
256 Ranjit Mathew <rmathew@hotmail.com>
258 PR java/1207, java/16178
259 * jcf-parse.c (load_class): Return immediately if passed a type decl
260 where CLASS_FROM_SOURCE_P is set. Remove FIXME.
261 * parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P
262 before calling load_class.
263 (qualify_and_find): Likewise.
264 (find_in_imports_on_demand): Likewise.
265 (find_applicable_accessible_methods_list): Likewise.
267 2004-06-24 Bryce McKinlay <mckinlay@redhat.com>
269 * parse.y (java_layout_seen_class_methods): Don't call load_class
270 on class defined by source parser.
272 2004-06-23 Bryce McKinlay <mckinlay@redhat.com>
274 * parse.y (set_nested_class_simple_name_value): Removed.
275 (java_complete_expand_class): Remove calls to
276 set_nested_class_simple_name_value.
278 2004-06-22 Andrew Haley <aph@redhat.com>
279 Ranjit Mathew <rmathew@hotmail.com>
282 * decl.c (force_poplevels): Remove call to expand_end_bindings.
284 2004-06-22 Ranjit Mathew <rmathew@hotmail.com>
286 * parse.y (create_class): Correct diagnostic message about
287 java.lang.Object extending anything else.
289 2004-06-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
291 * class.c (build_class_ref): Add new operand for COMPONENT_REF.
292 (build_static_field_ref): Likewise and add new operands for ARRAY_REF.
293 * constants.c (build_ref_from_constant_pool): Likewise.
294 * expr.c (build_java_array_length_access): Likewise.
295 (build_get_class, build_field_ref, build_known_method_ref): Likewise.
296 (invoke_build_dtable, build_invokevirtual): Likewise.
297 (build_invokeinterface, java_expand_expr): Likewise.
298 (emit_init_test_initialization): Likewise.
299 * java-gimplify.c (java_gimplify_new_array_init): Likewise.
300 * parse.y (make_qualifed_name, build_array_ref): Likewise.
302 2004-06-21 Andrew Haley <aph@redhat.com>
304 * java-gimplify.c (java_gimplify_block): set TREE_USED on the new
307 2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
309 * jcf.h (struct JCF): Change java_source, right_zip and finished
311 * lex.h (struct java_lexer): Change hit_eof, read_anything,
312 byte_swap and use_fallback to unsigned int.
313 * parse.h (struct _jdep): Change flag0 to unsigned int.
315 2004-06-17 Ranjit Mathew <rmathew@hotmail.com>
318 * parse.y (java_layout_seen_class_methods): Ensure class is loaded
319 before trying to lay out its methods.
320 * jcf-parse.c (read_class): Track parsed files using canonical paths
321 obtained via lrealpath from libiberty.
322 (java_parse_file): Likewise.
323 (parse_source_file_1): Rename formal parameter to reflect its
324 modified purpose. Minor formatting fix.
326 2004-06-15 Paolo Bonzini <bonzini@gnu.org>
328 * class.c (emit_register_classes): Make the function uninlinable,
329 do not set current_function_cannot_inline.
330 * resource.c (write_resource_constructor): Do not reset
331 flag_inline_functions around rest_of_compilation.
333 2004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
336 * expr.c (java_truthvalue_conversion): Handle
337 UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
338 ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
339 i.e. return the expression.
341 2004-06-03 Mark G. Adams <mark.g.adams@sympatico.ca>
343 * gjavah.c: Include version.h
345 2004-05-31 Bryce McKinlay <mckinlay@redhat.com>
347 * jcf-write.c (generate_bytecode_conditional): Correct handling
348 of unordered conditionals. Add comment.
350 2004-05-29 Ranjit Mathew <rmathew@hotmail.com>
351 Per Bothner <per@bothner.com>
353 * java-tree.h (DECL_LOCAL_FINAL_IUD): New macro to test if a
354 local variable was initialised upon declaration.
355 * parse.y (declare_local_variables): Set DECL_LOCAL_FINAL_IUD if
356 variable was final and initialised upon declaration.
357 * check-init.c (check_final_reassigned): Give error only if a blank
358 final is not definitely unassigned or if an initialised final is
360 (check_bool_init): Respect JLS2 16.1.7 requirements for boolean
361 assignment expressions. Remove case MODIFY_EXPR, label do_default.
362 (check_init): Perform initialised-variable-removing-optimisation
363 only on non-final local variables.
365 2004-05-28 Bryce McKinlay <mckinlay@redhat.com>
367 * jcf-write.c (generate_bytecode_conditional): Handle binops
368 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
370 (generate_bytecode_insns): Likewise.
372 2004-05-28 Bryce McKinlay <mckinlay@redhat.com>
374 * check-init.c (check_init): Handle binops UNLT_EXPR, UNLE_EXPR,
375 UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, and LTGT_EXPR.
377 2004-05-28 Bryce McKinlay <mckinlay@redhat.com>
379 * gcj.texi (Object allocation): Remove _Jv_AllocBytes.
380 (Mixing with C++): Document JvAllocBytes and RawDataManaged.
382 2004-05-26 Bryce McKinlay <mckinlay@redhat.com>
384 * decl.c (struct binding_level): Add GTY marker. Compile
385 binding_depth unconditionally.
386 (current_binding_level, free_binding_level, global_binding_level):
388 (clear_binding_level): Unconditionally set binding_depth.
389 (make_binding_level): Use ggc_alloc_cleared, not xmalloc.
391 2004-05-26 Bryce McKinlay <mckinlay@redhat.com>
393 * lex.c (java_new_lexer): Set 'encoding'.
394 (java_read_char): Improve error message for unrecognized characters.
395 * lex.h (struct java_lexer): New field 'encoding'.
397 2004-05-23 Paolo Bonzini <bonzini@gnu.org>
399 * Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
401 2004-05-21 Mark Wielaard <mark@klomp.org>
403 * gjavah.c (print_stub_or_jni): Mark functions only JNIEXPORT, not
406 2004-05-19 Paolo Bonzini <bonzini@gnu.org>
408 * typeck.c: Remove non-printable character 160.
410 2004-05-17 Ranjit Mathew <rmathew@hotmail.com>
412 * check-init.c: Correct minor typos.
414 2004-05-13 Diego Novillo <dnovillo@redhat.com>
416 * Make-lang.in, expr.c, java-gimplify.c: Rename
417 tree-simple.[ch] to tree-gimple.[ch].
419 2004-05-14 Ranjit Mathew <rmathew@hotmail.com>
421 * java-gimplify.c (java_gimplify_expr): Correct minor typos.
423 2004-05-13 Diego Novillo <dnovillo@redhat.com>
425 Merge from tree-ssa-20020619-branch. See
426 ChangeLog.tree-ssa for details.
428 * Make-lang.in, builtins.c, check-init.c, class.c,
429 constants.c, decl.c, except.c, expr.c, java-except.h,
430 java-tree.def, java-tree.h, jcf-parse.c, jcf-write.c,
431 lang.c, lang.opt, parse.y, resource.c: Merged.
432 * java-gimplify.c: New file.
434 2004-05-10 Andrew Haley <aph@redhat.com>
436 * parse.y (create_class): Set TYPE_VFIELD.
437 * decl.c (java_init_decl_processing): Likewise.
439 * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
440 * class.c (make_method_value): Replace DECL_VINDEX with call to
442 (get_dispatch_vector): Likewise.
443 (layout_class_method): Likewise.
444 Replace set of DECL_VINDEX with call to set_method_index().
445 (set_method_index): New function.
446 (get_method_index): New function.
447 * java-tree.h (set_method_index): New function decl.
448 (get_method_index): New function decl.
450 2004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
452 * parse.y (check_pkg_class_access): Add new argument
453 and use it when cl is NULL to call lookup_cl on it.
454 (parser_check_super_interface): Do not call lookup_cl.
455 Pass this_decl to check_pkg_class_access and NULL
456 instead of lookup_cl.
457 (parser_check_super): Update for change in
458 check_pkg_class_access.
459 (do_resolve_class): Likewise.
460 (process_imports): Likewise.
461 (find_in_imports_on_demand): Likewise.
462 (resolve_qualified_expression_name): Likewise.
464 2004-05-06 Ranjit Mathew <rmathew@hotmail.com>
466 Fixes PR java/9685, PR java/15073
467 * parse.y (accessibility_string): New method.
468 (not_accessible_field_error): Use accessibility_string()
469 instead of java_accstring_lookup().
470 (resolve_qualified_expression_name): Check with
471 check_pkg_class_access() before allowing access using
474 Use check_pkg_class_access() instead of not_accessible_p()
475 for unqualified types.
476 (not_accessible_p): Use DECL_CONTEXT (member) instead of
477 REFERENCE for package-private access checking.
478 (patch_method_invocation): Use accessibility_string() instead
479 of java_accstring_lookup().
481 2004-04-30 Ranjit Mathew <rmathew@hotmail.com>
484 * gjavah.c (struct method_name): Add member is_native.
485 (overloaded_jni_method_exists_p): Match candidate method only if
487 (print_method_info): Initialise is_native flag from the method's
490 2004-04-30 Roger Sayle <roger@eyesopen.com>
492 * builtins.c (java_builtins): Add acos, asin, ceil and floor.
493 (initialize_builtins): Likewise, define acos, asin, ceil and floor.
495 2004-04-22 Roger Sayle <roger@eyesopen.com>
497 * resource.c (write_resource_constructor): Guard call to possibly
498 NULL targetm.asm_out.constructor with targetm.have_ctors_dtors.
500 2004-04-19 Bryce McKinlay <mckinlay@redhat.com>
502 * class.c (make_class_data): Add new field aux_info.
503 * decl.c (java_init_decl_processing): Push type and decl for
506 2004-04-15 Bryce McKinlay <mckinlay@redhat.com>
508 * expr.c (expand_java_NEW): Don't use size argument for
509 _Jv_AllocObject calls.
510 * parse.y (patch_invoke): Likewise.
512 2004-04-12 Bryce McKinlay <mckinlay@redhat.com>
514 * expr.c (build_invokeinterface): Remove unused variables to
517 2004-04-12 Bryce McKinlay <mckinlay@redhat.com>
519 * class.c (get_interface_method_index): New function. Return dispatch
520 index for interface method.
521 (make_method_value): For interface methods, set index field to
522 iface dispatch index, not DECL_VINDEX.
523 * expr.c (build_invokeinterface): Use get_interface_method_index.
525 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
527 * jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
529 2004-03-31 Andrew Haley <aph@redhat.com>
532 * jcf-io.c (opendir_in_zip): Tidy up error handling.
534 2004-03-30 Zack Weinberg <zack@codesourcery.com>
536 * builtins.c, expr.c, jcf.h, parse.h: Use new shorter
539 2004-03-25 Marcus Meissner <meissner@suse.de>
542 * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
544 2004-03-23 Tom Tromey <tromey@redhat.com>
547 * jcf-write.c (make_class_file_name): Don't report if mkdir
550 2004-03-23 Tom Tromey <tromey@redhat.com>
552 * gcj.texi (Extensions): Document GCJ_PROPERTIES.
554 2004-03-20 Kazu Hirata <kazu@cs.umass.edu>
556 * class.c, gjavah.c, lang.c: Fix comment typos.
557 * gcj.texi: Fix typos.
559 2004-03-19 Per Bothner <per@bothner.com>
561 * gcj.texi (Code Generation): Document new flags and assert defaults.
563 * class.c (assume_compiled_node_struct): Rename type to
564 class_flag_node_struct, as it is now also used for enable_assertions.
565 Rename assume_compiled_node typedef. Rename excludep field to value.
566 (find_assume_compiled_node): Rename function to find_class_flag_node.
567 Minor optimization - avoid needless strlen.
568 (add_assume_compiled): Some tweaking and optimization.
569 Rename and generalize to add_class_flag takem an extra parameter.
570 (add_assume_compled): New just calls add_class_flag.
571 (add_enable_assert, enable_assertions): New functions.
572 (enable_assert_tree): New static.
573 * java-tree.h (add_enable_assert, enable_assertions): New declarations.
574 * lang.opt (fenable-assertions, fenable-assertions=,
575 fdisable-assertions, fdisable-assertions=): New options.
576 * lang.c (java_handle_option): Handle new options.
577 * parse.y (build_incomplete_class_ref): Handle class$ in an inner
578 class in an interface - create helper class nested in outer interface.
579 (build_assertion): Short-circuit if enable_assertions is false.
581 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
583 * java-tree.h: Changes throughout to add checking to macros
584 and numerous whitespace changes.
585 (VAR_OR_FIELD_CHECK): New macro.
586 * jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC,
587 FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL.
589 2004-03-16 Per Bothner <per@bothner.com>
591 * jcf-jump.c (options): New --print-constants option.
592 * gcj.texi (Invoking jcf-dump): Document --print-constants.
594 * jcf-dump.c (flag_print_constant_pool): Default to off.
595 (print_constant_terse_with_index): New helper function.
596 (various places): Check flag_print_constant_pool where missing.
597 (main): If verbose set flag_print_constant_pool.
598 (HANDLE_INNERCLASSES_ATTRIBUTE): Null inner class name is anonymous.
600 2004-03-15 Andrew Haley <aph@redhat.com>
603 * parse.y (java_complete_lhs): Check that final variable has an
606 2004-03-12 Andrew Haley <aph@redhat.com>
609 * typeck.c (convert): Clear TREE_OVERFLOW after an integer
612 2004-02-29 Roger Sayle <roger@eyesopen.com>
614 * jcf-parse.c (java_parse_file): Handle the case that input_filename
617 2004-02-27 Per Bothner <per@bothner.com>
619 * parse.y (build_assertion): Re-do 02-25 change following Jeff Sturm
620 suggestion: Use build_incomplete_class_ref.
621 This fixes PR java/13508, java/11714.
623 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
625 * java/parse.h: Update copyright.
627 2004-02-26 Andrew Haley <aph@redhat.com>
630 * parse.y (check_interface_throws_clauses): Check for
631 !METHOD_INVISIBLE (iface_method).
632 * class.c (layout_class_methods): Check for CLASS_INTERFACE as
633 well as CLASS_ABSTRACT.
635 2004-02-25 Per Bothner <per@bothner.com>
637 * parse.y (build_assertion): If we're in an inner class, create the
638 class$ helper routine in the outer class.
640 2004-02-19 Richard Henderson <rth@redhat.com>
642 * parse.y (switch_label): Use make_node for DEFAULT_EXPR.
644 2004-02-16 Geoffrey Keating <geoffk@apple.com>
646 * Make-lang.in (java.install-man): Add extra dependencies.
648 2004-02-13 Geoffrey Keating <geoffk@apple.com>
650 * Make-lang.in: Install man pages under the same names
651 (possibly transformed) as the program they document.
653 2004-02-10 Joseph S. Myers <jsm@polyomino.org.uk>
655 * gjavah.c: Include "intl.h".
656 (error): New function.
657 (main): Call gcc_init_libintl.
658 (get_field_name, throwable_p, print_c_decl, print_full_cxx_name,
659 print_stub_or_jni, process_file, main): Use error rather than
661 (print_method_info, usage, help, version, main): Mark strings for
662 translation with _. Avoid splitting up sentences. Send
663 information messages to stdout.
664 * jcf-dump.c: Include "intl.h".
665 (main): Call gcc_init_libintl.
666 (process_class, usage, help, version, main, CHECK_PC_IN_RANGE):
667 Mark error, usage and version messages for translation with _.
668 Avoid splitting up sentences.
669 * jv-scan.c: Include "intl.h".
670 (fatal_error, warning): Change parameter s to msgid. Translate
672 (main): Call gcc_init_libintl.
673 (usage, help, version): Mark error, usage and version messages for
674 translation with _. Avoid splitting up sentences.
675 * jvgenmain.c: Include "intl.h".
676 (main): Call gcc_init_libintl.
677 (usage, main): Mark error messages for translation with _.
678 * Make-lang.in (GCJH_OBJS, JVSCAN_OBJS, JCFDUMP_OBJS,
679 JVGENMAIN_OBJS): Add intl.o.
680 (java/jcf-dump.o, java/gjavah.o, java/jv-scan.o,
681 java/jvgenmain.o): Update dependencies.
683 2004-02-08 Per Bothner <per@bothner.com>
685 * parse.y (resolve_qualified_expression_name): In case of inaccessible
686 class don't use not_accessible_field_error, which can get confused.
688 2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
690 Make-lang.in (po-generated): Delete.
692 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
694 * Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
696 * decl.c: Include target.h.
697 (start_java_method): Replace PROMOTE_PROTOTYPES with
698 targetm.calls.promote_prototypes.
699 * expr.c: Include target.h.
700 (pop_arguments): Replace PROMOTE_PROTOTYPES with
701 targetm.calls.promote_prototypes.
702 * parse.y: Include target.h.
703 (start_complete_expand_method): Replace PROMOTE_PROTOTYPES
704 with targetm.calls.promote_prototypes.
706 2004-02-04 Kazu Hirata <kazu@cs.umass.edu>
708 * typeck.c: Update copyright.
710 2004-02-02 Tom Tromey <tromey@redhat.com>
712 * decl.c (java_init_decl_processing): Remove duplicate
715 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
717 * Make-lang.in (doc/gcj.dvi): Use $(abs_docdir).
719 2004-01-28 Andrew Pinski <pinskia@physics.uc.edu>
721 * expr.c (build_field_ref): Move variable
724 2004-01-28 Andrew Haley <aph@redhat.com>
726 * expr.c (build_field_ref): Widen field offset.
728 2004-01-27 Andrew Haley <aph@redhat.com>
731 * parse.y (check_interface_throws_clauses): Make sure class_decl
734 2004-01-22 Jeff Sturm <jsturm@one-point.com>
737 * parse.y (patch_assignment): Don't modify lhs_type for
738 reference assignments.
740 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
742 * Make-lang.in: Replace $(docdir) with doc.
743 (java.info, java.srcinfo, java.man, java.srcman): New rules.
744 (java.install-man): Revamp rule.
746 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
748 * Make-lang.in (JAVA_INSTALL_NAME, JAVA_TARGET_INSTALL_NAME,
749 GCJH_TARGET_INSTALL_NAME): Define via a immediate $(shell)
750 instead of deferred backquote.
752 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
754 * typeck.c (find_method_in_interfaces): Move variable
757 2004-01-16 Andrew Haley <aph@redhat.com>
760 * typeck.c (shallow_find_method): New.
761 (find_method_in_superclasses): New.
762 (find_method_in_interfaces): New.
763 (lookup_do): Rewrite.
764 * java-tree.h (SEARCH_ONLY_INTERFACE): Delete.
766 * jcf-parse.c (read_class): Save and restore output_class.
767 * decl.c (java_expand_body): Set output_class from fndecl.
769 2004-01-15 Michael Chastain <mec.gnu@mindspring.com>
771 * class.c (gen_indirect_dispatch_tables): Fix string length
774 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
776 * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
777 (java.srcextra): Copy above back to source directory if requested.
778 (po-generated): Delete reference to $(parsedir).
779 (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
782 2004-01-14 Jan Hubicka <jh@suse.cz>
784 * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
787 2004-01-09 Mark Mitchell <mark@codesourcery.com>
789 * java-tree.h (java_expand_expr): Change prototype.
790 * expr.c (java_expand_expr): Add alt_rtl parameter.
792 2004-01-09 Andrew Haley <aph@redhat.com>
795 * parse.y (java_fix_constructors): Set output_class.
796 (java_reorder_fields): Likewise.
797 (java_layout_classes): Likewise.
798 (java_expand_classes): Generate indirect dispatch tables.
799 (java_expand_classes): Set output_class.
800 (java_finish_classes): Likewise.
801 * lang.c (java_init): Turn on always_initialize_class_p if we're
802 using indirect dis[atch.
803 (java_decl_ok_for_sibcall): Use output_class, not current_class.
804 (java_get_callee_fndecl): Use class local atable.
806 (always_initialize_class_p): Decl moved to java-tree.h.
807 (HANDLE_CLASS_INFO): Set output_class.
808 (read_class): Likewise.
809 (parse_class_file): Call gen_indirect_dispatch_tables.
810 (parse_zip_file_entries): Set output_class.
811 (java_parse_file): Set output_class. Don't emit symbol tables.
812 * java-tree.h (output_class): New.
813 Remove global declarations for otable, atable, and ctable.
814 (always_initialize_class_p): moved here from decl.c.
816 (TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL,
817 TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL,
818 TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New.
819 (struct lang_type): Add otable_methods, otable_decl,
820 otable_syms_decl, atable_methods, atable_decl, atable_syms_decl,
821 ctable_decl, catch_classes, type_to_runtime_map.
822 * expr.c (build_field_ref): Make otable, atable, and ctable class
823 local rather than global.
824 (build_known_method_ref): Likewise.
825 (build_invokeinterface): Likewise.
826 (java_expand_expr): Pass runtime type (rather than actual type) to
828 * except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for
829 this class. Look up each class in that map to delete duplicates.
830 (expand_end_java_handler): Pass runtime type (rather than actual
831 type) to expand_start_catch.
832 * decl.c: (always_initialize_class_p): Decl moved to java-tree.h.
834 (java_init_decl_processing): Rearrange things. Remove global
835 declarations of otable, atable, and ctable.
836 (java_init_decl_processing): Make lang_eh_runtime_type do_nothing.
837 (java_expand_body): Set output_class.
838 * constants.c (build_constant_data_ref): Use output_class, not
840 (alloc_name_constant): Likewise.
841 * class.c (gen_indirect_dispatch_tables): New.
842 (build_class_ref): Generate hard reference to superclass, even if
843 using indirect dispatch.
844 (build_static_field_ref): Use class local atable.
845 (make_class_data): Generate hard reference to superclass, even if
846 using indirect dispatch.
847 Generate symbolic references to interfaces when using indirect
849 (make_class_data): Emit otable, atable, and ctable.
850 Make otable, atable, and ctable class local rather than global.
851 (emit_catch_table): Make otable, atable, and ctable class local
854 2003-12-25 Andrew Pinski <pinskia@physics.uc.edu>
856 * parse.y (catch_clause_parameter): Fix typo.
859 * parse.y: (catch_clause_parameter): Return early if $3, aka
860 formal_parameter, is null.
862 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
864 * class.c: Remove uses of "register" specifier in
865 declarations of arguments and local variables.
868 * gjavah.c: Likewise.
869 * jcf-dump.c: Likewise.
870 * jcf-io.c: Likewise.
871 * jcf-parse.c: Likewise.
872 * jcf-write.c: Likewise.
873 * keyword.h: Likewise.
875 * typeck.c: Likewise.
876 * verify.c: Likewise.
878 2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
880 * Make-lang.in (GCJ_CROSS_NAME): Delete.
881 (java.install_common, java.install-man): Adjust for above.
882 (java.uninstall): Likewise.
884 2003-12-03 Michael Koch <konqueror@gmx.de>
886 * class.c (make_class_data):
887 Push field value to 'hack_signers' instead of 'signers'.
888 * decl.c (java_init_decl_processing):
889 Push field 'hack_signers' instead of 'signers'.
891 2003-12-03 Zack Weinberg <zack@codesourcery.com>
893 * lex.h: Check both HAVE_ICONV and HAVE_ICONV_H before
896 2003-12-03 Ralph Loader <rcl@ihug.co.nz>
899 * parse.y (qualify_ambiguous_name): Remove lots of broken
900 field access processing - there's no need to do that here,
901 because we have resolve_field_access. Remove
902 RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
903 * java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
906 2003-12-01 Jeff Sturm <jsturm@one-point.com>
909 * parse.y (java_complete_lhs): Save location prior to patching
912 2003-11-25 Mohan Embar <gnustuff@thisiscool.com>
915 * resource.c (write_resource_constructor): Append
916 "_resource" to constructor identifier name.
918 2003-11-25 Jeff Sturm <jsturm@one-point.com>
921 * constants.c (cpool_for_class): New function.
922 (outgoing_cpool): Remove global variable.
923 (alloc_name_constant): Use cpool_for_class.
924 (build_constants_constructor): Likewise.
925 * decl.c (java_expand_body): Set current_class.
926 * java-tree.h (outgoing_cpool) Remove declaration.
927 (init_outgoing_cpool): Likewise.
928 * jcf-parse.c (init_outgoing_cpool): Remove function.
929 (parse_class_file): Don't call init_outgoing_cpool.
930 * parse.y (java_complete_expand_methods): Don't call
931 init_outgoing_cpool. Don't save outgoing_cpool.
932 (java_expand_classes): Don't restore outgoing_cpool.
933 (java_finish_classes): Likewise.
935 2003-11-24 Mohan Embar <gnustuff@thisiscool.com>
937 * Make-lang.in: (java.install-common) Add
938 symlink for $(target_noncanonical)-gcjh for
941 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
943 * Make-lang.in (java.extraclean): Delete.
945 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
947 * Make-lang.in (check-java): Add.
949 2003-11-19 Jeff Sturm <jsturm@one-point.com>
952 * except.c (prepare_eh_table_type): Allocate variable-sized
953 buffer `buf' with alloca.
955 2003-11-17 Jeff Sturm <jsturm@one-point.com>
959 decl.c (java_init_decl_processing): Don't initialize
960 class_not_found_type_node, no_class_def_found_type_node.
962 java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE,
963 JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index.
964 (class_not_found_type_node, no_class_def_found_type_node):
967 parse.y (build_dot_class_method_invocation): Add this_class
968 argument. Qualify method invocations to a different class.
969 (create_new_parser_context): Initialize saved_data_ctx to 0.
970 (java_parser_context_save_global): Initialize saved_data_ctx to 1.
971 (build_dot_class_method): Don't load classes. Register
973 (build_incomplete_class_ref): Special cases for interfaces
974 and inner classes. Move build_dot_class_method call to here...
975 (patch_incomplete_class_ref): ...from here. Pass current_class
976 to build_dot_class_method_invocation.
977 (build_assertion): Pass class_type to
978 build_dot_class_method_invocation.
979 (encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node.
981 2003-11-17 Jeff Sturm <jsturm@one-point.com>
984 * java-tree.h (BLOCK_EMPTY_P): Define.
985 * parse.y (java_complete_lhs): Check for empty blocks
986 in TRY_FINALLY_EXPR case.
988 2003-11-17 Andrew Haley <aph@redhat.com>
990 * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
991 (struct lang_decl_var:freed): New variable.
992 * decl.c (poplevel): Mark local vars that have gone out of scope.
993 (push_jvm_slot): Don't use the RTL of a var that has gone out of
996 2003-11-16 Jason Merrill <jason@redhat.com>
998 * Make-lang.in (java.tags): Create TAGS.sub files in each directory
999 and TAGS files that include them for each front end.
1001 2003-11-15 Tom Tromey <tromey@redhat.com>
1003 * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
1005 2003-11-12 Jason Merrill <jason@redhat.com>
1007 PR optimization/12547
1008 * lang.c (java_tree_inlining_walk_subtrees): Just walk
1009 BLOCK_EXPR_BODY directly.
1011 2003-11-12 Andrew Haley <aph@redhat.com>
1014 * parse.y (fold_constant_for_init): Check that we really do have a
1018 * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
1019 init_test_decls being inlined.
1022 * parse.y (do_resolve_class): Check return value from
1023 breakdown_qualified().
1025 2003-11-11 Tom Tromey <tromey@redhat.com>
1028 * parse.y (merge_string_cste): Handle case where we have a
1029 pointer that happens to be zero, not null_pointer_node.
1031 2003-11-10 Tom Tromey <tromey@redhat.com>
1033 * jcf-parse.c (classify_zip_file): Correctly compare
1034 filename_length against length of manifest file's name.
1036 2003-11-08 Tom Tromey <tromey@redhat.com>
1039 * jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.
1041 2003-11-06 Andrew Haley <aph@redhat.com>
1043 * expr.c (java_stack_swap): Make sure destination stack slots are
1044 of the correct type.
1046 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
1048 * Make-lang.in (dvi): Move targets to $(docobjdir).
1049 (gcj.dvi): Simplify rule and adjust target.
1050 (gcj.info): Simplify rule.
1051 (gcj.pod): New intermediate rule.
1052 (gcjh.pod): Likewise.
1053 (jv-scan.pod): Likewise.
1054 (jcf-dump.pod): Likewise.
1055 (gij.pod): Likewise.
1056 (jv-convert.pod): Likewise.
1057 (rmic.pod): Likewise.
1058 (rmiregistry.pod): Likewise.
1061 (jv-scan.1): Delete.
1062 (jcf-dump.1): Delete.
1064 (jv-convert.1): Delete.
1066 (rmiregistry.1): Delete.
1068 2003-11-02 Jeff Sturm <jsturm@one-point.com>
1070 Fixes PR java/12866.
1071 * parse.y (resolve_qualified_expression_name): Move test
1072 for outer field access methods from here...
1073 (check_thrown_exceptions) ...to here.
1075 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
1077 * .cvsignore: Delete.
1079 2003-10-28 Frank Ch. Eigler <fche@redhat.com>
1081 * verify.c (verify_jvm_instructions): Don't warn about legal
1082 eh binding regions generated for example by jdk 1.4.1.
1084 2003-10-24 David S. Miller <davem@redhat.com>
1086 * jcf-parse.c (jcf_parse): Fix args to fatal_error().
1088 2003-10-22 Andrew Haley <aph@redhat.com>
1090 * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
1091 (java_get_callee_fndecl): New.
1093 * jcf-parse.c (java_parse_file): Call emit_catch_table().
1095 * java-tree.h (ctable_decl): New.
1096 (catch_classes): New.
1097 (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
1099 * decl.c (java_init_decl_processing): Add catch_class_type.
1101 Add catch_classes field.
1103 * class.c (build_indirect_class_ref): Break out from
1105 (make_field_value): Check flag_indirect_dispatch.
1106 (make_class_data): Ditto.
1107 Tidy uses of PUSH_FIELD_VALUE.
1108 Add field catch_classes.
1109 (make_catch_class_record): New.
1111 * java-tree.h (PUSH_FIELD_VALUE): Tidy.
1113 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
1115 * jcf-write.c: Follow spelling conventions.
1116 * parse.y: Likewise.
1118 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
1120 * ChangeLog: Fix typos.
1121 * expr.c: Fix comment typos.
1122 * jcf-write.c: Likewise.
1125 * mangle.c: Likewise.
1126 * parse-scan.y: Likewise.
1127 * parse.y: Likewise.
1129 2003-10-22 Tom Tromey <tromey@redhat.com>
1131 * expr.c (expand_byte_code): Only warn about dead bytecode when
1132 extra_warnings is set.
1134 2003-10-22 Bryce McKinlay <bryce@mckinlay.net.nz>
1136 Fix for PR java/12586.
1137 * mangle.c (find_compression_record_match): Don't iterate through
1138 package namespace elements unless they all match compression_table
1141 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
1143 * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
1144 (generate-manpages): Likewise.
1145 (java.maintainer-clean): Likewise.
1146 (gcj.info): Likewise.
1149 (jv-scan.1): Likewise.
1150 (jcf-dump.1): Likewise.
1152 (jv-convert.1): Likewise.
1154 (rmiregistry.1): Likewise.
1155 (java.install-man): Likewise.
1156 (parse-scan.o): Move and define complete compile line.
1157 (parse.o): Likewise.
1158 (jcf-tree-inline.o): Move.
1160 2003-10-20 Mark Mitchell <mark@codesourcery.com>
1162 * Make-lang.in (info): Update dependencies.
1163 (java.install-info): Remove.
1164 ($(srcdir)/java/gcj.info): Replace with ...
1165 ($(docobjdir)/gcj.info): ... this.
1167 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
1169 * Make-lang.in: Replace uses of $(target_alias) with
1170 $(target_noncanonical).
1172 2003-10-09 Tom Tromey <tromey@redhat.com>
1174 * decl.c (java_init_decl_processing): Declare signers field.
1175 * class.c (make_class_data): Set signers field.
1177 2003-10-09 Jason Merrill <jason@redhat.com>
1179 * parse.y (patch_assignment): Use make_node to create a BLOCK.
1180 * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
1183 2003-10-06 Mark Mitchell <mark@codesourcery.com>
1185 * Make-lang.in (java.info): Replace with ...
1187 (java.dvi): Replace with ...
1189 (java.generated-manpages): Replace with ...
1191 2003-10-03 Kelley Cook <kelleycook@wideopenwest.com>
1193 * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
1195 2003-10-01 Andrew Haley <aph@redhat.com>
1197 * jcf-parse.c (java_parse_file): Write otable and atable.
1198 * java-tree.h (atable_methods): New.
1200 (atable_syms_decl): New.
1201 (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
1202 JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
1203 (symbol_*type): Rename method_symbol* to symbol*type.
1204 (emit_offset_symbol_table): Delete.
1205 (emit_symbol_table): New.
1206 (get_symbol_table_index): New.
1208 * expr.c (build_field_ref): Handle flag_indirect_dispatch.
1209 (build_known_method_ref): Likewise.
1210 (get_symbol_table_index): Rename from get_offset_table_index.
1211 Parameterize to allow re-use by differing types of symbol table.
1212 (build_invokevirtual): Pass table to get_offset_table_index.
1213 * decl.c (java_init_decl_processing): Push types and decls for
1214 atable and atable_syyms.
1215 * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
1216 (make_class_data): Add new fields atable and atable_syms.
1217 (emit_symbol_table): Rename from emit_offset_symbol_table.
1218 Parameterize to allow re-use by different types of symbol table.
1219 (build_symbol_entry): Renamed from build_method_symbols_entry.
1221 2003-09-30 Roger Sayle <roger@eyesopen.com>
1223 * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
1224 semantics for SAVE_EXPR, by caching the result in a temporary.
1226 2003-09-28 Richard Henderson <rth@redhat.com>
1228 * check-init.c (check_init): Save and restore input_location
1229 instead of file and line separately.
1230 * decl.c (java_expand_body): Likewise.
1231 * jcf-write.c (generate_bytecode_insns): Likewise.
1232 * parse.y (safe_layout_class): Likewise.
1233 * jcf-parse.c (read_class, parse_class_file): Likewise.
1234 (java_parse_file): Use %H for warning locator.
1236 2003-09-28 Roger Sayle <roger@eyesopen.com>
1238 * expr.c (java_check_reference): Use the semantics of COND_EXPRs
1239 with void-type branches instead of using a COMPOUND_EXPR.
1241 2003-09-28 Jeff Sturm <jsturm@one-point.com>
1243 * decl.c (java_optimize_inline, dump_function): Remove.
1244 * java-tree.h (java_optimize_inline): Remove declaration.
1245 * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
1246 * parse.y (source_end_java_method, java_expand_classes):
1247 Likewise. Remove dead code.
1249 2003-09-27 Roger Sayle <roger@eyesopen.com>
1251 * lang.c (java_init_options): Set flag_evaluation_order.
1252 * expr.c (force_evaluation_order): Don't attempt to force
1253 evaluation order of binary operations using save_expr.
1254 * parse.y (java_complete_lhs): No longer need to call
1255 force_evaluation_order when constructing binary operators.
1257 2003-09-27 Alexandre Petit-Bianco <apbianco@redhat.com>
1258 Bryce McKinlay <bryce@mckinlay.net.nz>
1261 * parse.y (not_accessible_field_error): New function.
1262 (resolve_expression_name): Check field access permissions.
1263 (resolve_qualified_expression_name): Use
1264 not_accessible_field_error.
1265 (resolve_qualified_expression_name): Likewise.
1267 2003-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1269 * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
1271 2003-09-23 Roger Sayle <roger@eyesopen.com>
1273 * jcf-write.c (generate_bytecode_insns): Optimize binary operations
1274 with equal operands without side-effects.
1276 2003-09-22 Jeff Sturm <jsturm@one-point.com>
1278 * decl.c (java_init_decl_processing): Don't emit otable decls
1279 if flag_indirect_dispatch is not set.
1281 2003-09-21 Richard Henderson <rth@redhat.com>
1283 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
1286 2003-09-21 Richard Henderson <rth@redhat.com>
1288 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
1289 resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
1291 2003-09-20 Richard Henderson <rth@redhat.com>
1293 * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
1295 2003-09-18 Roger Sayle <roger@eyesopen.com>
1297 * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
1298 * check-init.c (check_init): Likewise.
1300 2003-09-18 Roger Sayle <roger@eyesopen.com>
1302 * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
1304 2003-09-16 Andrew Haley <aph@redhat.com>
1306 * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
1308 2003-09-17 Ranjit Mathew <rmathew@hotmail.com>
1311 * mangle.c (find_compression_record_match): Skip
1312 over a "6JArray" (the array template mangled string)
1314 (mangle_array_type): Correct minor typo.
1315 (atms): Move definition to the beginning.
1317 2003-09-16 Bryce McKinlay <bryce@mckinlay.net.nz>
1319 * class.c (add_miranda_methods): Ensure super-interfaces are laid
1320 out. Fix for PR java/12254.
1322 2003-09-11 Richard Henderson <rth@redhat.com>
1324 * parse.y (source_end_java_method): Update for new
1325 cgraph_finalize_function argument.
1327 2003-09-09 Richard Henderson <rth@redhat.com>
1329 * parse.y (source_end_java_method): Update call to
1330 cgraph_finalize_function.
1332 2003-09-03 Jeff Sturm <jsturm@one-point.com>
1334 * decl.c (java_expand_body): New function.
1335 * expr.c (build_class_init): Set DECL_IGNORED_P.
1336 * java-tree.h (start_complete_expand_method,
1337 java_expand_body): Declare.
1338 * jcf-parse.c (cgraph.h): Include.
1339 (java_parse_file): Handle flag_unit_at_a_time.
1340 * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
1341 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1342 (java_estimate_num_insns): Use walk_tree_without_duplicates.
1343 (java_start_inlining): New function.
1344 * parse.h (java_finish_classes): Declare.
1345 * parse.y: Include cgraph.h.
1346 (block): Don't special-case empty block production.
1347 (craft_constructor): Set DECL_INLINE.
1348 (source_end_java_method): Handle flag_unit_at_a_time.
1349 Replace inline code with call to java_expand_body.
1350 (start_complete_expand_method): Remove static modifier.
1351 (java_expand_method_bodies): Patch function tree for
1352 class initialization and/or synchronization as needed.
1353 Don't begin RTL expansion yet.
1354 (java_expand_classes): Check flag_unit_at_a_time before
1355 calling finish_class.
1356 (java_finish_classes): New function.
1357 (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
1358 (patch_assignment): Set DECL_CONTEXT on temporary variable.
1359 (emit_test_initialization): Set DECL_IGNORED_P.
1361 2003-09-03 Roger Sayle <roger@eyesopen.com>
1363 * builtins.c (enum builtin_type): Delete unused enumeration.
1364 * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
1366 2003-08-28 Tom Tromey <tromey@redhat.com>
1368 * gcj.texi (Extensions): Document gcjlib URLs.
1370 2003-08-20 Tom Tromey <tromey@redhat.com>
1372 * gcj.texi (Extensions): Added xref.
1373 (libgcj Runtime Properties): Document
1374 gnu.gcj.runtime.VMClassLoader.library_control.
1376 2003-08-20 Andrew Haley <aph@redhat.com>
1378 * except.c (prepare_eh_table_type): Use new encoding for exception
1379 handlers when using -fno-assume-compiled.
1381 2003-08-13 Tom Tromey <tromey@redhat.com>
1383 * gcj.texi (Invoking gij): Document -X and -?.
1385 2003-08-13 Mohan Embar <gnustuff@thisiscool.com>
1387 * Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
1388 GCJH_OBJS, JCFDUMP_OBJS
1389 * win32-host.c: Removed the unnecessary and broken dependency
1392 2003-08-11 Tom Tromey <tromey@redhat.com>
1394 * parse.y (java_check_regular_methods): Typo fixes. Call
1395 check_interface_throws_clauses. Use
1396 check_concrete_throws_clauses.
1397 (check_interface_throws_clauses): New function.
1398 (check_concrete_throws_clauses): New function.
1399 (hack_is_accessible_p): New function.
1400 (find_most_specific_methods_list): Added FIXME.
1401 * typeck.c (lookup_do): Use `flags' argument to decide what to
1403 (lookup_argument_method_generic): New function.
1404 (lookup_argument_method2): Removed.
1405 * jcf.h (ACC_INVISIBLE): New define.
1406 * jcf-write.c (generate_classfile): Skip invisible methods.
1407 * class.c (add_miranda_methods): New function.
1408 (layout_class_methods): Use it.
1409 (get_access_flags_from_decl): Use ACC_INVISIBLE.
1410 * java-tree.h (METHOD_INVISIBLE): New define.
1411 (lang_decl_func) [invisible]: New field.
1412 (lookup_argument_method_generic): Declare.
1413 (SEARCH_INTERFACE): New define.
1414 (SEARCH_SUPER): Likewise.
1415 (SEARCH_ONLY_INTERFACE): Likewise.
1416 (SEARCH_VISIBLE): Likewise.
1417 (lookup_argument_method2): Removed declaration.
1419 2003-08-05 Tom Tromey <tromey@redhat.com>
1421 Fix for PR java/11600:
1422 * parse.y (java_complete_lhs): See whether we're calling a method
1424 (check_thrown_exceptions): Added `is_array_call' argument;
1425 fixed `clone' checking; updated all callers.
1427 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
1429 * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
1431 2003-08-03 Tom Tromey <tromey@redhat.com>
1433 * java-tree.h (METHOD_TRANSIENT): Removed.
1434 * decl.c (pushdecl): Removed some dead code.
1435 * class.c (get_access_flags_from_decl): Can't have transient
1437 (add_method_1): Can't have a transient method.
1439 2003-07-28 Andreas Jaeger <aj@suse.de>
1441 * jvspec.c: Convert to ISO C90 prototypes.
1443 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
1445 * decl.c (force_poplevels): Fix warning call.
1447 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1449 * expr.c (expand_java_field_op): Don't use xxx_with_decl
1450 (expand_java_field_op): Likewise.
1451 * class.c (layout_class_method): Likewise
1452 (emit_register_classes): Likewise.
1453 * decl.c (pushdecl): Likewise.
1454 (poplevel): Likewise.
1455 (force_poplevels): Likewise.
1456 (give_name_to_locals): Likewise.
1457 * check-init.c (check_for_initialization): Likewise.
1459 2003-07-24 Jason Merrill <jason@redhat.com>
1461 * java-tree.h: Move boolean_type_node et al to the back end.
1463 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1465 * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
1468 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
1470 * lang.opt: Don't show -MD_ and -MDD_.
1472 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
1474 * lang-options.h: Remove.
1475 * lang.opt: Add help text.
1477 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
1479 * expr.c: Remove the last argument to expand_assignment().
1481 2003-07-09 Jan Hubicka <jh@suse.cz>
1483 * java-tree.h (DECL_NUM_STMTS): Rename to...
1484 (DECL_ESTIMATED_INSNS): ... this.
1485 * lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
1486 New static functions.
1487 (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
1488 * parser.y (add_stmt_to_compound): Do not account statements.
1490 2003-07-08 Mark Wielaard <mark@klomp.org>
1492 * gcj.texi: CNI now expands to Compiled Native Interface.
1494 2003-07-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1496 * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
1498 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
1500 * expr.c (expand_byte_code): Adjist emit_line_note call.
1502 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
1504 * lang.c (java_handle_option): Don't handle filenames.
1506 2003-07-02 Zack Weinberg <zack@codesourcery.com>
1508 * jcf-path.c: Don't default-define PATH_SEPARATOR nor
1511 * jcf-write.c: Don't default-define DIR_SEPARATOR.
1512 * jcf.h: Delete COMPARE_FILENAMES definition.
1514 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
1516 * lang.c (java_init_options): Update prototype.
1518 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
1520 * decl.c (poplevel): Adjust define_label call.
1522 2003-06-27 Zack Weinberg <zack@codesourcery.com>
1524 * gjavah.c (flag_jni): Make non-static.
1525 * parse-scan.y (ctxp): Make non-static.
1527 * class.c (build_method_symbols_entry)
1528 * expr.c (get_offset_table_index)
1529 * jcf-parse.c (jcf_parse):
1530 Mark the definition static, matching the forward declaration.
1532 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
1534 * lang.c (java_handle_option): Don't check for missing arguments.
1536 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
1538 * class.c (push_class): Use a location_t to save place.
1539 (emit_register_classes): Set input_location. Adjust
1540 expand_function_end call.
1541 * resource.c (write_resource_constructor): Likewise.
1542 * decl.c (end_java_method): Adjust expand_function_end call.
1543 * parse.y (source_end_java_method): Likewise.
1545 2003-06-17 Robert Abeles <rabeles@archaelogic.com>
1547 * lang.c (java_handle_option): Likewise.
1549 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
1551 * lang.c (java_handle_option): Special-casing of optional
1552 joined arguments no longer needed.
1553 * lang.opt: Update switches that take optional argument.
1555 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1557 * lang.opt: Declare Java.
1558 * lang.c (java_init_options): Update.
1560 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1562 * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
1564 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
1566 * lang-specs.h: Rewrite -MD and -MMD to append an underscore.
1567 * lang.c (java_handle_option): -MD and -MMD have an underscore.
1568 * lang.opt: -MD and -MMD have an underscore.
1570 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
1572 * class.c (emit_register_classes): Adjust init_function_start
1574 * decl.c (complete_start_java_method): Likewise.
1575 * resource.c (write_resource_constructor): Likewise.
1577 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
1579 * Make-lang.in: Update to use options.c and options.h.
1580 * lang.c: Include options.h not j-options.h.
1581 (java_handle_option): Abort on unrecognized option.
1582 (java_init_options): Request Java switches.
1584 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
1586 * Make-lang.in: Handle mostlyclean.
1588 2003-06-11 Tom Tromey <tromey@redhat.com>
1590 * lang.c (java_handle_option): Update dependency_tracking for
1593 * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
1596 2003-06-10 Andrew Haley <aph@redhat.com>
1598 * resource.c (write_resource_constructor): Use expand_expr to
1599 generate the address of the label attached to a resource.
1600 * Make-lang.in (java/resource.o): Add expr.h
1602 2003-06-10 Andrew Haley <aph@redhat.com>
1604 * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1605 (java_decl_ok_for_sibcall): New.
1607 2003-06-09 Neil Booth <neil@daikokuya.co.uk>
1609 * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
1610 (java/j-options.c, java/j-options.h): New.
1611 * java-tree.h (resource_name, compile_resource_file,
1612 compile_resource_data): Constify.
1613 * jcf-write.c (jcf_write_base_directory): Similarly.
1614 * jcf.h (jcf_write_base_directory): Similarly.
1615 * lang.c: Include j-options.h.
1616 (cl_options_count, cl_options, string_option, java_decode_option,
1617 lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
1618 process_option_with_no): Remove.
1619 (resource_name): Constify.
1620 (LANG_HOOKS_HANDLE_OPTION): Override.
1621 (java_handle_option): New.
1622 (java_init): Don't call jcf_path_init.
1623 (java_init_options): Call jcf_path_init.
1625 * resource.c (compile_resource_data, compile_resource_file): Constify.
1627 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
1629 * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
1630 (struct lang_decl_func): Add last_line field.
1631 * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
1632 DECL_SOURCE_LINE_LAST): Remove.
1633 * parse.y (missing_return_error, finish_method_declaration,
1634 lookup_cl, start_artificial_method_body, source_end_java_method,
1635 start_complete_expand_method): Adjust.
1637 2003-06-08 Tom Tromey <tromey@redhat.com>
1639 * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
1640 fno-assume-compiled.
1642 2003-06-08 Roger Sayle <roger@eyesopen.com>
1644 * builtins.c (define_builtin_type, builtin_types): Delete.
1645 (define_builtin): Rewritten to take just the built-in code,
1646 the function's name, type and fallback library function name.
1647 All built-ins used by Java are implicit and BUILT_IN_NORMAL.
1648 (initialize_builtins): Overhaul to define the GCC builtins
1649 used by gcj manually, providing the Java run-time's
1650 implementations as the fallback library function.
1652 2003-06-08 Anthony Green <green@redhat.com>
1654 * parse.y (patch_cast): Fix conversions from floating-point to
1657 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
1659 * Make-lang.in: Update.
1660 * lang.c: Include opts.h. Define cl_options_count and cl_options.
1662 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
1664 * lang.c (java_init_options): Update.
1666 2003-06-05 Jan Hubicka <jh@suse.cz>
1668 * Make-lang.in: Add support for stageprofile and stagefeedback
1670 2003-05-31 Roger Sayle <roger@eyesopen.com>
1672 * lang.c (java_init_options): Prescribe wrap-around two's
1673 complement arithmetic overflow by setting flag_wrapv.
1675 2003-05-29 Roger Sayle <roger@eyesopen.com>
1677 * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
1678 (builtin_record): Add an additional builtin_code field to
1679 record which GCC built-in corresponds to the Java function.
1680 (java_builtins): Add new entries for atan, atan2, exp, log,
1682 (max_builtin, min_builtin, abs_builtin): Perform constant
1683 folding on the resulting tree.
1684 (java_build_function_call_expr): Likewise, perform constant
1685 folding on the resulting tree.
1686 (initialize_builtins): The NULL creators are now allowed in
1687 the java_builtins table, which is now terminated by an entry
1688 with builtin_code == END_BUILTINS.
1689 (check_for_builtin): Likewise. If the matching creator is
1690 NULL, construct the call using java_build_function_call_expr
1691 directly with the decl for the corresponding builtin_code.
1693 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
1695 * win32-host.c: Normalize copyright boilerplate.
1697 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1699 * parse.y (print_int_node): Use string concatentation on
1700 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
1701 function calls into one.
1703 2003-05-13 Zack Weinberg <zack@codesourcery.com>
1705 * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
1706 fatal_io_error with calls to fatal_error; add ": %m" to the end of
1707 all the affected error messages.
1709 2003-05-13 Richard Henderson <rth@redhat.com>
1711 * class.c (layout_class_method): Set DECL_EXTERNAL.
1712 * decl.c (java_mark_decl_local, java_mark_class_local): New.
1713 * java-tree.h (java_mark_class_local): Declare.
1714 * jcf-parse.c (parse_class_file): Use it.
1715 * parse.y (java_expand_classes): Likewise.
1717 2003-05-04 Nathan Sidwell <nathan@codesourcery.com>
1719 * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
1720 * lex.h: #include input.h.
1721 * jv-scan.c (input_filename): Remove.
1723 2003-05-02 Tom Tromey <tromey@redhat.com>
1726 * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
1727 (handle_inner_classes): New function.
1729 2003-05-01 Tom Tromey <tromey@redhat.com>
1732 * parse.y (finish_for_loop): Do nothing if update expression is a
1733 EXPR_WFL_NODE wrapping nothing.
1734 (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
1736 2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
1738 * lex.h (input_lineno): Remove declaration.
1739 * parse-scan.y: #include input.h.
1740 (input_filename): Remove declaration.
1741 (input_location): Add definition.
1742 (input_line): Remove definition.
1744 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
1746 * lex.h (lineno): Rename to ...
1747 (input_line): ... here
1748 * parse-scan.y (lineno): Rename to ...
1749 (input_line): ... here.
1750 (reset_report): Rename lineno to input_line.
1751 * check-init.c (check_init): Likewise.
1752 * class.c (push_class): Likewise.
1753 * decl.c (complete_start_java_method, end_java_method): Likewise.
1754 * expr.c (expand_byte_code): Likewise.
1755 * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
1756 * jcf-write.c (generate_bytecode_insns): Likewise.
1757 * lex.c (java_init_lex, java_allocate_new_line,
1758 do_java_lex): Likewise.
1759 * parse.h (YYNOT_TWICE): Likewise.
1760 * parse.y (empty_statement, expression_statement,
1761 java_pop_parser_context, java_parser_context_save_global,
1762 yyerror, register_fields, method_header, safe_layout_class,
1763 find_in_imports_on_demand, create_artificial_method,
1764 source_end_java_method, start_complete_expand_method,
1765 build_thisn_assign, java_complete_lhs,
1766 maybe_absorb_scoping_block): Likewise.
1768 2003-04-20 Mohan Embar <gnustuff@thisiscool.com>
1770 * jcf-io.c (find_class): use DIR_SEPARATOR instead of
1771 '/' when computing java source filename
1773 2003-04-13 Tom Tromey <tromey@redhat.com>
1775 * gjavah.c (print_c_decl): Indentation fix.
1777 2003-04-12 Zack Weinberg <zack@codesourcery.com>
1779 * class.c (make_field_value, make_method_value, get_dispatch_table)
1780 (make_class_data, emit_offset_symbol_table)
1781 * constants.c (build_constants_constructor)
1782 * java-tree.h (START_RECORD_CONSTRUCTOR)
1783 * parse.y (maybe_build_array_element_wfl):
1784 Use build_constructor.
1786 2003-04-10 Eric Blake <ebb9@email.byu.edu>
1789 * parse.y (string_convert_int_cst): Always use at least one digit
1790 in string conversion. Remove ASCII dependence.
1791 (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
1793 2003-03-16 Mohan Embar <gnustuff@thisiscool.com>
1795 * Make-lang.in: added win32-host.c
1796 * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
1797 resolves to open() on non-Win32 platforms and
1798 Win32-specific jcf_open_exact_case() on Win32
1799 * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
1800 when trying .java and .class files
1801 * win32-host.c: added to repository. Defines
1802 Win32-specific jcf_open_exact_case()
1804 2003-04-10 Andrew Haley <aph@redhat.com>
1806 * jcf-write.c (struct jcf_partial): num_jsrs: new field.
1807 (maybe_free_localvar): Renamed from localvar_free.
1808 Add new arg, really.
1809 (generate_bytecode_insns): Set new variable, jsrs.
1810 Only free local vars if no jsr insns have been emittted.
1811 Call maybe_free_localvar, not localvar_free.
1813 2003-03-30 Joseph S. Myers <jsm@polyomino.org.uk>
1815 * gcj.texi: Remove @ at start of file.
1817 2003-03-25 Tom Tromey <tromey@redhat.com>
1819 * parse.y (create_interface): Call CHECK_DEPRECATED.
1821 2003-03-23 Zack Weinberg <zack@codesourcery.com>
1823 * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
1825 2003-03-21 Zack Weinberg <zack@codesourcery.com>
1827 * javaop.h (jfloat, jdouble): Make them structures mirroring
1828 the bit fields of IEEE float and double respectively.
1829 (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
1830 JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
1831 (union Word, union DWord): Delete.
1832 (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
1834 * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
1835 D_NAN_MASK): Delete.
1836 (jni_print_float, jni_print_double): New. Generate
1837 hexadecimal floating constants.
1838 (print_field_info): Use jni_print_float/double.
1840 * jcf-dump.c: Include math.h. Use ldexp/frexp to assemble
1841 finite floating point numbers for output; special case
1844 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
1846 * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
1847 Replace 0 and 1 with true and false in return statements.
1849 2003-03-19 Tom Tromey <tromey@redhat.com>
1851 * lex.c (do_java_lex): Renamed from java_lex.
1852 (java_lex): New function.
1855 2003-03-13 Tom Tromey <tromey@redhat.com>
1857 * parse.y (resolve_inner_class): Error if qualifier is a primitive
1860 2003-03-04 Andrew Haley <aph@redhat.com>
1862 * gjavah.c (is_first_data_member): New global variable.
1863 (print_c_decl): If it's the first data member, align it as the
1865 (process_file): Set is_first_data_member.
1867 2003-03-11 Tom Tromey <tromey@redhat.com>
1869 * parse.y (resolve_field_access): Initialize class if field is
1870 found in another static field.
1871 * expr.c (build_class_init): Don't optimize out initialization of
1872 implemented interface.
1874 2003-03-11 Andrew Haley <aph@redhat.com>
1876 * jcf-io.c (caching_stat): Initialize origsep to remove compiler
1879 2003-03-10 Ranjit Mathew <rmathew@hotmail.com>
1881 * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
1882 and DIR_SEPARATOR_2 for a target.
1883 Correct minor typos.
1885 * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
1886 and DIR_SEPARATOR_2 for a target into account.
1888 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
1890 * lang.c (java_init): Update prototype, move code to java_post_options.
1891 (java_post_options): Similarly.
1893 2003-03-05 Ranjit Mathew <rmathew@hotmail.com>
1895 * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
1896 compare file name components depending on the case-sensitivity
1897 or otherwise of the host file system.
1899 * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
1900 "strcmp" to compare file name components.
1901 Use IS_DIR_SEPARATOR instead of comparing directly against
1903 (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
1904 comparing directly against DIR_SEPARATOR.
1906 2003-03-04 Tom Tromey <tromey@redhat.com>
1908 * Make-lang.in (java.tags): New target.
1910 2003-03-01 Roger Sayle <roger@eyesopen.com>
1912 * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
1913 (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
1915 2003-03-01 Tom Tromey <tromey@redhat.com>
1917 * parse.y (jdep_resolve_class): Only check deprecation if we found
1920 2003-02-28 Tom Tromey <tromey@redhat.com>
1923 * class.c (maybe_layout_super_class): Always pass a WFL to
1925 * parse.y (do_resolve_class): Updated comment to explain
1928 2003-02-26 Tom Tromey <tromey@redhat.com>
1930 * jcf-write.c (generate_classfile): Check whether class is
1931 deprecated before writing attribute count.
1933 2003-02-25 Roger Sayle <roger@eyesopen.com>
1935 * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
1936 built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
1938 2003-02-23 Tom Tromey <tromey@redhat.com>
1940 * lang-options.h: Added -Wdeprecated.
1941 * gcj.texi (Warnings): Document -Wdeprecated.
1942 * java-tree.h (flag_deprecated): Declare.
1943 * lang.c (lang_W_options): Added deprecated.
1944 (flag_deprecated): New global.
1945 * chartables.h: Rebuilt.
1946 * gen-table.pl (process_one): Look at whitespace.
1947 (print_tables): Define LETTER_SPACE, LETTER_MASK.
1948 * parse.h (CLEAR_DEPRECATED): New macro.
1949 (CHECK_DEPRECATED_NO_RESET): New macro.
1950 * jcf-parse.c (handle_deprecated): New function.
1951 (HANDLE_DEPRECATED_ATTRIBUTE): New define.
1952 * jcf-reader.c (get_attribute): Handle Deprecated attribute.
1953 * parse.y (resolve_type_during_patch): Check deprecation.
1954 (jdep_resolve_class): Likewise.
1955 (process_imports): Likewise.
1956 (resolve_expression_name): Likewise.
1957 (check_deprecation): Strip arrays from decl. Check
1959 (patch_method_invocation): Also check the particular constructor
1961 (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
1962 * jcf-write.c (append_deprecated_attribute): New function.
1963 (generate_classfile): Generate deprecated attribute when
1965 * lex.c (java_parse_doc_section): Return type now void. Rewrote.
1966 (java_lex) [case '*']: Simplify logic.
1967 (java_start_char_p): Use LETTER_MASK.
1968 (java_part_char_p): Likewise.
1969 (java_space_char_p): New function.
1971 2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
1973 Change base class access representation.
1974 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
1975 (add_interface_do): Likewise.
1977 2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
1979 * decl.c (java_init_decl_processing): Change
1980 soft_lookupjnimethod_node to reflect the change in
1981 signature of _Jv_LookupJNIMethod in libjava/jni.cc
1982 * expr.c (build_jni_stub): Calculate and pass the size
1983 on the stack of the arguments to a JNI function. Use
1984 new target macro MODIFY_JNI_METHOD_CALL to allow a
1985 target to modify the call to a JNI method.
1987 2003-02-08 Roger Sayle <roger@eyesopen.com>
1989 * jcf-io.c (java_or_class_file): Use libiberty's lbasename
1990 instead of basename to avoid compiler warnings on Tru64.
1992 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
1994 * gcj.texi: Update to GFDL 1.2.
1996 2003-01-31 Andrew Haley <aph@redhat.com>
1998 * parse.y (java_expand_classes): Scan the whole class list looking
1999 for access methods that haven't yet been expanded.
2001 2003-01-31 Adrian Bunk <bunk@fs.tum.de>
2005 * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
2006 to fix bootstrap on sparc-unknown-netbsdelf1.5.
2007 * jcf-parse.c: Likewise.
2009 2003-01-31 Mark Wielaard <mark@klomp.org>
2011 * gjavah.c (throwable_p): Allocate 1 more byte for string.
2013 2003-01-31 Nathan Sidwell <nathan@codesourcery.com>
2015 * class.c (make_class): Use BINFO_ELTS.
2016 (set_super_info): Likewse.
2017 (add_interface_do): Likewise.
2019 2003-01-30 Tom Tromey <tromey@redhat.com>
2021 * jcf-parse.c (read_class): Update identifier's class value if it
2022 changed during parsing.
2024 2003-01-30 Loren James Rittle <ljrittle@acm.org>
2026 * Make-lang.in (po-generated): Find the targets in $(parsedir).
2027 Propagate change to all other rules as required.
2028 (java/parse-scan.o): Add explicit dependency on
2029 $(parsedir)/java/parse-scan.c .
2031 2003-01-29 Tom Tromey <tromey@redhat.com>
2033 * parse.y (patch_assignment): Only transform the rhs of an
2034 assignment when compiling to native.
2036 2003-01-28 Tom Tromey <tromey@redhat.com>
2038 * jcf-write.c (generate_bytecode_conditional): Typo fixes.
2040 2003-01-28 Tom Tromey <tromey@redhat.com>
2042 * lex.c (java_lex): Don't include UEOF as part of token.
2043 (java_read_unicode): Error if \u sequence prematurely terminated.
2045 2003-01-27 Tom Tromey <tromey@redhat.com>
2047 * parse.y (java_check_regular_methods): Check for construct after
2048 checking types in throws clause.
2050 2003-01-24 Tom Tromey <tromey@redhat.com>
2052 * class.c (build_static_field_ref): Only a String or numeric field
2053 can fold to a constant.
2055 2003-01-23 Tom Tromey <tromey@redhat.com>
2057 * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
2058 file name in resource buffer.
2060 2003-01-23 Tom Tromey <tromey@redhat.com>
2062 * expr.c (build_known_method_ref): Use method's context to find
2065 2003-01-23 Tom Tromey <tromey@redhat.com>
2067 * constants.c (set_constant_entry): Allocated cleared memory.
2069 2003-01-22 Tom Tromey <tromey@redhat.com>
2071 * java-tree.h: Don't use PARAMS.
2072 * resource.c: Add prototypes for all functions.
2073 (write_resource_constructor): Use `const char *' to avoid
2076 2003-01-22 Nathanael Nerode <neroden@gcc.gnu.org>
2078 * jcf-parse.c (process_zip_dir): Remove unused variable.
2080 2003-01-22 Tom Tromey <tromey@redhat.com>
2082 * expr.c (build_invokeinterface): Abort if method's context is not
2085 2003-01-22 Tom Tromey <tromey@redhat.com>
2087 * gcj.texi (Input and output files): Mention non-class entries.
2088 * decl.c (java_init_decl_processing): Call
2089 init_resource_processing.
2090 * java-tree.h (compile_resource_data, write_resource_constructor,
2091 compile_resource_file, init_resource_processing): Declare.
2092 * config-lang.in (gtfiles): Added resource.c.
2093 * Make-lang.in (gt-java-resource.h): New target.
2094 (JAVA_OBJS): Added resource.o.
2095 (java/resource.o): New target.
2096 * resource.c: New file.
2097 * class.c (compile_resource_file): Moved to resource.c.
2098 (registerResource_libfunc): Likewise.
2099 (utf8_decl_list): Mark with GTY; now static.
2100 * jcf-parse.c (classify_zip_file): New function.
2101 (parse_zip_file_entries): Use it; compile .properties files.
2102 (process_zip_dir): Use classify_zip_file and compute_class_name.
2103 Don't write class name into zip directory.
2104 (java_parse_file): Call write_resource_constructor.
2105 (compute_class_name): New function.
2106 * jcf-io.c (read_zip_member): Reindented.
2108 2003-01-21 Tom Tromey <tromey@redhat.com>
2110 * class.c (supers_all_compiled): New function.
2111 (make_class_data): Use it.
2113 2003-01-21 Tom Tromey <tromey@redhat.com>
2115 * parse.y (method_header): Native method can't be strictfp.
2116 No method can be transient or volatile.
2118 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2120 Make-lang.in (jvspec.o-warn): Add -Wno-error.
2122 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
2124 * check-init.c: Fix comment typos.
2125 * class.c: Likewise.
2126 * constants.c: Likewise.
2128 * except.c: Likewise.
2130 * java-except.h: Likewise.
2131 * java-tree.h: Likewise.
2132 * javaop.h: Likewise.
2133 * jcf-dump.c: Likewise.
2134 * jcf-io.c: Likewise.
2135 * jcf-parse.c: Likewise.
2136 * jcf-write.c: Likewise.
2138 * mangle.c: Likewise.
2139 * typeck.c: Likewise.
2140 * verify.c: Likewise.
2142 2003-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2144 * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
2145 * jcf-write.c: Include "tm_p.h".
2147 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2149 * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
2151 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2153 * builtins.c (java_build_function_call_expr): Renamed from
2154 build_function_call_expr. All callers changed.
2156 * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
2157 * jcf-parse.c: Include tm_p.h.
2159 * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
2162 2003-01-14 Tom Tromey <tromey@redhat.com>
2164 * class.c (make_class_data): Check that super is compiled before
2165 building class reference to it.
2167 2003-01-14 Andrew Haley <aph@redhat.com>
2169 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2170 varargs function -- correct.
2172 2003-01-14 Andrew Haley <aph@redhat.com>
2174 * decl.c (java_init_decl_processing): Temporarily back out previous patch.
2176 2003-01-14 Andrew Haley <aph@redhat.com>
2178 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2179 varargs function -- correct.
2181 * parse.y (patch_assignment): Copy the rhs of an assignment into a
2182 temporary if the RHS is a reference.
2184 2003-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2186 * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
2187 * keyword.h: Regenerated.
2189 * All Files: Convert to ISO C style function definitions.
2191 2003-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
2193 * parse.y (check_pkg_class_access): ANSIfy definition.
2195 2003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2197 * decl.c, parse-scan.y, parse.y: Don't cast return value of
2200 * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
2202 2003-01-09 Geoffrey Keating <geoffk@apple.com>
2204 Merge from pch-branch:
2206 2002-12-02 Geoffrey Keating <geoffk@apple.com>
2208 * Make-lang.in (java/gjavah.o): Update dependencies.
2209 * gjavah.c: Include ggc.h.
2211 2002-08-16 Geoffrey Keating <geoffk@redhat.com>
2213 * Make-lang.in (GCJH_OBJS): Add ggc-none.o.
2214 (JCFDUMP_OBJS): Add ggc-none.o.
2215 (java/jcf-dump.o): Depend on GGC_H.
2216 * jcf-reader.c (jcf_parse_constant_pool): Use ggc_alloc to allocate
2217 CPool substructures.
2218 * jcf-parse.c (process_zip_dir): Use ggc_alloc to allocate JCFs.
2219 * jcf-dump.c: Include ggc.h.
2221 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
2223 * jcf.h (union cpool_entry): New.
2224 (struct CPool): Use gengtype to mark. Change field 'data' to be
2226 (struct JCF): Use gengtype to mark.
2227 (CPOOL_UINT): Update for new cpool_entry type.
2228 (CPOOL_USHORT1): Likewise.
2229 (CPOOL_USHORT2): Likewise.
2230 (CPOOL_FINISH): Use GC to free cpool subfields.
2231 * parse.h (struct parser_ctxt): Mark field current_jcf.
2232 * lex.c (java_init_lex): Use GC to allocate struct JCF.
2233 * jcf-parse.c (HANDLE_CONSTANT_Utf8): Update for new cpool_entry type.
2234 (main_jcf): Use gengtype to mark.
2235 (ggc_mark_jcf): Delete.
2236 (get_constant): Update for new cpool_entry type.
2237 (give_name_to_class): Likewise.
2238 (get_class_constant): Likewise.
2239 (init_outgoing_cpool): Use GGC to allocate struct CPool.
2240 (java_parse_file): Use GGC to allocate struct JCF.
2241 (init_jcf_parse): Don't call ggc_add_root.
2242 * jcf-reader.c (jcf_parse_constant_pool): Update for new
2244 * java-tree.h (current_jcf): Use gengtype to mark.
2245 (CPOOL_UTF): Update for new cpool_entry type.
2246 (outgoing_cpool): Use gengtype to mark.
2247 (struct lang_type): GC struct JCF and struct CPool.
2248 * config-lang.in (gtfiles): Add jcf.h.
2249 * constants.c (find_tree_constant): New.
2250 (set_constant_entry): Allocate cpool subfields using GGC. Update
2251 for new cpool_entry type.
2252 (find_constant1): Update for new cpool_entry type.
2253 (find_constant2): Likewise.
2254 (find_utf8_constant): Use find_tree_constant.
2255 (find_class_or_string_constant): Remove unnecessary cast to jword.
2256 Update for new cpool_entry type.
2257 (count_constant_pool_bytes): Update for new cpool_entry type.
2258 (write_constant_pool): Likewise.
2259 (alloc_name_constant): Use find_tree_constant.
2260 (build_constants_constructor): Update for new cpool_entry type.
2262 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
2264 * parse.y (mark_parser_ctxt): Delete.
2265 (goal): Don't use ggc_add_root.
2266 (create_new_parser_context): Use GC to allocate struct parser_ctxt.
2267 (java_pop_parser_context): Let GC free parser_ctxt.
2268 (java_parser_context_resume): Likewise.
2269 * parse.h (struct parser_ctxt): Use gengtype to mark.
2271 (ctxp_for_generation): Likewise.
2272 * lex.h (struct java_lc_s): Mark for gengtype.
2273 (java_lexer): Rearrange for gengtype.
2274 * config-lang.in (gtfiles): Add lex.h, parse.h.
2276 2003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2278 * All Files: Remove PARAMS macro.
2280 * expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
2281 jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
2284 * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
2287 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
2289 * Make-lang.in (java.install-common, java.uninstall,
2290 java.install-info, java.install-man): Prepend $(DESTDIR)
2291 to destination paths in all (un)installation commands.
2292 (java.install-common): Rewrite $(LN) command to support
2293 DESTDIR with "ln" as well as with "ln -s".
2295 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
2297 * java-tree.h: Protect against multiple inclusion.
2299 2003-01-07 Tom Tromey <tromey@redhat.com>
2301 * class.c (add_assume_compiled): Don't adjust parent if we're
2302 already at the root of tree.
2304 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2306 * lang.c (dump_compound_expr): Prototype.
2308 2003-01-03 Tom Tromey <tromey@redhat.com>
2310 Fix for PR java/8712:
2311 * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR,
2312 when simply checking against `null'.
2314 2003-01-03 Tom Tromey <tromey@redhat.com>
2316 * gcj.texi (Standard Properties): Document http.proxyHost and
2319 * gcj.texi (GNU Classpath Properties): Document new properties.
2321 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
2323 * java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf,
2324 java/lang-options.h, java/mangle.c, java/mangle_name.c,
2325 java/xref.c, java/zextract.c,java/zipfile.h: Fix copyright years.
2327 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
2329 * Make-lang.in, boehm.c, buffer.c,
2330 buffer.h, builtins.c, class.c,
2331 config-lang.in, constants.c,
2332 convert.h, decl.c, except.c,
2333 expr.c, java-except.h,
2334 java-tree.h, javaop.def,
2335 jcf-parse.c, jcf-write.c,
2336 jv-scan.c, jvgenmain.c,
2337 jvspec.c, keyword.gperf,
2338 keyword.h, lang-options.h,
2339 lang-specs.h, lang.c, lex.c,
2340 lex.h, mangle.c, mangle_name.c,
2341 parse-scan.y, parse.h, parse.y,
2342 typeck.c, verify.c, xref.c,
2343 xref.h: Replace "GNU CC" with
2344 "GCC" in the copyright header.
2346 * check-init.c, gjavah.c, javaop.h,
2347 jcf-depend.c, jcf-dump.c, jcf-io.c,
2348 jcf-path.c, jcf-reader.c, jcf.h,
2349 zextract.c, zipfile.h: These files are
2350 "part of GCC". Also say "GCC" not "GNU CC".
2352 2002-12-30 DJ Delorie <dj@redhat.com>
2354 * Make-lang.in: Protect against texi2pod/pod2man failing.
2356 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
2358 * gcj.texi: Use @copying.
2360 2002-12-27 Mark Mitchell <mark@codesourcery.com>
2362 * gjavah.c (print_name_for_stub_or_jni): Adjust call to
2363 print_cxx_classname.
2364 (print_cxx_classname): Add add_scope parameter.
2365 (print_class_decls): Do not emit a semicolon after the extern
2367 (process_file): Adjust calls to print_cxx_classname.
2369 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
2371 * gcj.texi: Include Cover Texts in man page.
2373 2002-12-23 Jeff Sturm <jsturm@one-point.com>
2375 * class.c (build_static_field_ref): Check FIELD_FINAL.
2377 * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF
2378 instead of current_constant_pool_data_ref.
2379 * java-tree.h (current_constant_pool_data_ref): Undefine.
2380 (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove.
2381 * jcf-parse.c (init_outgoing_cpool): Don't initialize
2382 current_constant_pool_data_ref.
2384 * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
2385 not build_internal_class_name.
2387 * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
2388 Use it when class ref isn't certain to be compiled.
2390 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
2392 * gcj.texi: Include gcc-common.texi.
2393 * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on
2394 $(srcdir)/doc/include/gcc-common.texi.
2396 2002-12-22 Anthony Green <green@redhat.com>
2398 * gcj.texi (Limitations): Add note about org.xml.sax and
2401 2002-12-20 Tom Tromey <tromey@redhat.com>
2403 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
2404 where minimum case value is Integer.MIN_VALUE.
2407 2002-12-18 Andrew Haley <aph@redhat.com>
2409 * parse.y (patch_invoke): Force evaluation order when `check' is
2410 set. For PR libgcj/8945.
2412 2002-12-16 Mark Mitchell <mark@codesourcery.com>
2414 * gcj.texi: Change version number to 3.4.
2416 2002-12-05 Ranjit Mathew <rmathew@hotmail.com>
2417 Andrew Haley <aph@redhat.com>
2419 * parse.y (source_end_java_method): Remove custom encoding of line
2420 numbers for a function decl before passing it to the back end.
2422 2002-12-03 Andrew Haley <aph@redhat.com>
2424 * class.c (make_class_data): New field, "chain".
2425 * decl.c (java_init_decl_processing): Likewise.
2427 2002-12-02 Tom Tromey <tromey@redhat.com>
2430 * parse.y (do_resolve_class): Handle qualified name via
2433 2002-11-30 Zack Weinberg <zack@codesourcery.com>
2435 * boehm.c, buffer.c, builtins.c, check-init.c, class.c,
2436 constants.c, decl.c, except.c, expr.c, gjavah.c, jcf-depend.c,
2437 jcf-dump.c, jcf-io.c, jcf-parse.c, jcf-path.c, jcf-write.c,
2438 jv-scan.c, jvgenmain.c, jvspec.c, lang.c, mangle.c, mangle_name.c,
2439 parse-scan.y, parse.y, typeck.c, verify.c, xref.c, zextract.c:
2440 Include coretypes.h and tm.h.
2441 * Make-lang.in: Update dependencies.
2443 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2445 * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
2447 2002-11-25 Diego Novillo <dnovillo@redhat.com>
2449 * jcf-reader.c: Don't expand JCF_readu4 inside the
2450 expansion of JCF_SKIP.
2452 2002-11-25 Diego Novillo <dnovillo@redhat.com>
2454 * jcf-reader.c: Don't expand JCF_readu4 inside the
2455 expansion of JCF_SKIP.
2457 2002-11-22 Tom Tromey <tromey@redhat.com>
2459 * parse.y (patch_binop): Cast right hand side of shift expression
2460 to `int'. Fixes PR java/8676.
2462 2002-11-22 Ranjit Mathew <rmathew@hotmail.com>
2463 Andrew Haley <aph@redhat.com>
2465 * gcc/java/jcf-write.c (write_classfile): Remove target
2466 class file, if it exists, before renaming the temporary
2469 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
2471 * jvspec.c (lang_specific_spec_functions): New.
2473 2002-11-18 Tom Tromey <tromey@redhat.com>
2475 Fix for PR java/7912:
2476 * expr.c (can_widen_reference_to): Allow cast of array to
2477 Cloneable or Serializable.
2478 * java-tree.h (java_lang_cloneable_identifier_node): Declare.
2479 (java_io_serializable_identifier_node): Likewise.
2480 * parse.y (java_lang_cloneable, java_io_serializable): Removed.
2481 (valid_ref_assignconv_cast_p): Use new identifier nodes.
2482 * lex.c (java_init_lex): Don't initialize java_lang_cloneable and
2483 java_io_serializable.
2484 * decl.c (java_init_decl_processing): Initialize
2485 java_lang_cloneable_identifier_node and
2486 java_io_serializable_identifier_node.
2487 (java_lang_cloneable_identifier_node): New global.
2488 (java_io_serializable_identifier_node): Likewise.
2490 2002-11-14 Jens-Michael Hoffmann <jensmh@gmx.de>
2492 * buffer.c: Remove unnecessary casts.
2493 * check-init.c: Likewise.
2494 * class.c: Likewise.
2495 * constants.c: Likewise.
2497 * except.c: Likewise.
2498 * gjavah.c: Likewise.
2499 * jcf-io.c: Likewise.
2500 * jcf-parse.c: Likewise.
2501 * jcf-path.c: Likewise.
2502 * jvspec.c: Likewise.
2505 * verify.c: Likewise.
2507 2002-11-06 Tom Tromey <tromey@redhat.com>
2509 * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
2512 2002-11-05 Tom Tromey <tromey@redhat.com>
2514 Fix for PR java/6388.
2515 * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while.
2516 * java-tree.h (enum java_tree_index): New values
2517 JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE.
2518 (decimal_int_max, decimal_long_max): New defines.
2519 * lex.c (yylex): Rewrote range checking. Sign extend literals.
2520 (error_if_numeric_overflow): Rewrote range checking.
2521 * decl.c (java_init_decl_processing): Initialize decimal_int_max,
2524 2002-11-02 Tom Tromey <tromey@redhat.com>
2526 * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
2528 * class.c (make_method_value): Put class name, not signature, into
2529 `throws' field. For PR java/8415.
2531 2002-10-24 Tom Tromey <tromey@redhat.com>
2533 * gcj.texi (Invoking gij): Document --showversion.
2534 (Standard Properties): java.library.path now set.
2536 2002-10-23 Tom Tromey <tromey@redhat.com>
2538 * gjavah.c (decode_signature_piece): In JNI mode, print
2539 `jobjectArray' when array depth is nonzero.
2542 2002-10-15 Andrew Haley <aph@redhat.com>
2544 * parse.y (patch_invoke): Call force_evaluation_order on a static
2546 (resolve_qualified_expression_name): Call force_evaluation_order
2547 on a arg list that is part of a Qualified Expression Name.
2549 * lang.c (dump_compound_expr): New.
2550 (java_dump_tree): New.
2552 2002-10-20 Ranjit Mathew <rmathew@hotmail.com>
2554 * gcj.texi: Added item describing the GCJ runtime property
2557 2002-10-15 Richard Henderson <rth@redhat.com>
2559 * jcf-parse.c (get_constant): Fix type warning.
2561 2002-10-15 Andrew Haley <aph@redhat.com>
2563 * java-tree.h (java_inlining_merge_static_initializers): Declare.
2564 (java_inlining_map_static_initializers): Declare.
2566 2002-10-14 Andrew Haley <aph@redhat.com>
2568 * tree-inline.c (remap_block): All local class initialization
2569 flags go in the outermost scope.
2570 (expand_call_inline): Call java_inlining_map_static_initializers.
2571 (expand_call_inline): Call java_inlining_merge_static_initializers.
2572 * java/lang.c (merge_init_test_initialization): New.
2573 (java_inlining_merge_static_initializers): New.
2574 (inline_init_test_initialization): New.
2575 (java_inlining_map_static_initializers): New.
2577 2002-10-11 Mark Wielaard <mark@klomp.org>
2579 * gcj.texi (Compatibility): Add Limitations and Extensions section.
2581 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2583 * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
2585 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2587 * parse.y (merge_string_cste): Add parentheses around & within |.
2589 2002-10-08 Tom Tromey <tromey@redhat.com>
2591 * parse.y (variable_declarator_id): Simplify error path for
2592 array declarator error. For PR java/8003.
2594 2002-10-08 Zack Weinberg <zack@codesourcery.com>
2596 * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
2599 2002-10-08 Andrew Haley <aph@redhat.com>
2601 * parse.y (attach_init_test_initialization_flags): Check for
2604 2002-10-07 Anthony Green <green@redhat.com>
2606 * parse.y (merge_string_cste): Fix bug in string concatenation.
2608 2002-10-03 Michael Koch <konqueror@gmx.de>
2610 * gcj.texi (Standard properties):
2611 Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
2613 2002-10-02 Roger Sayle <roger@eyesopen.com>
2615 PR optimization/6627
2616 * lang.c (java_init): If storing the vbit in function
2617 pointers, ensure that force_align_functions_log is atleast
2618 one to aid compatability with g++ vtables.
2620 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
2622 * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
2623 foul of type-based aliasing.
2625 2002-09-30 Anthony Green <green@redhat.com>
2627 * gcj.texi (Invoking jv-scan): Fix texinfo.
2629 2002-09-28 Anthony Green <green@redhat.com>
2631 * gcj.texi (Invoking jv-scan): Add --no-assert documentation.
2632 (Code Generation): Add -fno-assert documentation.
2633 * jv-scan.c (flag_assert): New global.
2634 (options): Add assert option.
2635 (help): Add --no-assert documentation.
2636 * parse-scan.y (flag_assert): New global.
2637 * lang.c (lang_f_options): Add -fassert/-fno-assert support.
2638 (flag_assert): New global.
2639 * java-tree.h (flag_assert): New global.
2640 * lex.c (java_lex): Obey flag_assert.
2641 * jvspec.c (jvgenmain_spec): Strip -fassert/-fno-assert when
2644 2002-09-26 Andrew Haley <aph@redhat.com>
2646 * expr.c (build_java_array_length_access): Check for null pointer.
2647 * expr.c (expand_java_arrayload): Likewise.
2649 2002-09-21 Richard Henderson <rth@redhat.com>
2651 * jcf-parse.c (get_constant): Decode from IEEE no matter
2652 what the target format.
2654 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
2656 * ChangeLog: Follow spelling conventions.
2657 * class.c: Likewise.
2660 * gjavah.c: Likewise.
2661 * java-tree.h: Likewise.
2662 * jcf-dump.c: Likewise.
2663 * jcf-parse.c: Likewise.
2664 * jvspec.c: Likewise.
2666 * mangle.c: Likewise.
2667 * parse.y: Likewise.
2669 2002-09-17 Tom Tromey <tromey@redhat.com>
2671 * lex.c (java_read_unicode_collapsing_terminators): Handle case
2672 where \r appears at EOF. Fixes PR java/7950.
2674 2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2676 * jvspec.c (lang_specific_driver): Remove unused variable.
2678 2002-09-16 Geoffrey Keating <geoffk@apple.com>
2680 * java-tree.h (union lang_tree_node): Add chain_next option.
2682 2002-09-16 Richard Henderson <rth@redhat.com>
2684 * jcf-parse.c (get_constant): Runtime check for IEEE format;
2685 use new real.h interface.
2686 * jcf-write.c (find_constant_index): Use new real.h interface.
2687 * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
2689 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
2691 * lang.c: Follow spelling conventions.
2693 2002-09-11 Per Bothner <per@bothner.com>
2695 * parse.y (fold_constant_for_init): If a VAR_DECL, convert numerical
2696 constant to the type of the field.
2697 (java_complete_tree): Remove now-redundant code.
2699 * parse.y (fold_constant_for_init): 'null' is not a constant expr.
2701 2002-09-03 Jesse Rosenstock <jmr@ugcs.caltech.edu>
2704 * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
2705 return label if a ret instruction for the jsr has been reached.
2707 2002-09-09 Ranjit Mathew <rmathew@hotmail.com>
2709 * parse.y (DIR_SEPARATOR): Don't define.
2710 (check_class_interface_creation): Use IS_DIR_SEPARATOR.
2712 2002-08-28 Andrew Haley <aph@redhat.com>
2714 * verify.c (verify_jvm_instructions): Allow exception handler
2715 inside code that is being protected, but generate a warning.
2716 * except.c (link_handler): Initialize `expanded' in new eh_range.
2717 (binding_depth, is_class_level, current_pc): Declare extern.
2719 2002-09-01 Mark Wielaard <mark@klomp.org>
2721 * gcj.texi: Add chapter about system properties.
2724 2002-08-26 Tom Tromey <tromey@redhat.com>
2726 * parse.y (try_builtin_assignconv): Allow narrowing primitive
2727 conversion if RHS_TYPE is byte, short, or char.
2729 2002-08-22 Tom Tromey <tromey@redhat.com>
2731 * gcj.texi (Invoking gij): Document -cp and -classpath.
2733 2002-08-21 Tom Tromey <tromey@redhat.com>
2735 * Make-lang.in (java/jcf-path.o): Use $(datadir), not
2736 $(prefix)/share. For PR libgcj/7633.
2738 For PR java/6005 and PR java/7611:
2739 * lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define.
2740 (java_can_use_bit_fields_p): New function.
2742 2002-08-16 Tom Tromey <tromey@redhat.com>
2744 * gcj.texi (Class Initialization): Mention class initialization of
2747 2002-07-30 Andrew Haley <aph@cambridge.redhat.com>
2749 * Make-lang.in (java-tree-inline.o): New.
2750 (JAVA_OBJS): Add java-tree-inline.o.
2751 * parse.y (source_end_java_method): Call java_optimize_inline.
2752 (java_expand_method_bodies): Save method's tree in
2754 (add_stmt_to_compound): Keep track of the number of statments.
2755 * lang.c (java_init): Enable flag_inline_trees.
2756 (java_post_options): If flag_inline_functions is on, enable
2757 flag_inline_trees instread.
2758 (decl_constant_value): New.
2759 (java_tree_inlining_walk_subtrees): New.
2760 * java-tree.h (DECL_NUM_STMTS): New macro.
2761 (java_optimize_inline): Declare.
2762 * expr.c (java_expand_expr): Allow a BLOCK to return a value.
2763 Handle a LABEL_EXPR.
2764 * decl.c (build_result_decl): If we already have a DECL_RESULT
2766 (dump_function): New.
2767 (java_optimize_inline): New.
2768 (dump_function): New.
2770 2002-08-13 Jesse Rosenstock <jmr@fulcrummicro.com>
2773 * parse.y (build_assertion): Invert return from
2774 desiredAssertionStatus.
2776 2002-08-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2778 * jcf-write.c (get_access_flags): Return correct access flags for
2779 private and protected inner classes.
2781 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2783 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2785 2002-08-05 Geoffrey Keating <geoffk@redhat.com>
2787 * mangle_name.c: Don't include obstack.h twice.
2788 * xref.c: Don't include obstack.h.
2790 2002-08-04 Geoffrey Keating <geoffk@redhat.com>
2792 * class.c: (permanent_obstack): Delete declaration.
2793 * constants.c: (permanent_obstack): Delete declaration.
2794 * except.c: (permanent_obstack): Delete declaration.
2795 * expr.c: (permanent_obstack): Delete declaration.
2796 * jcf-parse.c: (permanent_obstack): Delete declaration.
2797 (saveable_obstack): Delete declaration.
2798 * parse.h: (permanent_obstack): Delete declaration.
2799 * typeck.c: (permanent_obstack): Delete declaration.
2801 2002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
2803 * gcj.texi (version-gcc): Increase to 3.3.
2805 2002-07-22 Tom Tromey <tromey@redhat.com>
2807 * lex.c (java_lex): Check for `e' or `E' after 0.
2809 2002-07-21 Richard Henderson <rth@redhat.com>
2811 * lang.c (java_unsafe_for_reeval): New.
2812 (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2814 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
2816 * jcf-path.c (GET_ENV_PATH_LIST): Remove.
2817 (jcf_path_init): Use GET_ENVIRONMENT.
2819 2002-07-10 Roger Sayle <roger@eyesopen.com>
2820 Zack Weinberg <zack@codesourcery.com>
2822 * builtins.c (initialize_builtins): Remove defines that
2823 handled C/C++ specific junk hereby removed from builtins.def.
2825 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
2827 * lang.c (java_post_options): Update prototype.
2829 2002-07-05 Roger Sayle <roger@eyesopen.com>
2831 * builtins.c (initialize_builtins): Ignore the additional
2832 parameter to DEF_BUILTIN. Handle more C/C++ specific junk in
2833 the builtins.def file.
2835 2002-07-01 Tom Tromey <tromey@redhat.com>
2838 * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
2841 2002-07-01 Roger Sayle <roger@eyesopen.com>
2843 * java/decl.c (builtin_function): Accept additional parameter.
2844 (java_init_decl_processing): Pass an additional NULL_TREE
2845 argument to builtin_function.
2847 2002-06-29 T.J. Mather <tjmather@maxmind.com>
2849 * gcj.texi: Fixed gcj invocation example so that it compiles.
2851 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2853 * lex.c (java_init_lex): Avoid incorrect hardcoded constant 11.
2854 * parse.y (mark_parser_ctxt): Likewise.
2855 (check_modifiers, declare_local_variables): Avoid incorrect
2856 hardcoded constant 10.
2858 * lex.c (java_read_char): Avoid "comparison is always true"
2861 2002-06-25 Andreas Schwab <schwab@suse.de>
2863 * expr.c (JSR): Avoid undefined operation on PC.
2865 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2867 * decl.c (clear_binding_level): Const-ify.
2869 2002-06-13 Akim Demaille <akim@epita.fr>
2871 * parse.y (class_declaration, interface_declaration): Make sure
2872 all their rules have an action, in order to avoid meaningless `$$
2873 = $1' and their type clashes.
2875 2002-06-11 Tom Tromey <tromey@redhat.com>
2877 * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
2878 * parse-scan.y (statement_without_trailing_substatement): Added
2880 (assert_statement): New rule.
2881 * java-tree.h (struct lang_type) [assertions]: New field.
2882 (TYPE_USES_ASSERTIONS): New macro.
2883 (CLASS_USES_ASSERTIONS): Likewise.
2884 (FIELD_SYNTHETIC): New define.
2885 * lex.c (java_lval;): Added ASSERT_TK.
2886 * parse.y (ASSERT_TK): Added.
2887 (statement_without_trailing_substatement): Added assert_statement.
2888 (assert_statement): New rule.
2889 (build_assertion): New function.
2890 (maybe_generate_pre_expand_clinit): Create and initialize
2891 $assertionsDisabled.
2892 (lookup_package_type): Removed decl.
2893 * keyword.h: Rebuilt.
2894 * keyword.gperf (assert): New token.
2896 2002-06-10 Akim Demaille <akim@epita.fr>
2898 * parse.y (interface_type_list, class_member_declaration)
2899 (unary_expression_not_plus_minus): Remove duplicate %type.
2902 2002-06-09 Tom Tromey <tromey@redhat.com>
2904 * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
2906 * parse.y (method_header): Give error message in all cases.
2909 2002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2911 Don't use RTL inlining. Fix for PR java/6820.
2912 * lang.c (LANG_HOOKS_POST_OPTIONS): Define.
2913 (flag_really_inline): New.
2914 (java_decode_option): Set flag_really_inline if -finline-functions
2916 (java_post_options): New function. Turn off inlining unless
2917 flag_really_inline is set.
2919 2002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2921 * gjavah.c (throwable_p): Accept argument as either a classname or
2922 signature fragment. Create null-terminated classname string for super
2923 when calling itself recursively.
2924 (decode_signature_piece): Skip first character from class name
2925 signature when calling throwable_p.
2927 2002-06-08 H.J. Lu (hjl@gnu.org)
2929 * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
2931 2002-06-04 Tom Tromey <tromey@redhat.com>
2933 * jcf-write.c (perform_relocations): Optmize a goto to a goto.
2935 2002-06-04 Michael Koch <konqueror@gmx.de>
2937 * gcj.texi (Input Options): Fixed typo.
2939 2002-06-04 Zack Weinberg <zack@codesourcery.com>
2941 * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
2942 typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
2943 all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
2944 and all now-pointless local variables. Rename other local
2945 variables to reflect their not being handles.
2947 * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
2948 #if JCF_USE_STDIO blocks.
2950 * parse.y: Add missing semicolon at end of rule.
2952 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
2954 * check-init.c (attach_initialized_static_class): Delete, unused.
2955 * parse.y: Use htab_t instead of struct hashtable, update
2957 * java-tree.h: Include hashtab.h instead of hash.h.
2958 (struct lang_decl_func): Use htab_t, set up for gengtype.
2959 (struct init_test_hash_entry): Delete.
2960 (struct treetreehash_entry): New.
2961 (java_treetreehash_find): New
2962 (java_treetreehash_new): New prototype.
2963 (java_treetreehash_create): New prototype.
2964 (java_mark_tree): Delete prototype.
2965 (java_hash_hash_tree_node): Delete prototype.
2966 (java_hash_compare_tree_node): Delete prototype.
2967 (attach_initialized_static_class): Delete prototype.
2968 * expr.c (build_class_init): Update to use java_treetreehash
2970 (java_expand_expr): Update to use htab_t.
2971 (emit_init_test_initialization): Likewise.
2972 * decl.c (java_mark_tree): Delete.
2973 * class.c (init_test_hash_newfunc): Delete.
2974 (java_hash_hash_tree_node): Delete.
2975 (java_hash_compare_tree_node): Delete.
2976 (add_method_1): Update to use java_treetreehash functions.
2977 (JAVA_TREEHASHHASH_H): New macro.
2978 (java_treetreehash_hash): New function.
2979 (java_treetreehash_compare): New function.
2980 (java_treetreehash_find): New function.
2981 (java_treetreehash_new): New function.
2982 (java_treetreehash_create): New function.
2983 * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
2985 * Make-lang.in (java/parse.o): Depend on debug.h.
2986 * java-tree.h (struct lang_identifier): Use gengtype.
2987 (union lang_tree_node): New.
2988 (struct lang_decl_func): Use gengtype.
2989 (struct lang_decl_var): Likewise.
2990 (struct lang_decl): Likewise.
2991 * parse.y: Include debug.h.
2992 * lang.c (LANG_HOOKS_MARK_TREE): Delete.
2994 * lang.c (struct language_function): New dummy structure.
2996 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
2997 descriminator for DECL_LANG_SPECIFIC.
2998 (struct lang_decl_func): Rename from struct lang_decl.
2999 (enum lang_decl_desc): New.
3000 (struct lang_decl): Make it a union. Update all the accessor macros.
3001 (struct lang_type): Use gengtype.
3002 * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
3003 * decl.c (java_dup_lang_specific_decl): All lang_decl structures
3004 are now the same size.
3005 (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
3006 use discriminator to mark DECL_LANG_SPECIFIC.
3008 * Make-lang.in (gt-java-builtins.h): New rule.
3009 (java/builtins.o): Add dependency on gt-<filename>.h.
3010 * builtins.c: Use gengtype for roots.
3011 (union string_or_tree): Use gengtype.
3012 (struct builtin_record): Use gengtype.
3013 * config-lang.in (gtfiles): Add builtins.c.
3015 * Make-lang.in (gt-java-class.h, gt-java-constants.h,
3016 gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
3017 gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
3018 gt-java-parse.h, gtype-java.h): Add rules to generate.
3019 (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
3020 (class.o): Add dependency on gt-*.h.
3021 (constants.o): Likewise.
3024 (jcf-parse.o): Likewise.
3025 (jcf-write.o): Likewise.
3027 * config-lang.in (gtfiles): New.
3028 * class.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3029 * constants.c: Replace uses of ggc_add_* with GTY markers.
3031 * decl.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3032 * expr.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3033 * java-tree.h: Replace uses of ggc_add_* with GTY markers.
3034 * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
3036 * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
3038 * lang.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3039 * mangle.c: Replace uses of ggc_add_* with GTY markers. Include
3041 * parse.y: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
3042 Include gtype-java.h.
3044 2002-06-02 Tom Tromey <tromey@redhat.com>
3046 Fix for PR java/5913:
3047 * parse.y (patch_binop): Call patch_string on op1.
3049 2002-06-02 Tom Tromey <tromey@redhat.com>
3051 Fix for PR java/1343, PR java/6336:
3052 * parse.y (make_nested_class_name): Remove extraneous `else'; fix
3053 formatting. Changed return type.
3054 (anonymous_class_counter): Moved to top of file.
3055 (maybe_make_nested_class_name): Append number to class name for
3056 function-local classes.
3058 2002-05-28 Zack Weinberg <zack@codesourcery.com>
3060 * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
3061 * Make-lang.in: Update dependency lists.
3063 2002-05-18 Mark Mitchell <mark@codesourcery.com>
3065 * gjavah.c (throwable_p): Do not free the name of the class after
3066 passing it to find_class.
3067 * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
3068 * jcf-io.c (dirent.h): Include it.
3069 (fnmatch.h): Likewise.
3070 (compare_path): New function.
3071 (java_or_class_file): Likewise.
3072 (memoized_dirlist_entry): New type.
3073 (memoized_dirlist_lookup_eq): New function.
3074 (memoized_dirlists): New variable.
3075 (caching_stat): New function.
3076 (memoized_class_lookup_eq): New function.
3077 (memoized_class_lookups): Likewise.
3078 (find_class): Use memoized_class_lookups and caching_stat.
3079 * jcf.h (JCF_USE_SCANDIR): Define.
3080 * parse.y (java_expand_classes): Write the class files in reverse
3083 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3085 * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
3087 2002-05-13 Mark Mitchell <mark@codesourcery.com>
3089 * jcf-write.c (write_classfile): Unlink the temporary file if it
3090 cannot be renamed. Use concat to build up the name of the
3093 2002-05-08 Mark Mitchell <mark@codesourcery.com>
3095 * jcf-write.c (write_classfile): Write the file to a
3096 temporary file and then rename it.
3098 2002-05-07 Tom Tromey <tromey@redhat.com>
3100 * gjavah.c (throwable_p): Use xstrdup, not strdup.
3102 Fix for PR java/1200:
3103 * gjavah.c (throwable_p): New function.
3104 (decode_signature_piece): Use it. A `WeakReference' isn't the
3107 (gcjh_streq): New function.
3109 2002-05-07 Andreas Jaeger <aj@suse.de>
3111 * parse.y (finish_for_loop): Fix if statement.
3113 2002-05-06 Tom Tromey <tromey@redhat.com>
3115 Fix for PR java/5941:
3116 * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
3117 loop update expression.
3118 (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
3119 * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
3121 2002-05-04 Mark Wielaard <mark@klomp.org>
3124 * parse.y (build_string_concatenation): Return just op1 only when op2
3125 is null and op1 is a STRING_CST, otherwise always construct a
3128 2002-04-27 Tom Tromey <tromey@redhat.com>
3131 * parse.y (string_convert_int_cst): New function.
3132 (merge_string_cste): Use it.
3134 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
3136 * java-tree.h (java_parse_file): Update.
3137 (java_set_yydebug): Remove.
3138 * jcf-parse.c (yydebug): Remove.
3139 (java_set_yydebug): Die.
3140 (java_parse_file): Update.
3141 * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
3143 2002-04-24 Tom Tromey <tromey@redhat.com>
3146 * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
3147 EXPR_WFL_QUALIFICATION of qual_wfl.
3149 2002-04-23 Per Bothner <per@bothner.com>
3151 * expr.c (PRE_JSR): Call NOTE_LABEL for return address.
3152 * java-tree.h (BCODE_RETURN_TARGET): Removed - never set.
3153 (BCODE_TARGET): Remove BCODE_RETURN_TARGET.
3155 2002-04-23 Tom Tromey <tromey@redhat.com>
3158 * jvspec.c (lang_specific_driver): Use --resource, not -R. Also
3159 recognize `-fcompile-resource='.
3160 * gcj.texi (Invoking gcj): Use --resource, not -R. Expanded text
3163 2002-04-22 Alexandre Petit-Bianco <apbianco@redhat.com>
3165 * jcf-parse.c: (yyparse): Don't prepend "./" to relative
3166 paths. Fixes PR java/2791.
3168 2002-04-19 Andrew Haley <aph@redhat.com>
3170 * jcf-write.c (push_long_const): lo, hi: New variables.
3171 Use rshift_double to extract the high part of a 64-bit long.
3172 Use WORD_TO_INT to extract the low part.
3174 * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
3175 HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
3176 CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
3178 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
3180 * typeck.c (incomplete_type_error): Remove.
3182 2002-04-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3184 * class.c (make_class_data): Set DECL_ALIGN on static class data,
3185 for hash synchronization.
3186 * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
3187 * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
3190 2002-04-16 Mark Wielaard <mark@klomp.org>
3192 * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
3195 2002-04-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3197 Fix for PR java/6294:
3198 * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
3201 2002-04-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3203 Fix for PR java/6085:
3204 * parse.y (patch_method_invocation): Always use build_access_to_thisn
3205 to get enclosing "this" argument for inner-class constructor
3206 invocation. Pass correct arguments to build_access_to_thisn.
3208 2002-04-10 Andreas Jaeger <aj@suse.de>
3210 * gcj.texi (Input Options): Fix extdirs patch.
3212 2002-04-10 Anthony Green <green@redhat.com>
3214 * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
3216 2002-04-09 Anthony Green <green@redhat.com>
3218 * gcj.texi (Input Options): Add --extdirs documentation.
3219 * jcf-dump.c (OPT_extdirs): New macro.
3220 (options): Add extdirs option.
3221 (help): Describe --extdirs.
3222 (main): Handle OPT_extdirs.
3223 * gjavah.c (OPT_extdirs): New macro.
3224 (options): Add extdirs option.
3225 (help): Describe --extdirs.
3226 (main): Handle OPT_extdirs.
3227 * jcf-path.c (jcf_path_init): Add extdirs support.
3228 (jcf_path_extdirs_arg): New function.
3229 (extensions): New variable to hold extensions path entries.
3230 * jvspec.c: Remove -fextdirs= when compiling main().
3231 * lang.c (java_decode_option): Handle -fextdirs=.
3232 * jcf.h (jcf_path_extdirs_arg): Declare new function.
3233 * Make-lang.in: Compile jcf-path with version info for use in
3234 identifying the appropriate libgcj.jar.
3236 2002-04-08 Tom Tromey <tromey@redhat.com>
3239 * .cvsignore: Added rmic.1 and rmiregistry.1.
3240 * gcj.texi (Top): Link to new nodes.
3241 (Invoking rmic): New node.
3242 (Invoking rmiregistry): Likewise.
3243 * Make-lang.in (java.generated-manpages): Added rmic.1 and
3245 (java.maintainer-clean): Likewise.
3246 ($(srcdir)/java/rmic.1): New target.
3247 ($(srcdir)/java/rmiregistry.1): Likewise.
3248 (java.install-man): Handle rmic.1 and rmiregistry.1.
3250 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3252 * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
3253 Add note about handling uncaught exceptions. Add an exception handler
3256 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3258 * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
3259 after using it to patch CALL_EXPR.
3261 2002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3263 * gcj.texi (Invocation): Document CNI invocation API.
3265 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
3267 * expr.c (truthvalue_conversion): Rename. Update.
3268 (expand_compare): Update.
3269 * java-tree.h (java_truthvalue_conversion): New.
3270 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3272 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3274 * java-tree.h (java_mark_addressable): New.
3275 * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3276 * typeck.c (mark_addressable): Rename, update.
3278 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3280 * expr.c (build_java_binop): Update.
3281 * java-tree.h (java_signed_type, java_unsigned_type,
3282 java_signed_or_unsigned_type): Update.
3283 * lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3284 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3285 * parse.y (patch_binop): Update.
3286 * typeck.c (signed_or_unsigned_type, unsigned_type,
3287 signed_type): Update.
3289 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
3291 * lang.c (LANG_HOOKS_PRINT_ERROR_FUNCTION): Redefine.
3292 (java_dummy_print): Remove.
3293 (lang_print_error): Rename. Exit early if inhibiting output.
3294 (inhibit_error_printing_function): New.
3295 (java_init): Don't set hook.
3296 (lang_init_source): Use new boolean.
3298 2002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
3300 * parse.y (do_resolve_class): Fix infinite recursion.
3302 2002-03-29 Tom Tromey <tromey@redhat.com>
3304 * parse.y (check_inner_circular_reference): Ignore incomplete
3307 2002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
3309 * Make-lang.in (builtins.o): Update.
3310 * boehm.c (get_boehm_type_descriptor): Update.
3311 * builtins.c: Include langhooks.h.
3312 * decl.c (java_init_decl_processing): Update.
3313 * java-tree.h (java_type_for_mode, java_type_for_size): New.
3314 * lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
3316 * typeck.c (type_for_mode, type_for_size): Update.
3318 2002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
3320 * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
3322 2002-03-28 Tom Tromey <tromey@redhat.com>
3324 * except.c (expand_end_java_handler): If the handler type is NULL,
3325 use java.lang.Throwable. Fixes PR java/5986.
3327 2002-03-28 Alexandre Petit-Bianco <apbianco@redhat.com>
3329 Fix for PR java/4715:
3330 * jcf-parse.c (parse_source_file_3): New function.
3331 (read_class): Call it.
3332 (java_parse_file): Likewise.
3334 2002-03-28 Jan Hubicka <jh@suse.cz>
3336 * java/lang.c (java_init_options): Set flag_trapping_math to 0.
3338 2002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3340 * parse.y (resolve_package): Initialize "decl".
3341 (lookup_package_type): Remove unused function.
3343 2002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3345 Fix for PR java/5993:
3346 * parse.y (resolve_package): Return the decl if resolution was
3347 successful. Don't special case "java.lang" and "java.lang.reflect"
3348 packages. Set type_name to the merged identifier.
3349 (resolved_qualified_expression_name): Print error using "name" if
3350 resolve_package returns NULL_TREE.
3352 2002-03-27 Tom Tromey <tromey@redhat.com>
3354 * expr.c (expand_invoke): Don't generate null pointer check if
3355 we're calling <init>.
3357 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
3359 * expr.c (java_lang_expand_expr): Rename java_expand_expr,
3361 * java-tree.h (java_lang_expand_expr): Similarly.
3362 * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3363 (java_init): Don't set hook.
3365 2002-03-27 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3367 Fix for PR java/5850:
3368 * parse.y (lookup_field_wrapper): Call itself recursively for enclosing
3369 context if field was not found in the current scope.
3370 * expr.c (lookup_field): Don't look in enclosing contexts.
3372 2002-03-26 Tom Tromey <tromey@redhat.com>
3374 Fix for PR java/5942:
3375 * parse.y (init_src_parse): Added sanity check.
3376 * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
3379 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
3381 * decl.c (lang_mark_tree): Rename java_mark_tree.
3382 * java-tree.h (java_mark_tree): New.
3383 * java-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
3385 2002-03-25 Zack Weinberg <zack@codesourcery.com>
3387 * lex.c: Change java_perform_atof to take normal parameters
3388 instead of a pointer to a parameter block. Call it directly
3391 2002-03-22 Mark Wielaard <mark@klomp.org>
3393 Fix for PR java/5368:
3394 * parse.y (resolve_qualified_expression_name): Use decl not field_decl
3395 when printing error message.
3397 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
3399 * decl.c (maybe_build_cleanup): Remove.
3401 2002-03-22 Tom Tromey <tromey@redhat.com>
3403 Andrew Haley <aph@cambridge.redhat.com>
3405 * expr.c (build_field_ref): Don't build a check if the field is a
3408 2002-03-21 Eric Blake <ebb9@email.byu.edu>
3410 Fix for PR java/6026:
3411 * lex.c (java_lex): Fix parsing of consecutive floats.
3413 2002-03-21 Tom Tromey <tromey@redhat.com>
3415 * parse.y (build_access_to_thisn): Stop when FROM is not an inner
3418 2002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
3420 * cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
3421 insert_block, getdecls, kept_level_p, global_bindings_p): New.
3423 2002-03-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
3425 * gcj.texi: @code{gcj} becomes @command{gcj}.
3426 @code{gcc} becomes @command{gcc}.
3427 GcjRaw changed to gnu.gcc.RawData.
3429 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
3431 * decl.c (start_java_method): Use new hook.
3432 * lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
3433 (java_init): Remove old hook.
3435 2002-03-18 Alexandre Petit-Bianco <apbianco@redhat.com>
3437 * builtins.c (define_builtin): Do nothing if `type' is null.
3440 2002-03-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3442 * parse.y (parser_check_super_interface): Fix error message
3445 2002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3447 * jcf-parse.c (get_constant): Delete unused variables.
3449 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
3451 * java-tree.h (java_parse_file): New.
3452 * jcf-parse.c (yyparse): Rename java_parse_file.
3453 * lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
3455 2002-03-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3457 * parse.y (craft_constructor): Return the constructor decl.
3458 (java_expand_classes): Update comments.
3459 (lookup_method_invoke): Call fix_constructors immediately for
3460 anonymous class. Fixes PR java/5935.
3462 2002-03-15 Anthony Green <green@redhat.com>
3464 * jcf-parse.c (yyparse): Don't emit class registration
3465 constructor when compiling resource files.
3467 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3469 * lang.c (java_tree_code_type, java_tree_code_length,
3470 tree_code_name): Delete.
3471 (tree_code_type, tree_code_length, tree_code_name): Define.
3472 (java_init): Don't try to copy into the various tree_code
3475 2002-03-12 Tom Tromey <tromey@redhat.com>
3477 * jcf-parse.c (get_constant) [CONSTANT_String]: String values are
3478 UTF-8, not UCS-2. Fixes PR java/5923.
3480 * parse.y (qualify_ambiguous_name): Handle case where QUAL_WFL is
3481 a call_expr wrapped in a convert. Fixes PR java/5848.