OSDN Git Service

b111dad3ce7192aa52a042b350d941810a08e02a
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
1 2004-07-13  Per Bothner  <per@bothner.com>
2
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.
9
10 2004-07-12  Bryce McKinlay  <mckinlay@redhat.com>
11
12         PR java/16474
13         gjavah.c (print_field_info): Emit constant only if field is static.
14
15 2004-07-11  Roger Sayle  <roger@eyesopen.com>
16
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.
34
35 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
36
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.
43         (set_block): Remove.
44
45 2004-07-10  Bryce McKinlay  <mckinlay@redhat.com>
46
47         * class.c (common_enclosing_context_p): Remove statement with no
48         side-effects.
49
50 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
51
52         PR java/8618
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
65         class decl.
66         (build_incomplete_class_ref): Update for new create_anonymous_class
67         signature.
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.
79
80 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
81
82         * class.c (interface_of_p): Check for null TYPE_BINFO.
83
84 2004-07-09  Nathan Sidwell  <nathan@codesourcery.com>
85
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.
89
90 2004-07-08  Richard Henderson  <rth@redhat.com>
91
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.
96
97 2004-07-07  Per Bothner  <per@bothner.com>
98
99         * class.c (build_static_field_ref):  Add a NOP_EXPR; otherwise we
100         get internal error due to mismatched types.
101
102         * gcj.texi (Invoking gij):  Document new -verbose:class flag.
103
104         * gcj.texi (Linking):   New node.  Document -lgij usage.
105
106 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
107
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.
124
125 2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
126
127         * java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
128         * class.c (add_interface_do): Use BINFO_VIRTUAL_P.
129
130 2004-07-05  Nathan Sidwell  <nathan@codesourcery.com>
131
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.
135
136 2004-07-04  Ranjit Mathew  <rmathew@hotmail.com>
137
138         * verify.c: Correct array element access formatting thinko.
139
140 2004-07-04  Ranjit Mathew  <rmathew@hotmail.com>
141
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
145         NULL_TREE.
146         Minor formatting fixes all over the place.
147
148 2004-07-02  Richard Henderson  <rth@redhat.com>
149
150         * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
151
152 2004-07-01  Richard Henderson  <rth@redhat.com>
153
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.
167
168 2004-06-29  Bryce McKinlay  <mckinlay@redhat.com>
169
170         PR java/1262
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.
179         Callers updated.
180
181 2004-06-29  Andrew Haley  <aph@redhat.com>
182
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.
198
199 2004-06-28  Bryce McKinlay  <mckinlay@redhat.com>
200
201         * jcf-write.c (get_classfile_modifiers): Formatting fixes.
202
203 2004-06-27  Ranjit Mathew  <rmathew@hotmail.com>
204
205         Formatting fixes.
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
213         line. Fix typos.
214         * verify.c (verify_jvm_instructions): Document parameters, insert
215         page break.
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
223         indentation.
224         (find_method_in_interfaces): Likewise.
225         * zextract.c (makelong): Fix method name indentation.
226
227 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
228
229         PR java/15715.
230         * parse.y (create_interface): Set correct access modifiers for
231         interfaces.
232         * jcf-write.c (get_classfile_modifiers): New function.
233         (generate_classfile): Use get_classfile_modifiers, not 
234         get_access_flags.
235
236 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
237
238         * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
239         dependency to current parser context, not NULL_TREE, for top-level
240         classes.
241         (jdep_resolve_class): Enable member access check for all inner
242         class dependencies.
243
244 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
245
246         * parse.y (qualify_and_find): Pass type decl, not identifier, to 
247         load_class.
248
249 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
250
251         PR java/15734
252         * expr.c (expand_java_field_op): Ensure that target class for static
253         field access has been loaded.
254
255 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
256             Ranjit Mathew  <rmathew@hotmail.com>
257
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.
266
267 2004-06-24  Bryce McKinlay  <mckinlay@redhat.com>
268
269         * parse.y (java_layout_seen_class_methods): Don't call load_class
270         on class defined by source parser.
271
272 2004-06-23  Bryce McKinlay  <mckinlay@redhat.com>
273
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.
277
278 2004-06-22  Andrew Haley  <aph@redhat.com>
279             Ranjit Mathew  <rmathew@hotmail.com>
280         
281         Fixes PR java/16113.
282         * decl.c (force_poplevels): Remove call to expand_end_bindings.
283
284 2004-06-22  Ranjit Mathew  <rmathew@hotmail.com>
285
286         * parse.y (create_class): Correct diagnostic message about
287         java.lang.Object extending anything else.
288
289 2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
290
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.
301         
302 2004-06-21  Andrew Haley  <aph@redhat.com>
303
304         * java-gimplify.c (java_gimplify_block): set TREE_USED on the new
305         block.
306
307 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
308
309         * jcf.h (struct JCF): Change java_source, right_zip and finished
310         to unsigned int.
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.
314
315 2004-06-17  Ranjit Mathew  <rmathew@hotmail.com>
316
317         Fixes PR java/13948
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.
325
326 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
327
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.
332         
333 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
334
335         PR java/15769
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.
340
341 2004-06-03 Mark G. Adams  <mark.g.adams@sympatico.ca>
342
343         * gjavah.c: Include version.h
344
345 2004-05-31  Bryce McKinlay  <mckinlay@redhat.com>
346
347         * jcf-write.c (generate_bytecode_conditional): Correct handling
348         of unordered conditionals. Add comment.
349
350 2004-05-29  Ranjit Mathew  <rmathew@hotmail.com>
351             Per Bothner  <per@bothner.com>
352
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
359         reassigned.
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.
364
365 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
366
367         * jcf-write.c (generate_bytecode_conditional): Handle binops 
368         UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, 
369         and LTGT_EXPR.
370         (generate_bytecode_insns): Likewise.
371
372 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
373
374         * check-init.c (check_init): Handle binops UNLT_EXPR, UNLE_EXPR,
375         UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, and LTGT_EXPR.
376
377 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
378
379         * gcj.texi (Object allocation): Remove _Jv_AllocBytes.
380         (Mixing with C++): Document JvAllocBytes and RawDataManaged.
381
382 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
383
384         * decl.c (struct binding_level): Add GTY marker. Compile
385         binding_depth unconditionally.
386         (current_binding_level, free_binding_level, global_binding_level):
387         Likewise.
388         (clear_binding_level): Unconditionally set binding_depth.
389         (make_binding_level): Use ggc_alloc_cleared, not xmalloc.
390
391 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
392
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'.
396
397 2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
398
399         * Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
400
401 2004-05-21  Mark Wielaard  <mark@klomp.org>
402
403         * gjavah.c (print_stub_or_jni): Mark functions only JNIEXPORT, not
404         extern.
405
406 2004-05-19  Paolo Bonzini  <bonzini@gnu.org>
407
408         * typeck.c: Remove non-printable character 160.
409
410 2004-05-17  Ranjit Mathew  <rmathew@hotmail.com>
411
412         * check-init.c: Correct minor typos.
413
414 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
415
416         * Make-lang.in, expr.c, java-gimplify.c: Rename
417         tree-simple.[ch] to tree-gimple.[ch].
418
419 2004-05-14  Ranjit Mathew  <rmathew@hotmail.com>
420
421         * java-gimplify.c (java_gimplify_expr): Correct minor typos.
422
423 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
424
425         Merge from tree-ssa-20020619-branch.  See
426         ChangeLog.tree-ssa for details.
427
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.
433
434 2004-05-10  Andrew Haley  <aph@redhat.com>
435
436         * parse.y (create_class): Set TYPE_VFIELD.
437         * decl.c (java_init_decl_processing): Likewise.
438
439         * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
440         * class.c (make_method_value): Replace DECL_VINDEX with call to
441         get_method_index().
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.
449
450 2004-05-10  Andrew Pinski  <pinskia@physics.uc.edu>
451
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.
463
464 2004-05-06  Ranjit Mathew  <rmathew@hotmail.com>
465
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
472         qualified names.
473         Fix comment typo.
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().
480
481 2004-04-30  Ranjit Mathew  <rmathew@hotmail.com>
482
483         Fixes PR java/15133
484         * gjavah.c (struct method_name): Add member is_native.
485         (overloaded_jni_method_exists_p): Match candidate method only if
486         it is native.
487         (print_method_info): Initialise is_native flag from the method's
488         access flags.
489
490 2004-04-30  Roger Sayle  <roger@eyesopen.com>
491
492         * builtins.c (java_builtins): Add acos, asin, ceil and floor.
493         (initialize_builtins): Likewise, define acos, asin, ceil and floor.
494
495 2004-04-22  Roger Sayle  <roger@eyesopen.com>
496
497         * resource.c (write_resource_constructor): Guard call to possibly
498         NULL targetm.asm_out.constructor with targetm.have_ctors_dtors.
499
500 2004-04-19  Bryce McKinlay  <mckinlay@redhat.com>
501
502         * class.c (make_class_data): Add new field aux_info.
503         * decl.c (java_init_decl_processing): Push type and decl for 
504         `aux_info'.
505
506 2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>
507
508         * expr.c (expand_java_NEW): Don't use size argument for 
509         _Jv_AllocObject calls.
510         * parse.y (patch_invoke): Likewise.
511
512 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
513
514         * expr.c (build_invokeinterface): Remove unused variables to
515         fix warnings.
516
517 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
518
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.
524
525 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
526
527         * jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
528
529 2004-03-31  Andrew Haley  <aph@redhat.com>
530
531         PR java/14104
532         * jcf-io.c (opendir_in_zip): Tidy up error handling.
533
534 2004-03-30  Zack Weinberg  <zack@codesourcery.com>
535
536         * builtins.c, expr.c, jcf.h, parse.h: Use new shorter
537         form of GTY markers.
538
539 2004-03-25  Marcus Meissner  <meissner@suse.de>
540
541         PR java/14689:
542         * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
543
544 2004-03-23  Tom Tromey  <tromey@redhat.com>
545
546         PR java/14315:
547         * jcf-write.c (make_class_file_name): Don't report if mkdir
548         failed with EEXIST.
549
550 2004-03-23  Tom Tromey  <tromey@redhat.com>
551
552         * gcj.texi (Extensions): Document GCJ_PROPERTIES.
553
554 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
555
556         * class.c, gjavah.c, lang.c: Fix comment typos.
557         * gcj.texi: Fix typos.
558
559 2004-03-19  Per Bothner  <per@bothner.com>
560
561         * gcj.texi (Code Generation):  Document new flags and assert defaults.
562
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.
580
581 2004-03-18  Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
582
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.
588
589 2004-03-16  Per Bothner  <per@bothner.com>
590
591         * jcf-jump.c (options):  New --print-constants option.
592         * gcj.texi (Invoking jcf-dump):  Document --print-constants.
593
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.
599
600 2004-03-15  Andrew Haley  <aph@redhat.com>
601
602         PR java/14581
603         * parse.y (java_complete_lhs): Check that final variable has an
604         initializer.
605
606 2004-03-12  Andrew Haley  <aph@redhat.com>
607
608         PR java/14551
609         * typeck.c (convert): Clear TREE_OVERFLOW after an integer
610         conversion.
611
612 2004-02-29  Roger Sayle  <roger@eyesopen.com>
613
614         * jcf-parse.c (java_parse_file): Handle the case that input_filename
615         is NULL.
616
617 2004-02-27  Per Bothner  <per@bothner.com>
618
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.
622
623 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
624
625         * java/parse.h: Update copyright.
626
627 2004-02-26  Andrew Haley  <aph@redhat.com>
628
629         PR java/14231:
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.
634
635 2004-02-25  Per Bothner  <per@bothner.com>
636
637         * parse.y (build_assertion):  If we're in an inner class, create the
638         class$ helper routine in the outer class.
639
640 2004-02-19  Richard Henderson  <rth@redhat.com>
641
642         * parse.y (switch_label): Use make_node for DEFAULT_EXPR.
643
644 2004-02-16  Geoffrey Keating  <geoffk@apple.com>
645
646         * Make-lang.in (java.install-man): Add extra dependencies.
647
648 2004-02-13  Geoffrey Keating  <geoffk@apple.com>
649
650         * Make-lang.in: Install man pages under the same names
651         (possibly transformed) as the program they document.
652
653 2004-02-10  Joseph S. Myers  <jsm@polyomino.org.uk>
654
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
660         fprintf.
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
671         messages.
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.
682
683 2004-02-08  Per Bothner  <per@bothner.com>
684
685         * parse.y (resolve_qualified_expression_name):  In case of inaccessible
686         class don't use not_accessible_field_error, which can get confused.
687
688 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
689
690         Make-lang.in (po-generated):  Delete.
691
692 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
693
694         * Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
695         Depend on target.h.
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.
705
706 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
707
708         * typeck.c: Update copyright.
709
710 2004-02-02  Tom Tromey  <tromey@redhat.com>
711
712         * decl.c (java_init_decl_processing): Remove duplicate
713         gnu/gcj/RawData.
714
715 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
716
717         * Make-lang.in (doc/gcj.dvi): Use $(abs_docdir).
718
719 2004-01-28  Andrew Pinski  <pinskia@physics.uc.edu>
720
721         * expr.c (build_field_ref): Move variable
722         definition up.
723
724 2004-01-28  Andrew Haley  <aph@redhat.com>
725
726         * expr.c (build_field_ref): Widen field offset.
727
728 2004-01-27  Andrew Haley  <aph@redhat.com>
729
730         java/13273
731         * parse.y (check_interface_throws_clauses): Make sure class_decl
732         has been loaded.
733
734 2004-01-22  Jeff Sturm  <jsturm@one-point.com>
735
736         PR java/13733
737         * parse.y (patch_assignment): Don't modify lhs_type for
738         reference assignments.
739
740 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
741
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.
745
746 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
747
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.
751
752 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
753
754         * typeck.c (find_method_in_interfaces): Move variable
755         definition up.
756
757 2004-01-16  Andrew Haley  <aph@redhat.com>
758
759         PR java/13273:
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.
765
766         * jcf-parse.c (read_class): Save and restore output_class.
767         * decl.c (java_expand_body): Set output_class from fndecl.
768
769 2004-01-15  Michael Chastain  <mec.gnu@mindspring.com>
770
771         * class.c (gen_indirect_dispatch_tables): Fix string length
772         calculations.
773
774 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
775
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).
780         Use implicit rule.
781
782 2004-01-14  Jan Hubicka  <jh@suse.cz>
783
784         * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
785         estimation.
786
787 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
788
789         * java-tree.h (java_expand_expr): Change prototype.
790         * expr.c (java_expand_expr): Add alt_rtl parameter.
791
792 2004-01-09  Andrew Haley  <aph@redhat.com>
793
794         PR java/12755:
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.
805         * jcf-parse.c
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.
815         (DECL_OWNER): New.
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
827         expand_start_catch.
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.
833         (do_nothing): New.
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
839         current_class.
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
848         dispatch.
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
852         rather than global.
853
854 2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
855
856         * parse.y (catch_clause_parameter): Fix typo.
857
858         PR java/13404
859         * parse.y: (catch_clause_parameter): Return early if $3, aka
860         formal_parameter, is null.
861
862 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
863
864         * class.c: Remove uses of "register" specifier in
865         declarations of arguments and local variables.
866         * decl.c: Likewise.
867         * expr.c: Likewise.
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.
874         * parse.y: Likewise.
875         * typeck.c: Likewise.
876         * verify.c: Likewise.
877
878 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
879
880         * Make-lang.in (GCJ_CROSS_NAME): Delete.
881         (java.install_common, java.install-man): Adjust for above.
882         (java.uninstall): Likewise.
883
884 2003-12-03  Michael Koch  <konqueror@gmx.de>
885
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'.
890
891 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
892
893         * lex.h: Check both HAVE_ICONV and HAVE_ICONV_H before
894         including iconv.h.
895
896 2003-12-03  Ralph Loader  <rcl@ihug.co.nz>
897
898         PR java/12374:
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
904         used.
905
906 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
907
908         Fix PR java/13237
909         * parse.y (java_complete_lhs): Save location prior to patching
910         CALL_EXPR.
911
912 2003-11-25  Mohan Embar  <gnustuff@thisiscool.com>
913
914         PR java/12548
915         * resource.c (write_resource_constructor): Append
916         "_resource" to constructor identifier name.
917
918 2003-11-25  Jeff Sturm  <jsturm@one-point.com>
919
920         Fix PR java/13183.
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.
934
935 2003-11-24  Mohan Embar  <gnustuff@thisiscool.com>
936
937         * Make-lang.in: (java.install-common) Add
938         symlink for $(target_noncanonical)-gcjh for
939         native builds.
940
941 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
942
943         * Make-lang.in (java.extraclean): Delete.
944
945 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
946
947         * Make-lang.in (check-java): Add.
948
949 2003-11-19  Jeff Sturm  <jsturm@one-point.com>
950
951         Fix PR java/13024.
952         * except.c (prepare_eh_table_type): Allocate variable-sized
953         buffer `buf' with alloca.
954
955 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
956
957         Fix PR java/12857.
958
959         decl.c (java_init_decl_processing): Don't initialize
960         class_not_found_type_node, no_class_def_found_type_node.
961
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):
965         Don't define.
966
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
972         incomplete types.
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.
980
981 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
982
983         Fix PR java/12739.
984         * java-tree.h (BLOCK_EMPTY_P): Define.
985         * parse.y (java_complete_lhs): Check for empty blocks
986         in TRY_FINALLY_EXPR case.
987
988 2003-11-17  Andrew Haley  <aph@redhat.com>
989
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
994         scope.
995
996 2003-11-16  Jason Merrill  <jason@redhat.com>
997
998         * Make-lang.in (java.tags): Create TAGS.sub files in each directory
999         and TAGS files that include them for each front end.
1000
1001 2003-11-15  Tom Tromey  <tromey@redhat.com>
1002
1003         * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
1004
1005 2003-11-12  Jason Merrill  <jason@redhat.com>
1006
1007         PR optimization/12547
1008         * lang.c (java_tree_inlining_walk_subtrees): Just walk
1009         BLOCK_EXPR_BODY directly.
1010
1011 2003-11-12  Andrew Haley  <aph@redhat.com>
1012
1013         PR java/11045
1014         * parse.y (fold_constant_for_init): Check that we really do have a
1015         constant.
1016
1017         PR java/11533
1018         * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
1019         init_test_decls being inlined.
1020
1021         PR java/12890:
1022         * parse.y (do_resolve_class): Check return value from
1023         breakdown_qualified().
1024
1025 2003-11-11  Tom Tromey  <tromey@redhat.com>
1026
1027         PR java/12915:
1028         * parse.y (merge_string_cste): Handle case where we have a
1029         pointer that happens to be zero, not null_pointer_node.
1030
1031 2003-11-10  Tom Tromey  <tromey@redhat.com>
1032
1033         * jcf-parse.c (classify_zip_file): Correctly compare
1034         filename_length against length of manifest file's name.
1035
1036 2003-11-08  Tom Tromey  <tromey@redhat.com>
1037
1038         PR java/12894:
1039         * jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.
1040
1041 2003-11-06  Andrew Haley  <aph@redhat.com>
1042
1043         * expr.c (java_stack_swap): Make sure destination stack slots are
1044         of the correct type.
1045
1046 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
1047
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.
1059         (gcj.1): Delete.
1060         (gcjh.1): Delete.
1061         (jv-scan.1): Delete.
1062         (jcf-dump.1): Delete.
1063         (gij.1): Delete.
1064         (jv-convert.1): Delete.
1065         (rmic.1): Delete.
1066         (rmiregistry.1): Delete.
1067
1068 2003-11-02  Jeff Sturm  <jsturm@one-point.com>
1069
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.
1074
1075 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
1076
1077         * .cvsignore: Delete.
1078
1079 2003-10-28  Frank Ch. Eigler  <fche@redhat.com>
1080
1081         * verify.c (verify_jvm_instructions): Don't warn about legal
1082         eh binding regions generated for example by jdk 1.4.1.
1083
1084 2003-10-24  David S. Miller  <davem@redhat.com>
1085
1086         * jcf-parse.c (jcf_parse): Fix args to fatal_error().
1087
1088 2003-10-22  Andrew Haley  <aph@redhat.com>
1089
1090         * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
1091         (java_get_callee_fndecl): New.
1092
1093         * jcf-parse.c (java_parse_file): Call emit_catch_table().
1094
1095         * java-tree.h (ctable_decl): New.
1096         (catch_classes):  New.
1097         (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
1098
1099         * decl.c (java_init_decl_processing): Add catch_class_type.
1100         Add ctable_decl.
1101         Add catch_classes field.
1102
1103         * class.c (build_indirect_class_ref): Break out from
1104         build_class_ref.
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.
1110
1111         * java-tree.h (PUSH_FIELD_VALUE): Tidy.
1112
1113 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1114
1115         * jcf-write.c: Follow spelling conventions.
1116         * parse.y: Likewise.
1117
1118 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1119
1120         * ChangeLog: Fix typos.
1121         * expr.c: Fix comment typos.
1122         * jcf-write.c: Likewise.
1123         * lang.c: Likewise.
1124         * lex.c: Likewise.
1125         * mangle.c: Likewise.
1126         * parse-scan.y: Likewise.
1127         * parse.y: Likewise.
1128
1129 2003-10-22  Tom Tromey  <tromey@redhat.com>
1130
1131         * expr.c (expand_byte_code): Only warn about dead bytecode when
1132         extra_warnings is set.
1133
1134 2003-10-22  Bryce McKinlay  <bryce@mckinlay.net.nz>
1135
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
1139         entries.
1140
1141 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1142
1143         * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
1144         (generate-manpages): Likewise.
1145         (java.maintainer-clean): Likewise.
1146         (gcj.info): Likewise.
1147         (gcj.1): Likewise.
1148         (gcjh.1): Likewise.
1149         (jv-scan.1): Likewise.
1150         (jcf-dump.1): Likewise.
1151         (gij.1): Likewise.
1152         (jv-convert.1): Likewise.
1153         (rmic.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.
1159
1160 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
1161
1162         * Make-lang.in (info): Update dependencies.
1163         (java.install-info): Remove.
1164         ($(srcdir)/java/gcj.info): Replace with ...
1165         ($(docobjdir)/gcj.info): ... this.
1166
1167 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
1168
1169         * Make-lang.in: Replace uses of $(target_alias) with
1170         $(target_noncanonical).
1171
1172 2003-10-09  Tom Tromey  <tromey@redhat.com>
1173
1174         * decl.c (java_init_decl_processing): Declare signers field.
1175         * class.c (make_class_data): Set signers field.
1176
1177 2003-10-09  Jason Merrill  <jason@redhat.com>
1178
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
1181         POINTER_TYPE.
1182
1183 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
1184
1185         * Make-lang.in (java.info): Replace with ...
1186         (info): ... this.
1187         (java.dvi): Replace with ...
1188         (dvi): ... this.
1189         (java.generated-manpages): Replace with ...
1190
1191 2003-10-03  Kelley Cook  <kelleycook@wideopenwest.com>
1192
1193         * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
1194
1195 2003-10-01  Andrew Haley  <aph@redhat.com>
1196
1197         * jcf-parse.c (java_parse_file): Write otable and atable.
1198         * java-tree.h (atable_methods): New.
1199         (atable_decl): 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.
1207         (atable_type): 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.
1220
1221 2003-09-30  Roger Sayle  <roger@eyesopen.com>
1222
1223         * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
1224         semantics for SAVE_EXPR, by caching the result in a temporary.
1225
1226 2003-09-28  Richard Henderson  <rth@redhat.com>
1227
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.
1235
1236 2003-09-28  Roger Sayle  <roger@eyesopen.com>
1237
1238         * expr.c (java_check_reference): Use the semantics of COND_EXPRs
1239         with void-type branches instead of using a COMPOUND_EXPR.
1240
1241 2003-09-28  Jeff Sturm  <jsturm@one-point.com>
1242
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.
1248
1249 2003-09-27  Roger Sayle  <roger@eyesopen.com>
1250
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.
1256
1257 2003-09-27  Alexandre Petit-Bianco  <apbianco@redhat.com>
1258             Bryce McKinlay  <bryce@mckinlay.net.nz>
1259
1260         PR java/1333:
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.
1266
1267 2003-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1268
1269         * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
1270
1271 2003-09-23  Roger Sayle  <roger@eyesopen.com>
1272
1273         * jcf-write.c (generate_bytecode_insns): Optimize binary operations
1274         with equal operands without side-effects.
1275
1276 2003-09-22  Jeff Sturm  <jsturm@one-point.com>
1277
1278         * decl.c (java_init_decl_processing): Don't emit otable decls
1279         if flag_indirect_dispatch is not set.
1280
1281 2003-09-21  Richard Henderson  <rth@redhat.com>
1282
1283         * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
1284         resource.c: Revert.
1285
1286 2003-09-21  Richard Henderson  <rth@redhat.com>
1287
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.
1290
1291 2003-09-20  Richard Henderson  <rth@redhat.com>
1292
1293         * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
1294
1295 2003-09-18  Roger Sayle  <roger@eyesopen.com>
1296
1297         * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
1298         * check-init.c (check_init): Likewise.
1299
1300 2003-09-18  Roger Sayle  <roger@eyesopen.com>
1301
1302         * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
1303
1304 2003-09-16  Andrew Haley  <aph@redhat.com>
1305
1306         * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
1307
1308 2003-09-17  Ranjit Mathew  <rmathew@hotmail.com>
1309
1310         Fixes PR java/9577
1311         * mangle.c (find_compression_record_match): Skip
1312         over a "6JArray" (the array template mangled string)
1313         IDENTIFIER_NODE.
1314         (mangle_array_type): Correct minor typo.
1315         (atms): Move definition to the beginning.
1316
1317 2003-09-16  Bryce McKinlay  <bryce@mckinlay.net.nz>
1318
1319         * class.c (add_miranda_methods): Ensure super-interfaces are laid
1320         out. Fix for PR java/12254.
1321
1322 2003-09-11  Richard Henderson  <rth@redhat.com>
1323
1324         * parse.y (source_end_java_method): Update for new
1325         cgraph_finalize_function argument.
1326
1327 2003-09-09  Richard Henderson  <rth@redhat.com>
1328
1329         * parse.y (source_end_java_method): Update call to
1330         cgraph_finalize_function.
1331
1332 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
1333
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.
1360
1361 2003-09-03  Roger Sayle  <roger@eyesopen.com>
1362
1363         * builtins.c (enum builtin_type): Delete unused enumeration.
1364         * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
1365
1366 2003-08-28  Tom Tromey  <tromey@redhat.com>
1367
1368         * gcj.texi (Extensions): Document gcjlib URLs.
1369
1370 2003-08-20  Tom Tromey  <tromey@redhat.com>
1371
1372         * gcj.texi (Extensions): Added xref.
1373         (libgcj Runtime Properties): Document
1374         gnu.gcj.runtime.VMClassLoader.library_control.
1375
1376 2003-08-20  Andrew Haley  <aph@redhat.com>
1377
1378         * except.c (prepare_eh_table_type): Use new encoding for exception
1379         handlers when using -fno-assume-compiled.
1380
1381 2003-08-13  Tom Tromey  <tromey@redhat.com>
1382
1383         * gcj.texi (Invoking gij): Document -X and -?.
1384
1385 2003-08-13  Mohan Embar  <gnustuff@thisiscool.com>
1386
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
1390         on jcf.h
1391
1392 2003-08-11  Tom Tromey  <tromey@redhat.com>
1393
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
1402         do.  Reimplemented.
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.
1418
1419 2003-08-05  Tom Tromey  <tromey@redhat.com>
1420
1421         Fix for PR java/11600:
1422         * parse.y (java_complete_lhs): See whether we're calling a method
1423         on an array.
1424         (check_thrown_exceptions): Added `is_array_call' argument;
1425         fixed `clone' checking; updated all callers.
1426
1427 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
1428
1429         * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
1430
1431 2003-08-03  Tom Tromey  <tromey@redhat.com>
1432
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
1436         method.
1437         (add_method_1): Can't have a transient method.
1438
1439 2003-07-28  Andreas Jaeger  <aj@suse.de>
1440
1441         * jvspec.c: Convert to ISO C90 prototypes.
1442
1443 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
1444
1445         * decl.c (force_poplevels): Fix warning call.
1446
1447 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1448
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.
1458
1459 2003-07-24  Jason Merrill  <jason@redhat.com>
1460
1461         * java-tree.h: Move boolean_type_node et al to the back end.
1462
1463 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1464
1465         * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
1466         casts.
1467
1468 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
1469
1470         * lang.opt: Don't show -MD_ and -MDD_.
1471
1472 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
1473
1474         * lang-options.h: Remove.
1475         * lang.opt: Add help text.
1476
1477 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
1478
1479         * expr.c: Remove the last argument to expand_assignment().
1480
1481 2003-07-09  Jan Hubicka  <jh@suse.cz>
1482
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.
1489
1490 2003-07-08  Mark Wielaard  <mark@klomp.org>
1491
1492         * gcj.texi: CNI now expands to Compiled Native Interface.
1493
1494 2003-07-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1495
1496         * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
1497
1498 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
1499
1500         * expr.c (expand_byte_code): Adjist emit_line_note call.
1501
1502 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
1503
1504         * lang.c (java_handle_option): Don't handle filenames.
1505
1506 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
1507
1508         * jcf-path.c: Don't default-define PATH_SEPARATOR nor
1509         DIR_SEPARATOR.
1510         Use FILENAME_CMP.
1511         * jcf-write.c: Don't default-define DIR_SEPARATOR.
1512         * jcf.h: Delete COMPARE_FILENAMES definition.
1513
1514 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
1515
1516         * lang.c (java_init_options): Update prototype.
1517
1518 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
1519
1520         * decl.c (poplevel): Adjust define_label call.
1521
1522 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
1523
1524         * gjavah.c (flag_jni): Make non-static.
1525         * parse-scan.y (ctxp): Make non-static.
1526
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.
1531
1532 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
1533
1534         * lang.c (java_handle_option): Don't check for missing arguments.
1535
1536 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
1537
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.
1544
1545 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
1546
1547         * lang.c (java_handle_option): Likewise.
1548
1549 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
1550
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.
1554
1555 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
1556
1557         * lang.opt: Declare Java.
1558         * lang.c (java_init_options): Update.
1559
1560 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
1561
1562         * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
1563
1564 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
1565
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.
1569
1570 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
1571
1572         * class.c (emit_register_classes): Adjust init_function_start
1573         call.
1574         * decl.c (complete_start_java_method): Likewise.
1575         * resource.c (write_resource_constructor): Likewise.
1576
1577 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
1578
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.
1583
1584 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
1585
1586         * Make-lang.in: Handle mostlyclean.
1587
1588 2003-06-11  Tom Tromey  <tromey@redhat.com>
1589
1590         * lang.c (java_handle_option): Update dependency_tracking for
1591         OPT_MF case.
1592
1593         * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
1594         empty argument.
1595
1596 2003-06-10  Andrew Haley  <aph@redhat.com>
1597
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
1601
1602 2003-06-10  Andrew Haley  <aph@redhat.com>
1603
1604         * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1605         (java_decl_ok_for_sibcall): New.
1606
1607 2003-06-09  Neil Booth  <neil@daikokuya.co.uk>
1608
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.
1624         * lang.opt: New.
1625         * resource.c (compile_resource_data, compile_resource_file): Constify.
1626
1627 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
1628
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.
1636
1637 2003-06-08  Tom Tromey  <tromey@redhat.com>
1638
1639         * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
1640         fno-assume-compiled.
1641
1642 2003-06-08  Roger Sayle  <roger@eyesopen.com>
1643
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.
1651
1652 2003-06-08  Anthony Green  <green@redhat.com>
1653
1654         * parse.y (patch_cast): Fix conversions from floating-point to
1655         integral types.
1656
1657 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
1658
1659         * Make-lang.in: Update.
1660         * lang.c: Include opts.h. Define cl_options_count and cl_options.
1661
1662 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
1663
1664         * lang.c (java_init_options): Update.
1665
1666 2003-06-05  Jan Hubicka  <jh@suse.cz>
1667
1668         * Make-lang.in:  Add support for stageprofile and stagefeedback
1669
1670 2003-05-31  Roger Sayle  <roger@eyesopen.com>
1671
1672         * lang.c (java_init_options): Prescribe wrap-around two's
1673         complement arithmetic overflow by setting flag_wrapv.
1674
1675 2003-05-29  Roger Sayle  <roger@eyesopen.com>
1676
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,
1681         pow and tan.
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.
1692
1693 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1694
1695         * win32-host.c: Normalize copyright boilerplate.
1696
1697 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1698
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.
1702
1703 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
1704
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.
1708
1709 2003-05-13  Richard Henderson  <rth@redhat.com>
1710
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.
1716
1717 2003-05-04  Nathan Sidwell  <nathan@codesourcery.com>
1718
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.
1722
1723 2003-05-02  Tom Tromey  <tromey@redhat.com>
1724
1725         PR java/10491:
1726         * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
1727         (handle_inner_classes): New function.
1728
1729 2003-05-01  Tom Tromey  <tromey@redhat.com>
1730
1731         PR java/10459:
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.
1735
1736 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
1737
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.
1743
1744 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
1745
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.
1767
1768 2003-04-20  Mohan Embar  <gnustuff@thisiscool.com>
1769
1770         * jcf-io.c (find_class): use DIR_SEPARATOR instead of
1771         '/' when computing java source filename
1772
1773 2003-04-13  Tom Tromey  <tromey@redhat.com>
1774
1775         * gjavah.c (print_c_decl): Indentation fix.
1776
1777 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
1778
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.
1785
1786 2003-04-10  Eric Blake  <ebb9@email.byu.edu>
1787
1788         PR java/10253:
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.
1792
1793 2003-03-16  Mohan Embar  <gnustuff@thisiscool.com>
1794
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()
1803
1804 2003-04-10  Andrew Haley  <aph@redhat.com>
1805
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.
1812
1813 2003-03-30  Joseph S. Myers  <jsm@polyomino.org.uk>
1814
1815         * gcj.texi: Remove @ at start of file.
1816
1817 2003-03-25  Tom Tromey  <tromey@redhat.com>
1818
1819         * parse.y (create_interface): Call CHECK_DEPRECATED.
1820
1821 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
1822
1823         * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
1824
1825 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1826
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.
1833
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.
1839
1840         * jcf-dump.c: Include math.h.  Use ldexp/frexp to assemble
1841         finite floating point numbers for output; special case
1842         non-finite floats.
1843
1844 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1845
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.
1848
1849 2003-03-19  Tom Tromey  <tromey@redhat.com>
1850
1851         * lex.c (do_java_lex): Renamed from java_lex.
1852         (java_lex): New function.
1853         Include timevar.h.
1854
1855 2003-03-13  Tom Tromey  <tromey@redhat.com>
1856
1857         * parse.y (resolve_inner_class): Error if qualifier is a primitive
1858         type.
1859
1860 2003-03-04  Andrew Haley  <aph@redhat.com>
1861
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
1864         superclass.
1865         (process_file): Set is_first_data_member.
1866
1867 2003-03-11  Tom Tromey  <tromey@redhat.com>
1868
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.
1873
1874 2003-03-11  Andrew Haley  <aph@redhat.com>
1875
1876         * jcf-io.c (caching_stat): Initialize origsep to remove compiler
1877         warning.
1878
1879 2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>
1880
1881         * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
1882         and DIR_SEPARATOR_2 for a target.
1883         Correct minor typos.
1884
1885         * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
1886         and DIR_SEPARATOR_2 for a target into account.
1887
1888 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
1889
1890         * lang.c (java_init): Update prototype, move code to java_post_options.
1891         (java_post_options): Similarly.
1892
1893 2003-03-05  Ranjit Mathew  <rmathew@hotmail.com>
1894
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.
1898
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
1902         DIR_SEPARATOR.
1903         (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
1904         comparing directly against DIR_SEPARATOR.
1905
1906 2003-03-04  Tom Tromey  <tromey@redhat.com>
1907
1908         * Make-lang.in (java.tags): New target.
1909
1910 2003-03-01  Roger Sayle  <roger@eyesopen.com>
1911
1912         * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
1913         (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
1914
1915 2003-03-01  Tom Tromey  <tromey@redhat.com>
1916
1917         * parse.y (jdep_resolve_class): Only check deprecation if we found
1918         a decl.
1919
1920 2003-02-28  Tom Tromey  <tromey@redhat.com>
1921
1922         PR java/9695:
1923         * class.c (maybe_layout_super_class): Always pass a WFL to
1924         do_resolve_class.
1925         * parse.y (do_resolve_class): Updated comment to explain
1926         parameters.
1927
1928 2003-02-26  Tom Tromey  <tromey@redhat.com>
1929
1930         * jcf-write.c (generate_classfile): Check whether class is
1931         deprecated before writing attribute count.
1932
1933 2003-02-25  Roger Sayle  <roger@eyesopen.com>
1934
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.
1937
1938 2003-02-23  Tom Tromey  <tromey@redhat.com>
1939
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
1958         flag_deprecated.
1959         (patch_method_invocation): Also check the particular constructor
1960         for deprecation.
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
1964         appropriate.
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.
1970
1971 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
1972
1973         Change base class access representation.
1974         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
1975         (add_interface_do): Likewise.
1976
1977 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
1978
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.
1986
1987 2003-02-08  Roger Sayle  <roger@eyesopen.com>
1988
1989         * jcf-io.c (java_or_class_file): Use libiberty's lbasename
1990         instead of basename to avoid compiler warnings on Tru64.
1991
1992 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
1993
1994         * gcj.texi: Update to GFDL 1.2.
1995
1996 2003-01-31  Andrew Haley  <aph@redhat.com>
1997
1998         * parse.y (java_expand_classes): Scan the whole class list looking
1999         for access methods that haven't yet been expanded.
2000
2001 2003-01-31 Adrian Bunk <bunk@fs.tum.de>
2002
2003         Fix for java/4269:
2004
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.
2008
2009 2003-01-31  Mark Wielaard  <mark@klomp.org>
2010
2011         * gjavah.c (throwable_p): Allocate 1 more byte for string.
2012
2013 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
2014
2015         * class.c (make_class): Use BINFO_ELTS.
2016         (set_super_info): Likewse.
2017         (add_interface_do): Likewise.
2018
2019 2003-01-30  Tom Tromey  <tromey@redhat.com>
2020
2021         * jcf-parse.c (read_class): Update identifier's class value if it
2022         changed during parsing.
2023
2024 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
2025
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 .
2030
2031 2003-01-29  Tom Tromey  <tromey@redhat.com>
2032
2033         * parse.y (patch_assignment): Only transform the rhs of an
2034         assignment when compiling to native.
2035
2036 2003-01-28  Tom Tromey  <tromey@redhat.com>
2037
2038         * jcf-write.c (generate_bytecode_conditional): Typo fixes.
2039
2040 2003-01-28  Tom Tromey  <tromey@redhat.com>
2041
2042         * lex.c (java_lex): Don't include UEOF as part of token.
2043         (java_read_unicode): Error if \u sequence prematurely terminated.
2044
2045 2003-01-27  Tom Tromey  <tromey@redhat.com>
2046
2047         * parse.y (java_check_regular_methods): Check for construct after
2048         checking types in throws clause.
2049
2050 2003-01-24  Tom Tromey  <tromey@redhat.com>
2051
2052         * class.c (build_static_field_ref): Only a String or numeric field
2053         can fold to a constant.
2054
2055 2003-01-23  Tom Tromey  <tromey@redhat.com>
2056
2057         * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
2058         file name in resource buffer.
2059
2060 2003-01-23  Tom Tromey  <tromey@redhat.com>
2061
2062         * expr.c (build_known_method_ref): Use method's context to find
2063         method table index.
2064
2065 2003-01-23  Tom Tromey  <tromey@redhat.com>
2066
2067         * constants.c (set_constant_entry): Allocated cleared memory.
2068
2069 2003-01-22  Tom Tromey  <tromey@redhat.com>
2070
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
2074         warning.
2075
2076 2003-01-22 Nathanael Nerode  <neroden@gcc.gnu.org>
2077
2078         * jcf-parse.c (process_zip_dir): Remove unused variable.
2079
2080 2003-01-22  Tom Tromey  <tromey@redhat.com>
2081
2082         * expr.c (build_invokeinterface): Abort if method's context is not
2083         an interface.
2084
2085 2003-01-22  Tom Tromey  <tromey@redhat.com>
2086
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.
2107
2108 2003-01-21  Tom Tromey  <tromey@redhat.com>
2109
2110         * class.c (supers_all_compiled): New function.
2111         (make_class_data): Use it.
2112
2113 2003-01-21  Tom Tromey  <tromey@redhat.com>
2114
2115         * parse.y (method_header): Native method can't be strictfp.
2116         No method can be transient or volatile.
2117
2118 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2119
2120         Make-lang.in (jvspec.o-warn): Add -Wno-error.
2121
2122 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
2123
2124         * check-init.c: Fix comment typos.
2125         * class.c: Likewise.
2126         * constants.c: Likewise.
2127         * decl.c: Likewise.
2128         * except.c: Likewise.
2129         * expr.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.
2137         * lang.c: Likewise.
2138         * mangle.c: Likewise.
2139         * typeck.c: Likewise.
2140         * verify.c: Likewise.
2141
2142 2003-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2143
2144         * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
2145         * jcf-write.c: Include "tm_p.h".
2146
2147 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2148
2149         * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
2150
2151 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2152
2153         * builtins.c (java_build_function_call_expr): Renamed from
2154         build_function_call_expr.  All callers changed.
2155
2156         * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
2157         * jcf-parse.c: Include tm_p.h.
2158
2159         * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
2160         warning.
2161
2162 2003-01-14  Tom Tromey  <tromey@redhat.com>
2163
2164         * class.c (make_class_data): Check that super is compiled before
2165         building class reference to it.
2166
2167 2003-01-14  Andrew Haley  <aph@redhat.com>
2168
2169         * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2170         varargs function -- correct.
2171
2172 2003-01-14  Andrew Haley  <aph@redhat.com>
2173
2174         * decl.c (java_init_decl_processing): Temporarily back out previous patch.
2175
2176 2003-01-14  Andrew Haley  <aph@redhat.com>
2177
2178         * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2179         varargs function -- correct.
2180
2181         * parse.y (patch_assignment): Copy the rhs of an assignment into a
2182         temporary if the RHS is a reference.
2183
2184 2003-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2185
2186         * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
2187         * keyword.h: Regenerated.
2188
2189         * All Files: Convert to ISO C style function definitions.
2190
2191 2003-01-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2192
2193         * parse.y (check_pkg_class_access): ANSIfy definition.
2194
2195 2003-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2196
2197         * decl.c, parse-scan.y, parse.y: Don't cast return value of
2198         xmalloc et al.
2199
2200         * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
2201
2202 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
2203
2204         Merge from pch-branch:
2205
2206         2002-12-02  Geoffrey Keating  <geoffk@apple.com>
2207
2208         * Make-lang.in (java/gjavah.o): Update dependencies.
2209         * gjavah.c: Include ggc.h.
2210
2211         2002-08-16  Geoffrey Keating  <geoffk@redhat.com>
2212
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.
2220
2221         2002-08-08  Geoffrey Keating  <geoffk@redhat.com>
2222
2223         * jcf.h (union cpool_entry): New.
2224         (struct CPool): Use gengtype to mark.  Change field 'data' to be
2225         an array of unions.
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
2243         cpool_entry type.
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.
2261
2262         2002-08-08  Geoffrey Keating  <geoffk@redhat.com>
2263
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.
2270         (ctxp): Likewise.
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.
2275
2276 2003-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2277
2278         * All Files: Remove PARAMS macro.
2279
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
2282         `__STDC__' macros.
2283
2284         * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
2285         VA_CLOSE.
2286
2287 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2288
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".
2294
2295 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2296
2297         * java-tree.h: Protect against multiple inclusion.
2298
2299 2003-01-07  Tom Tromey  <tromey@redhat.com>
2300
2301         * class.c (add_assume_compiled): Don't adjust parent if we're
2302         already at the root of tree.
2303
2304 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2305
2306         * lang.c (dump_compound_expr): Prototype.
2307
2308 2003-01-03  Tom Tromey  <tromey@redhat.com>
2309
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'.
2313
2314 2003-01-03  Tom Tromey  <tromey@redhat.com>
2315
2316         * gcj.texi (Standard Properties): Document http.proxyHost and
2317         http.proxyPort.
2318
2319         * gcj.texi (GNU Classpath Properties): Document new properties.
2320
2321 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2322
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.
2326
2327 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2328
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.
2345
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".
2351
2352 2002-12-30  DJ Delorie  <dj@redhat.com>
2353
2354         * Make-lang.in: Protect against texi2pod/pod2man failing.
2355
2356 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2357
2358         * gcj.texi: Use @copying.
2359
2360 2002-12-27  Mark Mitchell  <mark@codesourcery.com>
2361
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
2366         "Java" block.
2367         (process_file): Adjust calls to print_cxx_classname.
2368
2369 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2370
2371         * gcj.texi: Include Cover Texts in man page.
2372
2373 2002-12-23  Jeff Sturm  <jsturm@one-point.com>
2374
2375         * class.c (build_static_field_ref): Check FIELD_FINAL.
2376
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.
2383
2384         * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
2385         not build_internal_class_name.
2386
2387         * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
2388         Use it when class ref isn't certain to be compiled.
2389
2390 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2391
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.
2395
2396 2002-12-22  Anthony Green  <green@redhat.com>
2397
2398         * gcj.texi (Limitations): Add note about org.xml.sax and
2399         org.w3c.dom.
2400
2401 2002-12-20  Tom Tromey  <tromey@redhat.com>
2402
2403         * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
2404         where minimum case value is Integer.MIN_VALUE.
2405         Fixes PR java/8955.
2406
2407 2002-12-18  Andrew Haley  <aph@redhat.com>
2408
2409         * parse.y (patch_invoke): Force evaluation order when `check' is
2410         set.  For PR libgcj/8945.
2411
2412 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2413
2414         * gcj.texi: Change version number to 3.4.
2415
2416 2002-12-05  Ranjit Mathew <rmathew@hotmail.com>
2417         Andrew Haley <aph@redhat.com>
2418
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.
2421
2422 2002-12-03  Andrew Haley  <aph@redhat.com>
2423
2424         * class.c (make_class_data): New field, "chain".
2425         * decl.c (java_init_decl_processing): Likewise.
2426
2427 2002-12-02  Tom Tromey  <tromey@redhat.com>
2428
2429         For PR java/8740:
2430         * parse.y (do_resolve_class): Handle qualified name via
2431         recursion.
2432
2433 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
2434
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.
2442
2443 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2444
2445         * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
2446
2447 2002-11-25  Diego Novillo  <dnovillo@redhat.com>
2448
2449         * jcf-reader.c: Don't expand JCF_readu4 inside the
2450         expansion of JCF_SKIP.
2451
2452 2002-11-25  Diego Novillo  <dnovillo@redhat.com>
2453
2454         * jcf-reader.c: Don't expand JCF_readu4 inside the
2455         expansion of JCF_SKIP.
2456
2457 2002-11-22  Tom Tromey  <tromey@redhat.com>
2458
2459         * parse.y (patch_binop): Cast right hand side of shift expression
2460         to `int'.  Fixes PR java/8676.
2461
2462 2002-11-22  Ranjit Mathew <rmathew@hotmail.com>
2463             Andrew Haley <aph@redhat.com>
2464
2465         * gcc/java/jcf-write.c (write_classfile): Remove target
2466         class file, if it exists, before renaming the temporary
2467         class file to it.
2468
2469 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2470
2471         * jvspec.c (lang_specific_spec_functions): New.
2472
2473 2002-11-18  Tom Tromey  <tromey@redhat.com>
2474
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.
2489
2490 2002-11-14  Jens-Michael Hoffmann  <jensmh@gmx.de>
2491
2492         * buffer.c: Remove unnecessary casts.
2493         * check-init.c: Likewise.
2494         * class.c: Likewise.
2495         * constants.c: Likewise.
2496         * decl.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.
2503         * lang.c: Likewise.
2504         * lex.c: Likewise.
2505         * verify.c: Likewise.
2506
2507 2002-11-06  Tom Tromey  <tromey@redhat.com>
2508
2509         * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
2510         a JNI header.
2511
2512 2002-11-05  Tom Tromey  <tromey@redhat.com>
2513
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,
2522         decimal_long_max.
2523
2524 2002-11-02  Tom Tromey  <tromey@redhat.com>
2525
2526         * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
2527
2528         * class.c (make_method_value): Put class name, not signature, into
2529         `throws' field.  For PR java/8415.
2530
2531 2002-10-24  Tom Tromey  <tromey@redhat.com>
2532
2533         * gcj.texi (Invoking gij): Document --showversion.
2534         (Standard Properties): java.library.path now set.
2535
2536 2002-10-23  Tom Tromey  <tromey@redhat.com>
2537
2538         * gjavah.c (decode_signature_piece): In JNI mode, print
2539         `jobjectArray' when array depth is nonzero.
2540         Fixes PR java/8296.
2541
2542 2002-10-15  Andrew Haley  <aph@redhat.com>
2543
2544         * parse.y (patch_invoke): Call force_evaluation_order on a static
2545         arg list.
2546         (resolve_qualified_expression_name): Call force_evaluation_order
2547         on a arg list that is part of a Qualified Expression Name.
2548
2549         * lang.c (dump_compound_expr): New.
2550         (java_dump_tree): New.
2551
2552 2002-10-20  Ranjit Mathew <rmathew@hotmail.com>
2553
2554         * gcj.texi: Added item describing the GCJ runtime property
2555         "gnu.gcj.progname".
2556
2557 2002-10-15  Richard Henderson  <rth@redhat.com>
2558
2559         * jcf-parse.c (get_constant): Fix type warning.
2560
2561 2002-10-15  Andrew Haley  <aph@redhat.com>
2562
2563         * java-tree.h (java_inlining_merge_static_initializers): Declare.
2564         (java_inlining_map_static_initializers): Declare.
2565
2566 2002-10-14  Andrew Haley  <aph@redhat.com>
2567
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.
2576
2577 2002-10-11  Mark Wielaard  <mark@klomp.org>
2578
2579         * gcj.texi (Compatibility): Add Limitations and Extensions section.
2580
2581 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2582
2583         * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
2584
2585 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2586
2587         * parse.y (merge_string_cste): Add parentheses around & within |.
2588
2589 2002-10-08  Tom Tromey  <tromey@redhat.com>
2590
2591         * parse.y (variable_declarator_id): Simplify error path for
2592         array declarator error.  For PR java/8003.
2593
2594 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
2595
2596         * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
2597         bug_report_url.
2598
2599 2002-10-08  Andrew Haley  <aph@redhat.com>
2600
2601         * parse.y (attach_init_test_initialization_flags): Check for
2602         error_mark_node.
2603
2604 2002-10-07  Anthony Green  <green@redhat.com>
2605
2606         * parse.y (merge_string_cste): Fix bug in string concatenation.
2607
2608 2002-10-03  Michael Koch  <konqueror@gmx.de>
2609
2610         * gcj.texi (Standard properties):
2611         Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
2612
2613 2002-10-02  Roger Sayle  <roger@eyesopen.com>
2614
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.
2619
2620 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
2621
2622         * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
2623         foul of type-based aliasing.
2624
2625 2002-09-30  Anthony Green  <green@redhat.com>
2626
2627         * gcj.texi (Invoking jv-scan): Fix texinfo.
2628
2629 2002-09-28  Anthony Green  <green@redhat.com>
2630
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
2642         calling cc1.
2643
2644 2002-09-26  Andrew Haley  <aph@redhat.com>
2645
2646         * expr.c (build_java_array_length_access): Check for null pointer.
2647         * expr.c (expand_java_arrayload): Likewise.
2648
2649 2002-09-21  Richard Henderson  <rth@redhat.com>
2650
2651         * jcf-parse.c (get_constant): Decode from IEEE no matter
2652         what the target format.
2653
2654 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
2655
2656         * ChangeLog: Follow spelling conventions.
2657         * class.c: Likewise.
2658         * decl.c: Likewise.
2659         * expr.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.
2665         * lang.c: Likewise.
2666         * mangle.c: Likewise.
2667         * parse.y: Likewise.
2668
2669 2002-09-17  Tom Tromey  <tromey@redhat.com>
2670
2671         * lex.c (java_read_unicode_collapsing_terminators): Handle case
2672         where \r appears at EOF.  Fixes PR java/7950.
2673
2674 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2675
2676         * jvspec.c (lang_specific_driver): Remove unused variable.
2677
2678 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
2679
2680         * java-tree.h (union lang_tree_node): Add chain_next option.
2681
2682 2002-09-16  Richard Henderson  <rth@redhat.com>
2683
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.
2688
2689 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
2690
2691         * lang.c: Follow spelling conventions.
2692
2693 2002-09-11  Per Bothner  <per@bothner.com>
2694
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.
2698
2699         * parse.y (fold_constant_for_init):  'null' is not a constant expr.
2700
2701 2002-09-03  Jesse Rosenstock  <jmr@ugcs.caltech.edu>
2702
2703         For PR java/5794:
2704         * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
2705         return label if a ret instruction for the jsr has been reached.
2706
2707 2002-09-09  Ranjit Mathew  <rmathew@hotmail.com>
2708
2709         * parse.y (DIR_SEPARATOR): Don't define.
2710         (check_class_interface_creation): Use IS_DIR_SEPARATOR.
2711
2712 2002-08-28  Andrew Haley  <aph@redhat.com>
2713
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.
2718
2719 2002-09-01  Mark Wielaard <mark@klomp.org>
2720
2721         * gcj.texi: Add chapter about system properties.
2722         Fixed some typos.
2723
2724 2002-08-26  Tom Tromey  <tromey@redhat.com>
2725
2726         * parse.y (try_builtin_assignconv): Allow narrowing primitive
2727         conversion if RHS_TYPE is byte, short, or char.
2728
2729 2002-08-22  Tom Tromey  <tromey@redhat.com>
2730
2731         * gcj.texi (Invoking gij): Document -cp and -classpath.
2732
2733 2002-08-21  Tom Tromey  <tromey@redhat.com>
2734
2735         * Make-lang.in (java/jcf-path.o): Use $(datadir), not
2736         $(prefix)/share.  For PR libgcj/7633.
2737
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.
2741
2742 2002-08-16  Tom Tromey  <tromey@redhat.com>
2743
2744         * gcj.texi (Class Initialization): Mention class initialization of
2745         arrays.
2746
2747 2002-07-30  Andrew Haley  <aph@cambridge.redhat.com>
2748
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
2753         DECL_SAVED_TREE.
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
2765         don't make another.
2766         (dump_function): New.
2767         (java_optimize_inline): New.
2768         (dump_function): New.
2769
2770 2002-08-13  Jesse Rosenstock  <jmr@fulcrummicro.com>
2771
2772         For PR java/7483:
2773         * parse.y (build_assertion): Invert return from
2774         desiredAssertionStatus.
2775
2776 2002-08-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2777
2778         * jcf-write.c (get_access_flags): Return correct access flags for
2779         private and protected inner classes.
2780
2781 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
2782
2783         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2784
2785 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
2786
2787         * mangle_name.c: Don't include obstack.h twice.
2788         * xref.c: Don't include obstack.h.
2789
2790 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
2791
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.
2800
2801 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2802
2803         * gcj.texi (version-gcc): Increase to 3.3.
2804
2805 2002-07-22  Tom Tromey  <tromey@redhat.com>
2806
2807         * lex.c (java_lex): Check for `e' or `E' after 0.
2808
2809 2002-07-21  Richard Henderson  <rth@redhat.com>
2810
2811         * lang.c (java_unsafe_for_reeval): New.
2812         (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2813
2814 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
2815
2816         * jcf-path.c (GET_ENV_PATH_LIST): Remove.
2817         (jcf_path_init): Use GET_ENVIRONMENT.
2818
2819 2002-07-10  Roger Sayle  <roger@eyesopen.com>
2820             Zack Weinberg <zack@codesourcery.com>
2821
2822         * builtins.c (initialize_builtins): Remove defines that
2823         handled C/C++ specific junk hereby removed from builtins.def.
2824
2825 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
2826
2827         * lang.c (java_post_options): Update prototype.
2828
2829 2002-07-05  Roger Sayle  <roger@eyesopen.com>
2830
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.
2834
2835 2002-07-01  Tom Tromey  <tromey@redhat.com>
2836
2837         For PR libgcj/7073:
2838         * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
2839         specially.
2840
2841 2002-07-01  Roger Sayle  <roger@eyesopen.com>
2842
2843         * java/decl.c (builtin_function): Accept additional parameter.
2844         (java_init_decl_processing): Pass an additional NULL_TREE
2845         argument to builtin_function.
2846
2847 2002-06-29  T.J. Mather  <tjmather@maxmind.com>
2848
2849         * gcj.texi: Fixed gcj invocation example so that it compiles.
2850
2851 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2852
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.
2857
2858         * lex.c (java_read_char): Avoid "comparison is always true"
2859         warning.
2860
2861 2002-06-25  Andreas Schwab  <schwab@suse.de>
2862
2863         * expr.c (JSR): Avoid undefined operation on PC.
2864
2865 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2866
2867         * decl.c (clear_binding_level): Const-ify.
2868
2869 2002-06-13  Akim Demaille  <akim@epita.fr>
2870
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.
2874
2875 2002-06-11  Tom Tromey  <tromey@redhat.com>
2876
2877         * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
2878         * parse-scan.y (statement_without_trailing_substatement): Added
2879         assert_statement.
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.
2895
2896 2002-06-10  Akim Demaille  <akim@epita.fr>
2897
2898         * parse.y (interface_type_list, class_member_declaration)
2899         (unary_expression_not_plus_minus): Remove duplicate %type.
2900         Whitespace changes.
2901
2902 2002-06-09  Tom Tromey  <tromey@redhat.com>
2903
2904         * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
2905
2906         * parse.y (method_header): Give error message in all cases.
2907         Fixes PR java/6865.
2908
2909 2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2910
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
2915         is seen.
2916         (java_post_options): New function. Turn off inlining unless
2917         flag_really_inline is set.
2918
2919 2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2920
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.
2926
2927 2002-06-08  H.J. Lu  (hjl@gnu.org)
2928
2929         * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
2930
2931 2002-06-04  Tom Tromey  <tromey@redhat.com>
2932
2933         * jcf-write.c (perform_relocations): Optmize a goto to a goto.
2934
2935 2002-06-04  Michael Koch  <konqueror@gmx.de>
2936
2937         * gcj.texi (Input Options): Fixed typo.
2938
2939 2002-06-04  Zack Weinberg  <zack@codesourcery.com>
2940
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.
2946
2947         * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
2948         #if JCF_USE_STDIO blocks.
2949
2950         * parse.y: Add missing semicolon at end of rule.
2951
2952 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
2953
2954         * check-init.c (attach_initialized_static_class): Delete, unused.
2955         * parse.y: Use htab_t instead of struct hashtable, update
2956         all uses.
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
2969         functions.
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.
2984
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.
2993
2994         * lang.c (struct language_function): New dummy structure.
2995
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.
3007
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.
3014
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.
3022         (decl.o): Likewise.
3023         (expr.o): Likewise.
3024         (jcf-parse.o): Likewise.
3025         (jcf-write.o): Likewise.
3026         (lang.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.
3030         Include gt-*.h.
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.
3035         Include gt-*.h.
3036         * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
3037         Include gt-*.h.
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
3040         gt-*.h.
3041         * parse.y: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
3042         Include gtype-java.h.
3043
3044 2002-06-02  Tom Tromey  <tromey@redhat.com>
3045
3046         Fix for PR java/5913:
3047         * parse.y (patch_binop): Call patch_string on op1.
3048
3049 2002-06-02  Tom Tromey  <tromey@redhat.com>
3050
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.
3057
3058 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
3059
3060         * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
3061         * Make-lang.in: Update dependency lists.
3062
3063 2002-05-18  Mark Mitchell  <mark@codesourcery.com>
3064
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
3081         order.
3082
3083 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3084
3085         * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
3086
3087 2002-05-13  Mark Mitchell  <mark@codesourcery.com>
3088
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
3091         temporary file.
3092
3093 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
3094
3095         * jcf-write.c (write_classfile): Write the file to a
3096         temporary file and then rename it.
3097
3098 2002-05-07  Tom Tromey  <tromey@redhat.com>
3099
3100         * gjavah.c (throwable_p): Use xstrdup, not strdup.
3101
3102         Fix for PR java/1200:
3103         * gjavah.c (throwable_p): New function.
3104         (decode_signature_piece): Use it.  A `WeakReference' isn't the
3105         same as a `jweak'.
3106         Include hashtab.h.
3107         (gcjh_streq): New function.
3108
3109 2002-05-07  Andreas Jaeger  <aj@suse.de>
3110
3111         * parse.y (finish_for_loop): Fix if statement.
3112
3113 2002-05-06  Tom Tromey  <tromey@redhat.com>
3114
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.
3120
3121 2002-05-04  Mark Wielaard  <mark@klomp.org>
3122
3123         For PR java/6519:
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
3126         StringBuffer.
3127
3128 2002-04-27  Tom Tromey  <tromey@redhat.com>
3129
3130         For PR java/6382:
3131         * parse.y (string_convert_int_cst): New function.
3132         (merge_string_cste): Use it.
3133
3134 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
3135
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.
3142
3143 2002-04-24  Tom Tromey  <tromey@redhat.com>
3144
3145         For PR java/6425:
3146         * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
3147         EXPR_WFL_QUALIFICATION of qual_wfl.
3148
3149 2002-04-23  Per Bothner  <per@bothner.com>
3150
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.
3154
3155 2002-04-23  Tom Tromey  <tromey@redhat.com>
3156
3157         For PR java/6314:
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
3161         a bit.
3162
3163 2002-04-22  Alexandre Petit-Bianco  <apbianco@redhat.com>
3164
3165         * jcf-parse.c: (yyparse): Don't prepend "./" to relative
3166         paths. Fixes PR java/2791.
3167
3168 2002-04-19  Andrew Haley  <aph@redhat.com>
3169
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.
3173
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.
3177
3178 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3179
3180         * typeck.c (incomplete_type_error): Remove.
3181
3182 2002-04-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3183
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
3188         class_type_node.
3189
3190 2002-04-16  Mark Wielaard  <mark@klomp.org>
3191
3192         * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
3193         negative zero.
3194
3195 2002-04-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3196
3197         Fix for PR java/6294:
3198         * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
3199         interfaces.
3200
3201 2002-04-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3202
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.
3207
3208 2002-04-10  Andreas Jaeger  <aj@suse.de>
3209
3210         * gcj.texi (Input Options): Fix extdirs patch.
3211
3212 2002-04-10  Anthony Green  <green@redhat.com>
3213
3214         * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
3215
3216 2002-04-09  Anthony Green  <green@redhat.com>
3217
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.
3235
3236 2002-04-08  Tom Tromey  <tromey@redhat.com>
3237
3238         For PR libgcj/5303:
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
3244         rmiregistry.1.
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.
3249
3250 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3251
3252         * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
3253         Add note about handling uncaught exceptions. Add an exception handler
3254         to example.
3255
3256 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3257
3258         * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
3259         after using it to patch CALL_EXPR.
3260
3261 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3262
3263         * gcj.texi (Invocation): Document CNI invocation API.
3264
3265 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3266
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.
3271
3272 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3273
3274         * java-tree.h (java_mark_addressable): New.
3275         * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3276         * typeck.c (mark_addressable): Rename, update.
3277
3278 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3279
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.
3288
3289 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3290
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.
3297
3298 2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>
3299
3300         * parse.y (do_resolve_class): Fix infinite recursion.
3301
3302 2002-03-29  Tom Tromey  <tromey@redhat.com>
3303
3304         * parse.y (check_inner_circular_reference): Ignore incomplete
3305         types.
3306
3307 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3308
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):
3315         Redefine.
3316         * typeck.c (type_for_mode, type_for_size): Update.
3317
3318 2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>
3319
3320         * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
3321
3322 2002-03-28  Tom Tromey  <tromey@redhat.com>
3323
3324         * except.c (expand_end_java_handler): If the handler type is NULL,
3325         use java.lang.Throwable.  Fixes PR java/5986.
3326
3327 2002-03-28  Alexandre Petit-Bianco  <apbianco@redhat.com>
3328
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.
3333
3334 2002-03-28  Jan Hubicka  <jh@suse.cz>
3335
3336         * java/lang.c (java_init_options): Set flag_trapping_math to 0.
3337
3338 2002-03-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3339
3340         * parse.y (resolve_package): Initialize "decl".
3341         (lookup_package_type): Remove unused function.
3342
3343 2002-03-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3344
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.
3351
3352 2002-03-27  Tom Tromey  <tromey@redhat.com>
3353
3354         * expr.c (expand_invoke): Don't generate null pointer check if
3355         we're calling <init>.
3356
3357 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3358
3359         * expr.c (java_lang_expand_expr): Rename java_expand_expr,
3360         fix prototype.
3361         * java-tree.h (java_lang_expand_expr): Similarly.
3362         * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3363         (java_init): Don't set hook.
3364
3365 2002-03-27  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3366
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.
3371
3372 2002-03-26  Tom Tromey  <tromey@redhat.com>
3373
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
3377         elements, not 11.
3378
3379 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3380
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.
3384
3385 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
3386
3387         * lex.c: Change java_perform_atof to take normal parameters
3388         instead of a pointer to a parameter block.  Call it directly
3389         from java_lex.
3390
3391 2002-03-22  Mark Wielaard  <mark@klomp.org>
3392
3393         Fix for PR java/5368:
3394         * parse.y (resolve_qualified_expression_name): Use decl not field_decl
3395         when printing error message.
3396
3397 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
3398
3399         * decl.c (maybe_build_cleanup): Remove.
3400
3401 2002-03-22  Tom Tromey  <tromey@redhat.com>
3402
3403         Andrew Haley  <aph@cambridge.redhat.com>
3404
3405         * expr.c (build_field_ref): Don't build a check if the field is a
3406         member of `this'.
3407
3408 2002-03-21  Eric Blake  <ebb9@email.byu.edu>
3409
3410         Fix for PR java/6026:
3411         * lex.c (java_lex): Fix parsing of consecutive floats.
3412
3413 2002-03-21  Tom Tromey  <tromey@redhat.com>
3414
3415         * parse.y (build_access_to_thisn): Stop when FROM is not an inner
3416         class.
3417
3418 2002-03-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3419
3420         * cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
3421         insert_block, getdecls, kept_level_p, global_bindings_p): New.
3422
3423 2002-03-20  Nic Ferrier  <nferrier@tapsellferrier.co.uk>
3424
3425         * gcj.texi: @code{gcj} becomes @command{gcj}.
3426         @code{gcc} becomes @command{gcc}.
3427         GcjRaw changed to gnu.gcc.RawData.
3428
3429 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3430
3431         * decl.c (start_java_method): Use new hook.
3432         * lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
3433         (java_init): Remove old hook.
3434
3435 2002-03-18  Alexandre Petit-Bianco  <apbianco@redhat.com>
3436
3437         * builtins.c (define_builtin): Do nothing if `type' is null.
3438         Fixes PR java/5876.
3439
3440 2002-03-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3441
3442         * parse.y (parser_check_super_interface): Fix error message
3443         grammar/order.
3444
3445 2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3446
3447         * jcf-parse.c (get_constant): Delete unused variables.
3448
3449 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3450
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.
3454
3455 2002-03-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3456
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.
3461
3462 2002-03-15  Anthony Green  <green@redhat.com>
3463
3464         * jcf-parse.c (yyparse): Don't emit class registration
3465         constructor when compiling resource files.
3466
3467 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3468
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
3473         arrays.
3474
3475 2002-03-12  Tom Tromey  <tromey@redhat.com>
3476
3477         * jcf-parse.c (get_constant) [CONSTANT_String]: String values are
3478         UTF-8, not UCS-2.  Fixes PR java/5923.
3479
3480         * parse.y (qualify_ambiguous_name): Handle case where QUAL_WFL is
3481         a call_expr wrapped in a convert.  Fixes PR java/5848.
3482
3483 2002-03-12  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3484
3485         * jcf-write.c (write_classfile): Improve error strings.
3486
3487 2002-03-11  Eric Blake  <ebb9@email.byu.edu>
3488
3489         * lex.c: Adjust comments to GNU standards.
3490
3491 2002-03-11  Eric Blake  <ebb9@email.byu.edu>
3492
3493         Fix for PR java/5902:
3494         * lex.c (java_lex): Fix parsing of literals.
3495
3496 2002-03-11  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3497
3498         * parse.y (patch_assignment): Wrap the right-hand-side with a save_expr
3499         to prevent it getting evaluated twice in the store checking case.
3500         * expr.c (build_java_arraystore_check): Unwrap SAVE_EXPR's when
3501         examining OBJECT.
3502
3503 2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3504
3505         * decl.c (java_init_decl_processing): Make sure class_type_node
3506         alignment is not less than 64 bits if hash synchronization is enabled.
3507
3508 2002-03-08  Per Bothner  <per@bothner.com>
3509
3510         * parse.y (java_complete_lhs):  Check if patch_assignment
3511         returned an error-mark.
3512
3513         * parse.y (try_builtin_assignconv):  Don't special-case zero.
3514
3515 2002-03-08  Per Bothner  <per@bothner.com>
3516
3517         Fix for PR java/5812.
3518         * expr.c (build_java_jsr):  Take pc arguments, and do lookup_label
3519         here instead of in JSR macro.  Likewise with load_type_state call.
3520         Do the latter on if the return_pc has been verified (the jsr returns).
3521         (JSR):  Now just call build_java_jsr.
3522
3523 2002-03-07  Jeff Sturm  <jsturm@one-point.com>
3524
3525         * java/Make-lang.in (JAVA_TARGET_INSTALL_NAME): Define.
3526         (java.install-common): Link native driver to
3527         JAVA_TARGET_INSTALL_NAME.
3528
3529 2002-03-05  David Billinghurst <David.Billinghurst@riotinto.com>
3530
3531         * builtins.c(cos_builtin): method_return_type ATTRIBUTE_UNUSED
3532         * builtins.c(sin_builtin): Likewise
3533         * builtins.c(sqrt_builtin): Likewise
3534
3535 2002-03-03  Zack Weinberg  <zack@codesourcery.com>
3536
3537         * java/expr.c, java/jcf-parse.c, java/lex.c:
3538         Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
3539         REAL_ARITHMETIC blocks unconditional.  Delete some further
3540         #ifdef blocks predicated on REAL_ARITHMETIC.
3541
3542 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3543
3544         * class.c (init_class_processing): Use ARRAY_SIZE in lieu of
3545         explicit sizeof/sizeof.
3546         * decl.c (java_init_decl_processing): Likewise.
3547         * jcf-parse.c (init_jcf_parse): Likewise.
3548         * parse.y (init_src_parse): Likewise.
3549
3550 2002-03-02  Per Bothner  <per@bothner.com>
3551
3552         Make --CLASSPATH by a synonym for --classpath and -classpath.
3553         Implement --bootclasspath.
3554         * jcf-path.c (classpath_u):  Rename static variable to classpath_user.
3555         (classpath_l):  Remove.
3556         (jcf_path_CLASSPATH_arg):  Remove.
3557         (jcf_path_bootclasspath_arg):  New function.
3558         (jcf_path_seal):  Simplify accordingly.
3559
3560         * jcf.h (jcf_path_bootclasspath_arg):  New declarations.
3561         (jcf_path_CLASSPATH):  Remove declaration.
3562         * jvspec.c (jvgenmain_spec):  Also accept -fbootclasspath*.
3563         (lang_specific_driver):  Translate -bootclasspath.
3564         * lang-options.h:  Add --bootclasspath.  Update --CLASSPATH.
3565         * lang.c (decode_lang_options):  Do jcf_path_init first.
3566         Handle -fCLASSPATH same as -fclasspath.  Also process -fbootclasspath.
3567         * gjavah.c:  Also handle --bootclasspath.
3568         Handle --CLASSPATH as a synonum for --classpath.
3569         * jcf-dump.c: Likewise.
3570
3571         "." is not part of system path, but is the default for --classpath.
3572         * jcf-path.c (jcf_path_init):  Don't add "." to sys_dirs.
3573         (jcf_path_seal):  Add "." if no CLASSPATH specified.
3574
3575         * gcj.texi:  Document changes.
3576
3577 2002-03-01  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3578
3579         * expr.c (build_java_arraystore_check): Fix formatting.
3580
3581 2002-02-28  Alexandre Petit-Bianco  <apbianco@redhat.com>
3582
3583         Fix for PR java/5758, java/5632:
3584         * jcf-parse.c (load_class): Renamed local variable, consider `.' an
3585         inner-class separator too.
3586         * parse.y (do_resolve_class): New local `decl_result.'
3587         Progressively build a name for what can have been loaded.
3588
3589 2002-02-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3590
3591         * expr.c (java_array_data_offset): Removed function.
3592         (JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
3593         (build_java_array_length_access): Obtain "length" value using a
3594         COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
3595         (build_java_arrayaccess): Correct comment. Access "data" using a
3596         COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
3597         (build_java_arraystore_check): New function.
3598         (expand_java_arraystore): Use build_java_arraystore_check.
3599         * parse.y (patch_assignment): Simplify code to insert a store check
3600         when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
3601         * check-init.c (check_init): Update to reflect that an array length
3602         access is now a COMPONENT_REF.
3603         * gcj.texi (Code Generation): Improve documentation of
3604         -fno-bounds-check. Add documentation for -fno-store-check.
3605         * java-tree.h (flag_store_check): Declare.
3606         (build_java_arraystore_check): Declare.
3607         * lang.c (flag_store_check): Initialize to 1.
3608         (lang_f_options): Add store-check option.
3609         * jvspec.c: Don't pass store-check option to jvgenmain.
3610         * lang-options.h: Add help string for -fno-store-check.
3611
3612 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3613
3614         * decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl.
3615         * java-tree.h (java_dup_lang_specific_decl): New.
3616         * lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
3617
3618 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
3619
3620         * builtins.c, decl.c: Delete traditional-mode-related code
3621         copied from the C front end but not used, or used only to
3622         permit the compiler to link.
3623
3624 2002-02-22  Tom Tromey  <tromey@redhat.com>
3625
3626         Fix for PR java/2369:
3627         * jvspec.c (verify_class_name): New function.
3628         (lang_specific_driver): Call it.
3629         (JAVA_START_CHAR_P): New macro.
3630         (JAVA_PART_CHAR_P): Likewise.
3631
3632 2002-02-22  Per Bothner  <per@bothner.com>
3633
3634         * class.c:  Change vtable to be more compatible with g++ v3 abi.
3635         (get_dispatch_table):  Prepend offset-to-top (always 0) and
3636         type_info pointer (currently unimplemented hence NULL) to vtable.
3637         Specifically, prepend offset-to-top and typeinfo ptr (currently null).
3638         (make_class_data):  Variable dtable_start_offset is sizeof 2 pointers.
3639         Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
3640         (build_dtable_decl):  Add declarations for new fields.
3641
3642 2002-02-20  Per Bothner  <per@bothner.com>
3643
3644         * parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
3645         to finit$ (otherwise generate_bytecode_insns drops it). However, we
3646         don't need to set it on the COMPOUND_EXPR - the caller does that.
3647
3648 2002-02-20  Nic Ferrier  <nferrier@tapsellferrier.co.uk>
3649
3650         * gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
3651         `--CLASSPATH' becomes `--classpath.'
3652         * gjavah.c: Likewise.
3653         * jcf-dump.c: Likewise.
3654         * lang-options.h: Likewise.
3655         * lang.c: Likewise.
3656         * jcf-path.c: Updated comment.
3657         (jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
3658         (jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
3659         * jcf.h (jcf_path_CLASSPATH_arg): Ditto.
3660         (jcf_path_CLASSPATH_arg): Ditto.
3661         (classpath_u): Updated leading comment.
3662
3663 2002-02-20  Per Bothner  <per@bothner.com>
3664
3665         * builtins.c (check_for_builtin):  New function.
3666         (build_call_or_builtin):  Remove.
3667         * java-tree.h:  Update accordingly.
3668         * expr.c (expand_invoke):  Use build + check_for_builtin instead
3669         of build_call_or_builtin.
3670         * parse.y (patch_invoke):  Likewise.  This avoids needlessly creating
3671         a new CALL_EXPR node, which means we don't lose the CALL_USING_SUPER
3672         flag (which had caused jcf-write to incorrectly emit invokevirtual).
3673
3674 2002-02-17  Tom Tromey  <tromey@redhat.com>
3675
3676         * java-tree.h (TYPE_STRICTFP): New macro.
3677         (struct lang_type) [strictfp]: New field.
3678         (CLASS_STRICTFP): New macro.
3679         (METHOD_STRICTFP): New macro.
3680         (struct lang_decl) [strictfp]: New field.
3681         * parse.y (method_header): Disallow strictfp constructor or
3682         abstract method.
3683         (STRICT_TK): Move before MODIFIER_TK.
3684         * parse.h (CLASS_MODIFIERS): Added ACC_STRICT.
3685         (METHOD_MODIFIERS): Likewise.
3686         (INTERFACE_MODIFIERS): Likewise.
3687         * jcf-write.c (get_access_flags): Likewise.
3688         * class.c (set_class_decl_access_flags): Recognize ACC_STRICT.
3689         (add_method_1): Likewise.
3690         (get_access_flags_from_decl): Likewise.
3691         * jcf-dump.c (print_access_flags): Print in standard order.  Also,
3692         recognize strictfp flag.
3693         * jcf.h (ACC_STRICT): New define.
3694
3695 2002-02-12  David Billinghurst <Davod.Billinghurst@riotinto.com>
3696
3697         * class.c(build_utf8_ref): Move declaration of decl_size
3698
3699 2002-02-07  Tom Tromey  <tromey@redhat.com>
3700
3701         * gcj.texi (Input Options): --CLASSPATH does not suppress system
3702         path.
3703
3704 2002-02-04  Anthony Green  <green@redhat.com>
3705
3706         * class.c (build_utf8_ref): Put UTF-8 constants into merged
3707         sections if available.
3708
3709 2002-02-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3710
3711         * parse.y (java_expand_classes): Fix typo in static field loop.
3712
3713 2002-02-02  Richard Henderson  <rth@redhat.com>
3714
3715         * class.c (add_field): Mark static fields external.
3716         (build_class_ref): Remove redundant set.
3717         * parse.y (java_expand_classes): Mark static fields of classes
3718         to be compiled as local.
3719         * jcf-parse.c (parse_class_file): Likewise.
3720
3721 2002-02-02  Nic Ferrier  <nferrier@tapsellferrier.co.uk>
3722
3723         * gcj.texi (About CNI): New node.
3724
3725 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3726
3727         PR java/5080
3728         * jcf-parse.c : Check for HAVE_LOCALE_H before using
3729         setlocale() with LC_CTYPE as a parameter.
3730         * jv-scan.c: Same.
3731
3732 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3733
3734         * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
3735         Follow GNU Coding Standards for --version.
3736
3737 2002-01-28  Tom Tromey  <tromey@redhat.com>
3738
3739         * expr.c (build_jni_stub): Ensure storage for `meth' is
3740         generated.
3741         * parse.y (java_complete_expand_methods): Set
3742         current_function_decl before building JNI stub.
3743
3744 2002-01-26 Andreas Tobler <a.tobler@schweiz.ch>
3745
3746         * gcc/java/builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not
3747         BUILT_IN_SQRTF.
3748
3749 2002-01-22  Tom Tromey  <tromey@redhat.com>
3750
3751         * decl.c (java_init_decl_processing): Use add_predefined_file.
3752         Predefine RawData.java.
3753         (predef_filenames): Removed.
3754         (java_init_decl_processing): Don't register predef_filenames.
3755         * jcf-parse.c (add_predefined_file): New function.
3756         (predefined_filename_p): Rewrote.
3757         (predefined_filename_p): No longer static.
3758         * decl.c (java_init_decl_processing): Call initialize_builtins.
3759         * Make-lang.in (JAVA_OBJS): Added builtins.o.
3760         (java/builtins.o): New target.
3761         * builtins.c: New file.
3762         * parse.y (patch_invoke): Use build_call_or_builtin.
3763         * java-tree.h (build_call_or_builtin): Declare.
3764         (initialize_builtins): Declare.
3765         (java_set_exception_lang_code): Removed unused declaration.
3766         (PREDEF_FILENAMES_SIZE): Removed.
3767         (java_tree_index): Added JTI_PREDEF_FILENAMES.
3768         (predef_filenames): New define.
3769         (add_predefined_file): Declare.
3770         (predefined_filename_p): Declare.
3771         * expr.c (expand_invoke): Use build_call_or_builtin.
3772
3773 2002-01-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3774
3775         * parse.y (patch_switch_statement): Fix format specifier.
3776
3777 2002-01-16  Tom Tromey  <tromey@redhat.com>
3778
3779         More for PR java/5365:
3780         * gjavah.c (print_stub_or_jni): Cause exception to be thrown by
3781         default.
3782         (process_file): Generate include for
3783         java.lang.UnsupportedOperationExceptions.
3784
3785 2002-01-15  Andreas Jaeger  <aj@suse.de>
3786
3787         * .cvsignore: Add man pages.
3788
3789 2002-01-15  Tom Tromey  <tromey@redhat.com>
3790
3791         Fix for PR java/5365:
3792         * gjavah.c (process_file): Turn class name into a file name.
3793
3794 2002-01-14  Matthias Klose  <doko@debian.org>
3795
3796         * gcj.texi: Fix whitespace and formatting errors in the
3797         synopsis of the man pages. Update copyright.
3798
3799 2002-01-14  Tom Tromey  <tromey@redhat.com>
3800
3801         For PR libgcj/5303:
3802         * Make-lang.in (java.install-man): Handle jv-convert man page.
3803         (java.generated-manpages): Added jv-convert.1.
3804         (java.uninstall): Remove jv-convert.1.
3805         (java.maintainer-clean): Likewise.
3806         ($(srcdir)/java/jv-convert.1): New target.
3807         * gcj.texi (Top): Link to jv-convert node.
3808         (Individual utilities): Likewise.
3809         (Invoking jv-convert): New node.
3810
3811 2001-01-10  Jeff Sturm  <jsturm@one-point.com>
3812             Martin Kahlert  <martin.kahlert@infineon.com>
3813
3814         * jcf-parse.c (get_constant): Don't swap lo/hi for big
3815         endian targets when HOST_BITS_PER_WIDE_INT >= 64.
3816
3817 2002-01-03  Graham Stott  <grahams@redhat.com>
3818
3819         * class.c (compile_resource_file): Update copyright date.
3820         Constify filename parameter.
3821         (java-tree.h): Update copyright date.
3822         (compile_resource_file): Constify filename parameter.
3823
3824 2002-01-03  Graham Stott  <grahams@redhat.com>
3825
3826         * gcc/jcf-parse.c: Update copyright date.
3827         (yyparse): Constify resource_filename.
3828
3829 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3830
3831         * parse.y (src_parse_roots): Don't needlessly zero init.
3832
3833 2001-12-31  Tom Tromey  <tromey@redhat.com>
3834
3835         * parse.y (dump_java_tree): New function.
3836         (source_end_java_method): Call it.
3837         (end_class_declaration): Likewise.
3838         * lang.c (java_decode_option): Call dump_switch_p.
3839
3840 2001-12-28  Tom Tromey  <tromey@redhat.com>
3841
3842         * gen-table.pl: Don't process characters after \uffff.  Added
3843         comment pointing to input file.
3844
3845 2001-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3846
3847         * gen-table.pl: Const-ify output.  Document the location of a
3848         suitable unicode input file.
3849
3850         * chartables.h: Regenerate.
3851
3852 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3853
3854         * chartables.h: Const-ify.
3855         * gjavah.c (options): Likewise.
3856         * jcf-dump.c (options): Likewise.
3857         * jv-scan.c (options): Likewise.
3858         * lex.c (java_start_char_p, java_part_char_p): Likewise.
3859         * parse.y (binop_lookup): Likewise.
3860
3861 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3862
3863         * Make-lang.in (keyword.h): Pass -C to gperf to const-ify
3864         the static arrays that are output.
3865         * jvspec.c (jvgenmain_spec): Make static.
3866         * keyword.gperf (struct java_keyword, java_keyword): Const-ify.
3867         * keyword.h: Regenerate.
3868         * lang.c (string_option, process_option_with_no, lang_f_options,
3869         lang_W_options): Const-ify.
3870         * lex.c (java_lex): Likewise.
3871
3872 2001-12-21  Richard Henderson  <rth@redhat.com>
3873
3874         * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
3875         (get_boehm_type_descriptor): ... here.  Arrange for the
3876         TREE_TYPE to get set properly.
3877
3878 2001-12-21  Richard Henderson  <rth@redhat.com>
3879
3880         * class.c (compile_resource_file): Set TREE_PUBLIC on the constructor
3881         only if the target requires collect2.
3882
3883         * class.c (build_class_ref): Mark _Jv_fooClass DECL_EXTERNAL.
3884
3885 2001-12-20  Tom Tromey  <tromey@redhat.com>
3886
3887         For PR java/4509:
3888         * parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
3889         CAN_COMPLETE_NORMALLY for the node.
3890         * jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
3891         generate code for second branch if first branch can't complete
3892         normally.
3893         (generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
3894         the loop head if the loop body can't complete normally.
3895
3896 2001-12-20  Tom Tromey  <tromey@redhat.com>
3897
3898         For PR java/4766:
3899         * jcf-write.c (generate_bytecode_insns) [TRY_FINALLY_EXPR]: Handle
3900         case where `finally' clause can't complete normally.
3901
3902 2001-12-20  Tom Tromey  <tromey@redhat.com>
3903
3904         Fixes PR java/5057:
3905         * parse.y (analyze_clinit_body): Added this_class parameter.
3906         Check for more cases where we must keep <clinit>.
3907         (maybe_yank_clinit): Cleaned up flow control.
3908
3909 2001-12-20  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3910
3911         * decl.c (java_init_decl_processing): Don't initialize
3912         finit_leg_identifier_node.
3913         * java-tree.h (java_tree_index): Remove JTI_FINIT_LEG_IDENTIFIER_NODE.
3914         (finit_leg_identifier_node): Remove.
3915         (ID_FINIT_P): Don't check for JTI_FINIT_LEG_IDENTIFIER_NODE.
3916
3917 2001-12-20  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3918
3919         * mangle.c (mangle_member_name): Don't special-case for
3920         NO_DOLLAR_IN_LABEL.
3921         * mangle_name.c (unicode_mangling_length): Likewise.
3922         (append_unicode_mangled_name): Likewise.
3923         * parse.y (make_nested_class_name): Remove dead NO_DOLLAR_IN_LABEL
3924         code.
3925
3926 2001-12-20  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3927
3928         * expr.c (build_java_array_length_access): Don't force null pointer
3929         check unless flag_check_references is set.
3930
3931 2001-12-20  Tom Tromey  <tromey@redhat.com>
3932
3933         Fix for PR java/3417:
3934         * parse.y (patch_assignment): Added special processing for
3935         `return'.
3936         (patch_return): Don't convert booleans to integers, and don't
3937         special-case `null'.
3938
3939 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3940
3941         * config-lang.in (diff_excludes): Remove.
3942
3943 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
3944
3945         * gcj.texi: Update link to GCC manual.
3946
3947 2001-12-17  Tom Tromey  <tromey@redhat.com>
3948
3949         * parse.y (link_nested_class_to_enclosing): Removed useless
3950         statement.
3951
3952 2001-12-16  Tom Tromey  <tromey@redhat.com>
3953
3954         * mangle.c (mangle_method_decl): Never emit `C2' constructor.
3955         Fixes PR java/5088.
3956
3957 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
3958
3959         * ChangeLog, Make-lang.in, class.c, expr.c, gcj.texi, java-tree.h,
3960         jcf-parse.c, jcf-write.c, lex.c, parse.h, parse.y, verify.c: Fix
3961         spelling errors.
3962
3963 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3964
3965         * lex.c (java_read_unicode, java_lex): Use hex_p/hex_value.
3966
3967 2001-12-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3968
3969         * decl.c (java_init_decl_processing): Build otable_type correctly.
3970         otable_decl is an otable_type.
3971
3972 2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3973
3974         * java-tree.h (otable_methods, otable_decl, otable_syms_decl,
3975         otable_type, otable_ptr_type, method_symbol_type,
3976         method_symbols_array_type, method_symbols_array_ptr_type): New
3977         field/global tree definitions.
3978         (flag_indirect_dispatch): New flag.
3979         * decl.c (java_init_decl_processing): Initialize new otable and
3980         otable_syms type nodes and decls. Add new field "index" to
3981         method_type_node.
3982         * class.c (build_method_symbols_entry): New function.
3983         (make_method_value): Set "index" to to method's vtable index for
3984         virtual methods when indirect-dispatch is not used.
3985         (make_class_data): For indirect-dispatch, don't emit the dtable_decl,
3986         and set vtable_method_count to -1. Set otable and otable_syms field
3987         if indirect-dispatch is used and there was something to put in them.
3988         (build_method_symbols_entry): New function.
3989         (emit_offset_symbol_table): New function.
3990         * expr.c (get_offset_table_index): New function.
3991         (build_invokevirtual): Build array reference to otable at the index
3992         returned by get_offset_table_index, and use the result as the vtable
3993         offset.
3994         (build_invokeinterface): Similar.
3995         * jcf-parse.c (yyparse): If indirect-dispatch, call
3996         emit_offset_symbol_table at the end of compilation, after all classes
3997         have been generated.
3998         * jvspec.c: Don't pass findirect-dispatch to jvgenmain.
3999         * lang.c (flag_indirect_dispatch): Define.
4000         (lang_f_options): Add indirect-dispatch flag.
4001
4002 2001-12-14  Matthias Klose  <doko@debian.org>
4003
4004         * gcj.texi: Markup for man page generation. Document missing
4005         options printed by <tool> --help.
4006         Terminate description of gij's -ms option with a dot.
4007         * Make-lang.in ($(srcdir)/java/*.1): New targets.
4008         (java.generated-manpages java.install-man, java.uninstall,
4009         java-maintainer-clean) Updated.
4010
4011 2001-12-14  Hans Boehm  <Hans_Boehm@hp.com>
4012
4013         * class.c (get_dispatch_table): Fix java vtable layout
4014         for TARGET_VTABLE_USES_DESCRIPTORS.
4015         * decl.c (java_init_decl_processing): Initialize
4016         alloc_no_finalizer_node, finalize_identifier_node.
4017         * expr.c (class_has_finalize_method): New function.
4018         (expand_java_NEW): Generate calls for finalizer-free allocation.
4019         (build_invokevirtual): Fix java vtable layout for
4020         TARGET_VTABLE_USES_DESCRIPTORS.
4021         * java-tree.h (enum java_tree_index): New entries:
4022         JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
4023         (alloc_no_finalizer_node, finalize_deintifier_node): New macros.
4024         (class_has_finalize_method): declare.
4025         (HAS_FINALIZER_P): New macro.
4026         * parse.y (patch_invoke): Generate calls for finalizer-free
4027         allocation.
4028
4029 2001-12-12  Matthias Klose  <doko@debian.org>
4030
4031         * Make-lang.in: JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove
4032         whitespace at end of line.
4033
4034 2001-12-11  Tom Tromey  <tromey@redhat.com>
4035
4036         * lex.c (java_init_lex): Define wfl_to_string as
4037         gnu.gcj.runtime.StringBuffer unless generating bytecode.
4038
4039 2001-12-11  Jeff Sturm  <jsturm@one-point.com>
4040
4041         * class.c (make_method_value): Use null_pointer_node to
4042         represent empty exception table.
4043
4044 2001-12-10  Tom Tromey  <tromey@redhat.com>
4045
4046         * check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT.
4047
4048 2001-12-10  Douglas B. Rupp  <rupp@gnat.com>
4049
4050         * Make-lang.in (jvspec.o): Add $(OUTPUT_OPTION).
4051
4052 2001-12-09  Per Bothner  <per@bothner.com>
4053
4054         * check-init.c (current_switch_has_default):  New static field.
4055         (check_init):  Case DEFAULT_EXPR: Set current_switch_has_default.
4056         Case SWITCH_EXPR:  Save/restore current_switch_has_default.  If no
4057         DEFAULT_EXPR seen, simulate a default alternative that copies state.
4058
4059 2001-12-09  Tom Tromey  <tromey@redhat.com>
4060
4061         * check-init.c (check_init): Don't allow pre- or post- increment
4062         or decrement of final variable.
4063         (final_assign_error): Minor error message rewording.
4064
4065 2001-12-08  Tom Tromey  <tromey@redhat.com>
4066
4067         * java-tree.h: Fixed typo.
4068
4069         * gjavah.c (decompile_method): Don't decompile to `return this'
4070         for static methods.
4071
4072         * gjavah.c (cxx_keywords): Re-sorted.
4073         * lex.c (cxx_keywords): Re-sorted.
4074
4075         * gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything
4076         else.
4077
4078         * gjavah.c (print_namelet): Clear subnamelets.