OSDN Git Service

2004-07-23 Thomas Fitzsimmons <fitzsim@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
1 2004-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>
2
3         * Make-lang.in: Replace rmic and rmiregistry references with
4         grmic and grmiregistry.
5         * gcj.texi: Likewise.
6
7 2004-07-20  Andrew Haley  <aph@redhat.com>
8
9         PR java/16431.
10         * verify.c (verify_jvm_instructions): Comment change only.
11
12         * typeck.c (build_java_array_type): Add size field to array name.
13
14         * java-tree.h (LOCAL_SLOT_P): New.
15         (update_aliases): Add PC argument.
16         (pushdecl_function_level): New function.
17
18         * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
19         MODIFY_EXPR, and SAVE_EXPR.
20         (java_gimplify_modify_expr): New function.
21
22         * expr.c (push_type_0): Call find_stack_slot() to create temporary.
23         (expand_iinc): Pass PC to update_aliases().
24         (STORE_INTERNAL): Likewise.
25         (process_jvm_instruction): Likewise.
26
27         * decl.c (base_decl_map): New variable.
28         (uniq): New variable.
29         (update_aliases): Rewrite with more thorough checking.
30         (debug_variable_p): New function.
31         (push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
32         (check_local_named_variable): Delete whole function.
33         (initialize_local_variable): New function.
34         (check_local_unnamed_variable): Add checks and comments.
35         (find_local_variable): Rewrite.
36         (java_replace_reference): New function.
37         (function_binding_level): New variable.
38         (pushdecl_function_level): New function.
39         (maybe_pushlevels): Set DECL_LOCAL_END_PC.
40         (maybe_pushlevels): Call pushdecl() on each of the new decls.
41         (start_java_method): Reset uniq.  Create base_decl_map.  Set
42         function_binding_level.
43         (end_java_method): Null unused fields to save memory.
44         
45 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
46
47         * class.c (add_interface_do): Remove.
48         (set_super_info, interface_of_p, maybe_add_interface,
49         add_interface, make_class_data, layout_class,
50         add_miranda_methods): Adjust BINFO accessors and addition.
51         * expr.c (can_widen_reference_to, lookup_field): Adjust BINFO
52         accessors.
53         * jcf-write.c (generate_classfile): Likewise.
54         * parse.y (patch_anonymous_class, check_inner_circular_reference,
55         check_circular_reference, java_complete_class,
56         check_abstract_method_definitions,
57         java_check_abstract_method_definitions,
58         check_interface_throws_clauses, java_check_abstract_methods,
59         lookup_java_interface_method2,
60         find_applicable_accessible_methods_list): Adjust BINFO accessors
61         and addition.
62         * typeck.c (find_method_in_interfaces): Adjust BINFO accessors.
63
64 2004-07-18  Roger Sayle  <roger@eyesopen.com>
65
66         * builtins.c (max_builtin, min_builtin,
67         java_build_function_call_expr): Replace calls to build with buildN.
68         * class.c (build_class_ref, build_static_field_ref,
69         get_dispatch_table, make_class_data, layout_class_method): Likewise.
70         * constants.c (build_ref_from_constant_pool): Likewise.
71         * decl.c (update_aliases, push_jvm_slot, poplevel, finish_method,
72         add_stmt_to_compound): Likewise.
73         * except.c (build_exception_object_ref, expand_end_java_handler):
74         Likewise.
75         * java-gimplify.c (java_gimplify_case_expr,
76         java_gimplify_default_expr, java_gimplify_block,
77         java_gimplify_new_array_init, java_gimplify_try_expr): Likewise.
78         * jcf-write.c (generate_bytecode_insns): Likewise.
79         * typeck.c (convert_ieee_real_to_integer): Likewise.
80
81 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
82
83         * java-tree.h (builtin_function): Declare.
84
85 2004-07-16  Steven Bosscher  <stevenb@suse.de>
86
87         * parse.y (java_complete_expand_methods, java_expand_classes): Don't
88         abuse restore_line_number_status.
89
90 2004-07-15  Frank Ch. Eigler  <fche@redhat.com>
91
92         g++/15861
93         * jcf-parse.c (java_emit_static_constructor): Specify default
94         priority.
95
96 2004-07-13  Per Bothner  <per@bothner.com>
97
98         * java-tree.h (all_class_filename):  Remove useless macro.
99         (enum java_tree_index):  Remove JTI_ALL_CLASS_FILENAME constant.
100         (BUILD_FILENAME_IDENTIFIER_NODE):  Remove useless macro.
101         * parse.y (java_parser_context_restore_global):  Replace
102         BUILD_FILENAME_IDENTIFIER_NODE by plain get_identifier.
103         * jcf-parse.c (read_class, java_parse_file):  Likewise.
104
105 2004-07-12  Bryce McKinlay  <mckinlay@redhat.com>
106
107         PR java/16474
108         gjavah.c (print_field_info): Emit constant only if field is static.
109
110 2004-07-11  Roger Sayle  <roger@eyesopen.com>
111
112         * expr.c (java_truthvalue_conversion, flush_quick_stack,
113         java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr,
114         build_java_ret, build_java_throw_out_of_bounds_exception,
115         build_java_array_length_access, java_check_reference,
116         build_java_arrayaccess, build_java_arraystore_check, build_newarray,
117         build_anewarray, expand_java_multianewarray, expand_java_arraystore,
118         expand_java_arrayload, build_java_monitor, expand_java_return,
119         expand_load_internal, expand_java_NEW, build_get_class,
120         build_instanceof, expand_java_CHECKCAST, expand_iinc,
121         build_java_soft_divmod, build_java_binop, build_field_ref,
122         expand_compare, expand_java_goto, expand_java_switch,
123         expand_java_add_case, build_class_init, build_known_method_ref,
124         invoke_build_dtable, build_invokevirtual, build_invokeinterface,
125         expand_invoke, build_jni_stub, expand_java_field_op,
126         java_expand_expr, expand_byte_code, STORE_INTERNAL,
127         force_evaluation_order, emit_init_test_initialization): Convert
128         calls to "build" into calls to the prefered "buildN" functions.
129
130 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
131
132         * java-tree.h (set_block): Remove.
133         * lang.c (java_clear_binding_stack): New.
134         (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
135         * decl.c (struct binding_level): Remove this_block.
136         (clear_binding_level): Likewise.
137         (poplevel): Don't handle this_block.
138         (set_block): Remove.
139
140 2004-07-10  Bryce McKinlay  <mckinlay@redhat.com>
141
142         * class.c (common_enclosing_context_p): Remove statement with no
143         side-effects.
144
145 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
146
147         PR java/8618
148         * parse.y (create_anonymous_class): Remove 'location' argument. Use
149         the WFL from TYPE_NAME to get line number for the decl. Fix comment.
150         (craft_constructor): Inherit access flags for implicit constructor
151         from the enclosing class.
152         (create_class): Fix comment typo.
153         (resolve_qualified_expression_name): Pass type of qualifier to
154         not_accessible_p, not the type in which target field was found.
155         (not_accessible_p): Handle inner classes. Expand protected 
156         qualifier-subtype check to enclosing instances, but don't apply this 
157         check to static members. Allow protected access to inner classes
158         of a subtype. Allow private access within common enclosing context.
159         (build_super_invocation): Get WFL line number info from current
160         class decl.
161         (build_incomplete_class_ref): Update for new create_anonymous_class
162         signature.
163         * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Use
164         common_enclosing_instance_p.
165         * class.c (common_enclosing_context_p): New. Determine if types
166         share a common enclosing context, even across static contexts.
167         (common_enclosing_instance_p): Renamed from 
168         common_enclosing_context_p. Determines if types share a common
169         non-static enclosing instance.
170         * java-tree.h (common_enclosing_instance_p): Declare.
171         * jcf-write.c (get_method_access_flags): New. Surpress private flag
172         for inner class constructors.
173         (generate_classfile): Use get_method_access_flags.
174
175 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
176
177         * class.c (interface_of_p): Check for null TYPE_BINFO.
178
179 2004-07-09  Nathan Sidwell  <nathan@codesourcery.com>
180
181         * class.c (make_class): Do not create binfo here.
182         (set_super_info): Create it here.
183         * java-tree.h (CLASS_HAS_SUPER): Cope with lack of a binfo.
184
185 2004-07-08  Richard Henderson  <rth@redhat.com>
186
187         * expr.c (case_identity, get_primitive_array_vtable,
188         java_expand_expr, emit_init_test_initialization): Remove.
189         * java-tree.h (java_expand_expr): Remove.
190         * lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
191
192 2004-07-07  Per Bothner  <per@bothner.com>
193
194         * class.c (build_static_field_ref):  Add a NOP_EXPR; otherwise we
195         get internal error due to mismatched types.
196
197         * gcj.texi (Invoking gij):  Document new -verbose:class flag.
198
199         * gcj.texi (Linking):   New node.  Document -lgij usage.
200
201 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
202
203         * java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
204         (TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
205         * java/class.c (set_super_info, class_depth, interface_of_p,
206         maybe_add_interface, add_interface, make_class_data,
207         layout_class, add_miranda_methods): Adjust BINFO macros.
208         * expr.c (can_widen_reference_to, lookup_field): Likewise.
209         * jcf-write.c (generate_classfile): Likewise.
210         * parse.y (patch_anonymous_class,
211         check_inner_circular_reference, check_circular_reference,
212         java_complete_class, check_abstract_method_definitions,
213         java_check_abstract_method_definitions,
214         check_interface_throws_clauses, java_check_abstract_methods,
215         lookup_java_interface_method2,
216         find_applicable_accessible_methods_list): Likewise.
217         * typeck.c (find_method_in_interface): Likewise.
218         * verify.c (merge_types): Likewise.
219
220 2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
221
222         * java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
223         * class.c (add_interface_do): Use BINFO_VIRTUAL_P.
224
225 2004-07-05  Nathan Sidwell  <nathan@codesourcery.com>
226
227         * class.c (make_class): Use make_tree_binfo.
228         (set_super_info, add_interface_do): Likewise.
229         * java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.
230
231 2004-07-04  Ranjit Mathew  <rmathew@hotmail.com>
232
233         * verify.c: Correct array element access formatting thinko.
234
235 2004-07-04  Ranjit Mathew  <rmathew@hotmail.com>
236
237         * verify.c: Insert a short blurb at the start referring to the JVMS.
238         (merge_type_state): Remove redundant nested if statement.
239         (verify_jvm_instructions): Ensure current_subr is initialised to
240         NULL_TREE.
241         Minor formatting fixes all over the place.
242
243 2004-07-02  Richard Henderson  <rth@redhat.com>
244
245         * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
246
247 2004-07-01  Richard Henderson  <rth@redhat.com>
248
249         * class.c (registerClass_libfunc): Remove.
250         (init_class_processing): Don't set it.
251         (emit_register_classes): Take list_p parameter.  Fill it in
252         with _Jv_RegisterClass calls.
253         * decl.c (java_init_decl_processing): Don't call
254         init_resource_processing.
255         * jcf-parse.c (java_emit_static_constructor): New.
256         (java_parse_file): Call it.
257         * resource.c (registerResource_libfunc): Remove.
258         (init_resource_processing): Remove.
259         (write_resource_constructor): Take list_p parameter.  Fill it in
260         with _Jv_RegisterResource calls.
261         * java-tree.h: Update prototypes.
262
263 2004-06-29  Bryce McKinlay  <mckinlay@redhat.com>
264
265         PR java/1262
266         * class.c (layout_class_method): Do not override package-private
267         method if its in a different package.
268         (split_qualified_name): Move here from parse.y. Rename from
269         breakdown_qualified. Add comment.
270         (in_same_package): Move here from parse.y. Add comment.
271         * java-tree.h (break_down_qualified, in_same_package): Declare.
272         (in_same_package): Likewise.
273         * parse.y (breakdown_qualified, in_same_package): Moved to class.c.
274         Callers updated.
275
276 2004-06-29  Andrew Haley  <aph@redhat.com>
277
278         * except.c (expand_start_java_handler): Push a new binding level.
279         Don't build a TRY_CATCH_EXPR now, we'll do it later.  Call
280         register_exception_range() to register where we'll do it.
281         (expand_end_java_handler): Remove old bogus code.  Replace with
282         new logic that simply builds TRY_CATCH_EXPRs and inserts them at
283         the top of the expression we're curently building.
284         (maybe_end_try): Delete.
285         * decl.c (binding_level.exception_range): New field.
286         (clear_binding_level): Add field exception_range.  Reformat.
287         (poplevel): Call expand_end_java_handler().
288         (poplevel): Call java_add_stmt only if functionbody is false.
289         (maybe_poplevels): Don't call maybe_end_try() from here.
290         (end_java_method): Clear no longer used trees in function decl.
291         (register_exception_range): New function.
292         * java-tree.h (register_exception_range, struct eh_range): Declare.
293
294 2004-06-28  Bryce McKinlay  <mckinlay@redhat.com>
295
296         * jcf-write.c (get_classfile_modifiers): Formatting fixes.
297
298 2004-06-27  Ranjit Mathew  <rmathew@hotmail.com>
299
300         Formatting fixes.
301         * expr.c (class_has_finalize_method): Fix method name indentation.
302         (expand_java_call): Remove K&R style parameter declaration.
303         (expand_invoke): Fix statement indentation.
304         (expand_java_field_op): Likewise.
305         * parse-scan.y: Fix typo.
306         (reset_report): Fix method name indentation.
307         * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
308         line. Fix typos.
309         * verify.c (verify_jvm_instructions): Document parameters, insert
310         page break.
311         * lang.c (lang_init_source): Fix method name indentation.
312         * class.c (common_enclosing_context_p): Likewise.
313         (emit_symbol_table): Fix parameter list indentation.
314         * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
315         parameter declaration.
316         * constants.c: Fix copyright notice indentation.
317         * typeck.c (find_method_in_superclasses): Fix parameter list
318         indentation.
319         (find_method_in_interfaces): Likewise.
320         * zextract.c (makelong): Fix method name indentation.
321
322 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
323
324         PR java/15715.
325         * parse.y (create_interface): Set correct access modifiers for
326         interfaces.
327         * jcf-write.c (get_classfile_modifiers): New function.
328         (generate_classfile): Use get_classfile_modifiers, not 
329         get_access_flags.
330
331 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
332
333         * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
334         dependency to current parser context, not NULL_TREE, for top-level
335         classes.
336         (jdep_resolve_class): Enable member access check for all inner
337         class dependencies.
338
339 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
340
341         * parse.y (qualify_and_find): Pass type decl, not identifier, to 
342         load_class.
343
344 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
345
346         PR java/15734
347         * expr.c (expand_java_field_op): Ensure that target class for static
348         field access has been loaded.
349
350 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
351             Ranjit Mathew  <rmathew@hotmail.com>
352
353         PR java/1207, java/16178
354         * jcf-parse.c (load_class): Return immediately if passed a type decl
355         where CLASS_FROM_SOURCE_P is set. Remove FIXME.
356         * parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P
357         before calling load_class.
358         (qualify_and_find): Likewise.
359         (find_in_imports_on_demand): Likewise.
360         (find_applicable_accessible_methods_list): Likewise.
361
362 2004-06-24  Bryce McKinlay  <mckinlay@redhat.com>
363
364         * parse.y (java_layout_seen_class_methods): Don't call load_class
365         on class defined by source parser.
366
367 2004-06-23  Bryce McKinlay  <mckinlay@redhat.com>
368
369         * parse.y (set_nested_class_simple_name_value): Removed.
370         (java_complete_expand_class): Remove calls to
371         set_nested_class_simple_name_value.
372
373 2004-06-22  Andrew Haley  <aph@redhat.com>
374             Ranjit Mathew  <rmathew@hotmail.com>
375         
376         Fixes PR java/16113.
377         * decl.c (force_poplevels): Remove call to expand_end_bindings.
378
379 2004-06-22  Ranjit Mathew  <rmathew@hotmail.com>
380
381         * parse.y (create_class): Correct diagnostic message about
382         java.lang.Object extending anything else.
383
384 2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
385
386         * class.c (build_class_ref): Add new operand for COMPONENT_REF.
387         (build_static_field_ref): Likewise and add new operands for ARRAY_REF.
388         * constants.c (build_ref_from_constant_pool): Likewise.
389         * expr.c (build_java_array_length_access): Likewise.
390         (build_get_class, build_field_ref, build_known_method_ref): Likewise.
391         (invoke_build_dtable, build_invokevirtual): Likewise.
392         (build_invokeinterface, java_expand_expr): Likewise.
393         (emit_init_test_initialization): Likewise.
394         * java-gimplify.c (java_gimplify_new_array_init): Likewise.
395         * parse.y (make_qualifed_name, build_array_ref): Likewise.
396         
397 2004-06-21  Andrew Haley  <aph@redhat.com>
398
399         * java-gimplify.c (java_gimplify_block): set TREE_USED on the new
400         block.
401
402 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
403
404         * jcf.h (struct JCF): Change java_source, right_zip and finished
405         to unsigned int.
406         * lex.h (struct java_lexer): Change hit_eof, read_anything,
407         byte_swap and use_fallback to unsigned int.
408         * parse.h (struct _jdep): Change flag0 to unsigned int.
409
410 2004-06-17  Ranjit Mathew  <rmathew@hotmail.com>
411
412         Fixes PR java/13948
413         * parse.y (java_layout_seen_class_methods): Ensure class is loaded
414         before trying to lay out its methods.
415         * jcf-parse.c (read_class): Track parsed files using canonical paths
416         obtained via lrealpath from libiberty.
417         (java_parse_file): Likewise.
418         (parse_source_file_1): Rename formal parameter to reflect its
419         modified purpose. Minor formatting fix.
420
421 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
422
423         * class.c (emit_register_classes): Make the function uninlinable,
424         do not set current_function_cannot_inline.
425         * resource.c (write_resource_constructor): Do not reset
426         flag_inline_functions around rest_of_compilation.
427         
428 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
429
430         PR java/15769
431         * expr.c (java_truthvalue_conversion): Handle
432         UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
433         ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
434         i.e. return the expression.
435
436 2004-06-03 Mark G. Adams  <mark.g.adams@sympatico.ca>
437
438         * gjavah.c: Include version.h
439
440 2004-05-31  Bryce McKinlay  <mckinlay@redhat.com>
441
442         * jcf-write.c (generate_bytecode_conditional): Correct handling
443         of unordered conditionals. Add comment.
444
445 2004-05-29  Ranjit Mathew  <rmathew@hotmail.com>
446             Per Bothner  <per@bothner.com>
447
448         * java-tree.h (DECL_LOCAL_FINAL_IUD): New macro to test if a
449         local variable was initialised upon declaration.
450         * parse.y (declare_local_variables): Set DECL_LOCAL_FINAL_IUD if
451         variable was final and initialised upon declaration.
452         * check-init.c (check_final_reassigned): Give error only if a blank
453         final is not definitely unassigned or if an initialised final is
454         reassigned.
455         (check_bool_init): Respect JLS2 16.1.7 requirements for boolean
456         assignment expressions. Remove case MODIFY_EXPR, label do_default.
457         (check_init): Perform initialised-variable-removing-optimisation
458         only on non-final local variables.
459
460 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
461
462         * jcf-write.c (generate_bytecode_conditional): Handle binops 
463         UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, 
464         and LTGT_EXPR.
465         (generate_bytecode_insns): Likewise.
466
467 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
468
469         * check-init.c (check_init): Handle binops UNLT_EXPR, UNLE_EXPR,
470         UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, and LTGT_EXPR.
471
472 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
473
474         * gcj.texi (Object allocation): Remove _Jv_AllocBytes.
475         (Mixing with C++): Document JvAllocBytes and RawDataManaged.
476
477 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
478
479         * decl.c (struct binding_level): Add GTY marker. Compile
480         binding_depth unconditionally.
481         (current_binding_level, free_binding_level, global_binding_level):
482         Likewise.
483         (clear_binding_level): Unconditionally set binding_depth.
484         (make_binding_level): Use ggc_alloc_cleared, not xmalloc.
485
486 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
487
488         * lex.c (java_new_lexer): Set 'encoding'.
489         (java_read_char): Improve error message for unrecognized characters.
490         * lex.h (struct java_lexer): New field 'encoding'.
491
492 2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
493
494         * Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
495
496 2004-05-21  Mark Wielaard  <mark@klomp.org>
497
498         * gjavah.c (print_stub_or_jni): Mark functions only JNIEXPORT, not
499         extern.
500
501 2004-05-19  Paolo Bonzini  <bonzini@gnu.org>
502
503         * typeck.c: Remove non-printable character 160.
504
505 2004-05-17  Ranjit Mathew  <rmathew@hotmail.com>
506
507         * check-init.c: Correct minor typos.
508
509 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
510
511         * Make-lang.in, expr.c, java-gimplify.c: Rename
512         tree-simple.[ch] to tree-gimple.[ch].
513
514 2004-05-14  Ranjit Mathew  <rmathew@hotmail.com>
515
516         * java-gimplify.c (java_gimplify_expr): Correct minor typos.
517
518 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
519
520         Merge from tree-ssa-20020619-branch.  See
521         ChangeLog.tree-ssa for details.
522
523         * Make-lang.in, builtins.c, check-init.c, class.c,
524         constants.c, decl.c, except.c, expr.c, java-except.h,
525         java-tree.def, java-tree.h, jcf-parse.c, jcf-write.c,
526         lang.c, lang.opt, parse.y, resource.c: Merged.
527         * java-gimplify.c: New file.
528
529 2004-05-10  Andrew Haley  <aph@redhat.com>
530
531         * parse.y (create_class): Set TYPE_VFIELD.
532         * decl.c (java_init_decl_processing): Likewise.
533
534         * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
535         * class.c (make_method_value): Replace DECL_VINDEX with call to
536         get_method_index().
537         (get_dispatch_vector): Likewise.
538         (layout_class_method): Likewise.
539         Replace set of DECL_VINDEX with call to set_method_index().
540         (set_method_index): New function.
541         (get_method_index): New function.
542         * java-tree.h (set_method_index): New function decl.
543         (get_method_index): New function decl.
544
545 2004-05-10  Andrew Pinski  <pinskia@physics.uc.edu>
546
547         * parse.y (check_pkg_class_access): Add new argument
548         and use it when cl is NULL to call lookup_cl on it.
549         (parser_check_super_interface): Do not call lookup_cl.
550         Pass this_decl to check_pkg_class_access and NULL
551         instead of lookup_cl.
552         (parser_check_super): Update for change in
553         check_pkg_class_access.
554         (do_resolve_class): Likewise.
555         (process_imports): Likewise.
556         (find_in_imports_on_demand): Likewise.
557         (resolve_qualified_expression_name): Likewise.
558
559 2004-05-06  Ranjit Mathew  <rmathew@hotmail.com>
560
561         Fixes PR java/9685, PR java/15073
562         * parse.y (accessibility_string): New method.
563         (not_accessible_field_error): Use accessibility_string()
564         instead of java_accstring_lookup().
565         (resolve_qualified_expression_name): Check with
566         check_pkg_class_access() before allowing access using
567         qualified names.
568         Fix comment typo.
569         Use check_pkg_class_access() instead of not_accessible_p()
570         for unqualified types.
571         (not_accessible_p): Use DECL_CONTEXT (member) instead of 
572         REFERENCE for package-private access checking.
573         (patch_method_invocation): Use accessibility_string() instead
574         of java_accstring_lookup().
575
576 2004-04-30  Ranjit Mathew  <rmathew@hotmail.com>
577
578         Fixes PR java/15133
579         * gjavah.c (struct method_name): Add member is_native.
580         (overloaded_jni_method_exists_p): Match candidate method only if
581         it is native.
582         (print_method_info): Initialise is_native flag from the method's
583         access flags.
584
585 2004-04-30  Roger Sayle  <roger@eyesopen.com>
586
587         * builtins.c (java_builtins): Add acos, asin, ceil and floor.
588         (initialize_builtins): Likewise, define acos, asin, ceil and floor.
589
590 2004-04-22  Roger Sayle  <roger@eyesopen.com>
591
592         * resource.c (write_resource_constructor): Guard call to possibly
593         NULL targetm.asm_out.constructor with targetm.have_ctors_dtors.
594
595 2004-04-19  Bryce McKinlay  <mckinlay@redhat.com>
596
597         * class.c (make_class_data): Add new field aux_info.
598         * decl.c (java_init_decl_processing): Push type and decl for 
599         `aux_info'.
600
601 2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>
602
603         * expr.c (expand_java_NEW): Don't use size argument for 
604         _Jv_AllocObject calls.
605         * parse.y (patch_invoke): Likewise.
606
607 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
608
609         * expr.c (build_invokeinterface): Remove unused variables to
610         fix warnings.
611
612 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
613
614         * class.c (get_interface_method_index): New function. Return dispatch 
615         index for interface method.
616         (make_method_value): For interface methods, set index field to
617         iface dispatch index, not DECL_VINDEX.
618         * expr.c (build_invokeinterface): Use get_interface_method_index.
619
620 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
621
622         * jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
623
624 2004-03-31  Andrew Haley  <aph@redhat.com>
625
626         PR java/14104
627         * jcf-io.c (opendir_in_zip): Tidy up error handling.
628
629 2004-03-30  Zack Weinberg  <zack@codesourcery.com>
630
631         * builtins.c, expr.c, jcf.h, parse.h: Use new shorter
632         form of GTY markers.
633
634 2004-03-25  Marcus Meissner  <meissner@suse.de>
635
636         PR java/14689:
637         * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
638
639 2004-03-23  Tom Tromey  <tromey@redhat.com>
640
641         PR java/14315:
642         * jcf-write.c (make_class_file_name): Don't report if mkdir
643         failed with EEXIST.
644
645 2004-03-23  Tom Tromey  <tromey@redhat.com>
646
647         * gcj.texi (Extensions): Document GCJ_PROPERTIES.
648
649 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
650
651         * class.c, gjavah.c, lang.c: Fix comment typos.
652         * gcj.texi: Fix typos.
653
654 2004-03-19  Per Bothner  <per@bothner.com>
655
656         * gcj.texi (Code Generation):  Document new flags and assert defaults.
657
658         * class.c (assume_compiled_node_struct):  Rename type to
659         class_flag_node_struct, as it is now also used for enable_assertions.
660         Rename assume_compiled_node typedef.  Rename excludep field to value.
661         (find_assume_compiled_node):  Rename function to find_class_flag_node.
662         Minor optimization - avoid needless strlen.
663         (add_assume_compiled):  Some tweaking and optimization.
664         Rename and generalize to add_class_flag takem an extra parameter.
665         (add_assume_compled):  New just calls add_class_flag.
666         (add_enable_assert, enable_assertions):  New functions.
667         (enable_assert_tree):  New static.
668         * java-tree.h (add_enable_assert, enable_assertions): New declarations.
669         * lang.opt (fenable-assertions, fenable-assertions=,
670         fdisable-assertions, fdisable-assertions=):  New options.
671         * lang.c (java_handle_option):  Handle new options.
672         * parse.y (build_incomplete_class_ref):  Handle class$ in an inner
673         class in an interface - create helper class nested in outer interface.
674         (build_assertion):  Short-circuit if enable_assertions is false.
675
676 2004-03-18  Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
677
678         * java-tree.h: Changes throughout to add checking to macros
679         and numerous whitespace changes.
680         (VAR_OR_FIELD_CHECK): New macro.
681         * jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC,
682         FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL.
683
684 2004-03-16  Per Bothner  <per@bothner.com>
685
686         * jcf-jump.c (options):  New --print-constants option.
687         * gcj.texi (Invoking jcf-dump):  Document --print-constants.
688
689         * jcf-dump.c (flag_print_constant_pool):  Default to off.
690         (print_constant_terse_with_index):  New helper function.
691         (various places):  Check flag_print_constant_pool where missing.
692         (main):  If verbose set flag_print_constant_pool.
693         (HANDLE_INNERCLASSES_ATTRIBUTE):  Null inner class name is anonymous.
694
695 2004-03-15  Andrew Haley  <aph@redhat.com>
696
697         PR java/14581
698         * parse.y (java_complete_lhs): Check that final variable has an
699         initializer.
700
701 2004-03-12  Andrew Haley  <aph@redhat.com>
702
703         PR java/14551
704         * typeck.c (convert): Clear TREE_OVERFLOW after an integer
705         conversion.
706
707 2004-02-29  Roger Sayle  <roger@eyesopen.com>
708
709         * jcf-parse.c (java_parse_file): Handle the case that input_filename
710         is NULL.
711
712 2004-02-27  Per Bothner  <per@bothner.com>
713
714         * parse.y (build_assertion):  Re-do 02-25 change following Jeff Sturm
715         suggestion:  Use build_incomplete_class_ref.
716         This fixes PR java/13508, java/11714.
717
718 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
719
720         * java/parse.h: Update copyright.
721
722 2004-02-26  Andrew Haley  <aph@redhat.com>
723
724         PR java/14231:
725         * parse.y (check_interface_throws_clauses): Check for
726         !METHOD_INVISIBLE (iface_method).
727         * class.c (layout_class_methods): Check for CLASS_INTERFACE as
728         well as CLASS_ABSTRACT.
729
730 2004-02-25  Per Bothner  <per@bothner.com>
731
732         * parse.y (build_assertion):  If we're in an inner class, create the
733         class$ helper routine in the outer class.
734
735 2004-02-19  Richard Henderson  <rth@redhat.com>
736
737         * parse.y (switch_label): Use make_node for DEFAULT_EXPR.
738
739 2004-02-16  Geoffrey Keating  <geoffk@apple.com>
740
741         * Make-lang.in (java.install-man): Add extra dependencies.
742
743 2004-02-13  Geoffrey Keating  <geoffk@apple.com>
744
745         * Make-lang.in: Install man pages under the same names
746         (possibly transformed) as the program they document.
747
748 2004-02-10  Joseph S. Myers  <jsm@polyomino.org.uk>
749
750         * gjavah.c: Include "intl.h".
751         (error): New function.
752         (main): Call gcc_init_libintl.
753         (get_field_name, throwable_p, print_c_decl, print_full_cxx_name,
754         print_stub_or_jni, process_file, main): Use error rather than
755         fprintf.
756         (print_method_info, usage, help, version, main): Mark strings for
757         translation with _.  Avoid splitting up sentences.  Send
758         information messages to stdout.
759         * jcf-dump.c: Include "intl.h".
760         (main): Call gcc_init_libintl.
761         (process_class, usage, help, version, main, CHECK_PC_IN_RANGE):
762         Mark error, usage and version messages for translation with _.
763         Avoid splitting up sentences.
764         * jv-scan.c: Include "intl.h".
765         (fatal_error, warning): Change parameter s to msgid.  Translate
766         messages.
767         (main): Call gcc_init_libintl.
768         (usage, help, version): Mark error, usage and version messages for
769         translation with _.  Avoid splitting up sentences.
770         * jvgenmain.c: Include "intl.h".
771         (main): Call gcc_init_libintl.
772         (usage, main): Mark error messages for translation with _.
773         * Make-lang.in (GCJH_OBJS, JVSCAN_OBJS, JCFDUMP_OBJS,
774         JVGENMAIN_OBJS): Add intl.o.
775         (java/jcf-dump.o, java/gjavah.o, java/jv-scan.o,
776         java/jvgenmain.o): Update dependencies.
777
778 2004-02-08  Per Bothner  <per@bothner.com>
779
780         * parse.y (resolve_qualified_expression_name):  In case of inaccessible
781         class don't use not_accessible_field_error, which can get confused.
782
783 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
784
785         Make-lang.in (po-generated):  Delete.
786
787 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
788
789         * Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
790         Depend on target.h.
791         * decl.c: Include target.h.
792         (start_java_method): Replace PROMOTE_PROTOTYPES with
793         targetm.calls.promote_prototypes.
794         * expr.c: Include target.h.
795         (pop_arguments): Replace PROMOTE_PROTOTYPES with
796         targetm.calls.promote_prototypes.
797         * parse.y: Include target.h.
798         (start_complete_expand_method): Replace PROMOTE_PROTOTYPES
799         with targetm.calls.promote_prototypes.
800
801 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
802
803         * typeck.c: Update copyright.
804
805 2004-02-02  Tom Tromey  <tromey@redhat.com>
806
807         * decl.c (java_init_decl_processing): Remove duplicate
808         gnu/gcj/RawData.
809
810 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
811
812         * Make-lang.in (doc/gcj.dvi): Use $(abs_docdir).
813
814 2004-01-28  Andrew Pinski  <pinskia@physics.uc.edu>
815
816         * expr.c (build_field_ref): Move variable
817         definition up.
818
819 2004-01-28  Andrew Haley  <aph@redhat.com>
820
821         * expr.c (build_field_ref): Widen field offset.
822
823 2004-01-27  Andrew Haley  <aph@redhat.com>
824
825         java/13273
826         * parse.y (check_interface_throws_clauses): Make sure class_decl
827         has been loaded.
828
829 2004-01-22  Jeff Sturm  <jsturm@one-point.com>
830
831         PR java/13733
832         * parse.y (patch_assignment): Don't modify lhs_type for
833         reference assignments.
834
835 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
836
837         * Make-lang.in: Replace $(docdir) with doc.
838         (java.info, java.srcinfo, java.man, java.srcman): New rules.
839         (java.install-man): Revamp rule.
840
841 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
842
843         * Make-lang.in (JAVA_INSTALL_NAME, JAVA_TARGET_INSTALL_NAME,
844         GCJH_TARGET_INSTALL_NAME): Define via a immediate $(shell)
845         instead of deferred backquote.
846
847 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
848
849         * typeck.c (find_method_in_interfaces): Move variable
850         definition up.
851
852 2004-01-16  Andrew Haley  <aph@redhat.com>
853
854         PR java/13273:
855         * typeck.c (shallow_find_method): New.
856         (find_method_in_superclasses): New.
857         (find_method_in_interfaces): New.
858         (lookup_do): Rewrite.
859         * java-tree.h (SEARCH_ONLY_INTERFACE): Delete.
860
861         * jcf-parse.c (read_class): Save and restore output_class.
862         * decl.c (java_expand_body): Set output_class from fndecl.
863
864 2004-01-15  Michael Chastain  <mec.gnu@mindspring.com>
865
866         * class.c (gen_indirect_dispatch_tables): Fix string length
867         calculations.
868
869 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
870
871         * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
872         (java.srcextra): Copy above back to source directory if requested.
873         (po-generated): Delete reference to $(parsedir).
874         (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
875         Use implicit rule.
876
877 2004-01-14  Jan Hubicka  <jh@suse.cz>
878
879         * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
880         estimation.
881
882 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
883
884         * java-tree.h (java_expand_expr): Change prototype.
885         * expr.c (java_expand_expr): Add alt_rtl parameter.
886
887 2004-01-09  Andrew Haley  <aph@redhat.com>
888
889         PR java/12755:
890         * parse.y (java_fix_constructors):  Set output_class.
891         (java_reorder_fields): Likewise.
892         (java_layout_classes): Likewise.
893         (java_expand_classes): Generate indirect dispatch tables.
894         (java_expand_classes): Set output_class.
895         (java_finish_classes): Likewise.
896         * lang.c (java_init): Turn on always_initialize_class_p if we're
897         using indirect dis[atch.
898         (java_decl_ok_for_sibcall): Use output_class, not current_class.
899         (java_get_callee_fndecl): Use class local atable.
900         * jcf-parse.c
901         (always_initialize_class_p): Decl moved to java-tree.h.
902         (HANDLE_CLASS_INFO): Set output_class.
903         (read_class): Likewise.
904         (parse_class_file): Call gen_indirect_dispatch_tables.
905         (parse_zip_file_entries): Set output_class.
906         (java_parse_file): Set output_class.  Don't emit symbol tables.
907         * java-tree.h (output_class): New.
908         Remove global declarations for otable, atable, and ctable.
909         (always_initialize_class_p): moved here from decl.c.
910         (DECL_OWNER): New.
911         (TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL,
912         TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL,
913         TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New.
914         (struct lang_type): Add otable_methods, otable_decl,
915         otable_syms_decl, atable_methods, atable_decl, atable_syms_decl,
916         ctable_decl, catch_classes, type_to_runtime_map.
917         * expr.c (build_field_ref): Make otable, atable, and ctable class
918         local rather than global.
919         (build_known_method_ref): Likewise.
920         (build_invokeinterface): Likewise.
921         (java_expand_expr): Pass runtime type (rather than actual type) to
922         expand_start_catch.
923         * except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for
924         this class.  Look up each class in that map to delete duplicates.
925         (expand_end_java_handler): Pass runtime type (rather than actual
926         type) to expand_start_catch.
927         * decl.c: (always_initialize_class_p): Decl moved to java-tree.h.
928         (do_nothing): New.
929         (java_init_decl_processing): Rearrange things.  Remove global
930         declarations of otable, atable, and ctable.
931         (java_init_decl_processing): Make lang_eh_runtime_type do_nothing.
932         (java_expand_body): Set output_class.
933         * constants.c (build_constant_data_ref): Use output_class, not
934         current_class.
935         (alloc_name_constant): Likewise.
936         * class.c (gen_indirect_dispatch_tables): New.
937         (build_class_ref): Generate hard reference to superclass, even if
938         using indirect dispatch.
939         (build_static_field_ref): Use class local atable.
940         (make_class_data): Generate hard reference to superclass, even if
941         using indirect dispatch.
942         Generate symbolic references to interfaces when using indirect
943         dispatch.
944         (make_class_data): Emit otable, atable, and ctable.
945         Make otable, atable, and ctable class local rather than global.
946         (emit_catch_table): Make otable, atable, and ctable class local
947         rather than global.
948
949 2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
950
951         * parse.y (catch_clause_parameter): Fix typo.
952
953         PR java/13404
954         * parse.y: (catch_clause_parameter): Return early if $3, aka
955         formal_parameter, is null.
956
957 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
958
959         * class.c: Remove uses of "register" specifier in
960         declarations of arguments and local variables.
961         * decl.c: Likewise.
962         * expr.c: Likewise.
963         * gjavah.c: Likewise.
964         * jcf-dump.c: Likewise.
965         * jcf-io.c: Likewise.
966         * jcf-parse.c: Likewise.
967         * jcf-write.c: Likewise.
968         * keyword.h: Likewise.
969         * parse.y: Likewise.
970         * typeck.c: Likewise.
971         * verify.c: Likewise.
972
973 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
974
975         * Make-lang.in (GCJ_CROSS_NAME): Delete.
976         (java.install_common, java.install-man): Adjust for above.
977         (java.uninstall): Likewise.
978
979 2003-12-03  Michael Koch  <konqueror@gmx.de>
980
981         * class.c (make_class_data):
982         Push field value to 'hack_signers' instead of 'signers'.
983         * decl.c (java_init_decl_processing):
984         Push field 'hack_signers' instead of 'signers'.
985
986 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
987
988         * lex.h: Check both HAVE_ICONV and HAVE_ICONV_H before
989         including iconv.h.
990
991 2003-12-03  Ralph Loader  <rcl@ihug.co.nz>
992
993         PR java/12374:
994         * parse.y (qualify_ambiguous_name): Remove lots of broken
995         field access processing - there's no need to do that here,
996         because we have resolve_field_access.  Remove
997         RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
998         * java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
999         used.
1000
1001 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
1002
1003         Fix PR java/13237
1004         * parse.y (java_complete_lhs): Save location prior to patching
1005         CALL_EXPR.
1006
1007 2003-11-25  Mohan Embar  <gnustuff@thisiscool.com>
1008
1009         PR java/12548
1010         * resource.c (write_resource_constructor): Append
1011         "_resource" to constructor identifier name.
1012
1013 2003-11-25  Jeff Sturm  <jsturm@one-point.com>
1014
1015         Fix PR java/13183.
1016         * constants.c (cpool_for_class): New function.
1017         (outgoing_cpool): Remove global variable.
1018         (alloc_name_constant): Use cpool_for_class.
1019         (build_constants_constructor): Likewise.
1020         * decl.c (java_expand_body): Set current_class.
1021         * java-tree.h (outgoing_cpool) Remove declaration.
1022         (init_outgoing_cpool): Likewise.
1023         * jcf-parse.c (init_outgoing_cpool): Remove function.
1024         (parse_class_file): Don't call init_outgoing_cpool.
1025         * parse.y (java_complete_expand_methods): Don't call
1026         init_outgoing_cpool.  Don't save outgoing_cpool.
1027         (java_expand_classes): Don't restore outgoing_cpool.
1028         (java_finish_classes): Likewise.
1029
1030 2003-11-24  Mohan Embar  <gnustuff@thisiscool.com>
1031
1032         * Make-lang.in: (java.install-common) Add
1033         symlink for $(target_noncanonical)-gcjh for
1034         native builds.
1035
1036 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1037
1038         * Make-lang.in (java.extraclean): Delete.
1039
1040 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1041
1042         * Make-lang.in (check-java): Add.
1043
1044 2003-11-19  Jeff Sturm  <jsturm@one-point.com>
1045
1046         Fix PR java/13024.
1047         * except.c (prepare_eh_table_type): Allocate variable-sized
1048         buffer `buf' with alloca.
1049
1050 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
1051
1052         Fix PR java/12857.
1053
1054         decl.c (java_init_decl_processing): Don't initialize
1055         class_not_found_type_node, no_class_def_found_type_node.
1056
1057         java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE,
1058         JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index.
1059         (class_not_found_type_node, no_class_def_found_type_node):
1060         Don't define.
1061
1062         parse.y (build_dot_class_method_invocation): Add this_class
1063         argument.  Qualify method invocations to a different class.
1064         (create_new_parser_context): Initialize saved_data_ctx to 0.
1065         (java_parser_context_save_global): Initialize saved_data_ctx to 1.
1066         (build_dot_class_method): Don't load classes.  Register
1067         incomplete types.
1068         (build_incomplete_class_ref): Special cases for interfaces
1069         and inner classes.  Move build_dot_class_method call to here...
1070         (patch_incomplete_class_ref): ...from here.  Pass current_class
1071         to build_dot_class_method_invocation.
1072         (build_assertion): Pass class_type to
1073         build_dot_class_method_invocation.
1074         (encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node.
1075
1076 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
1077
1078         Fix PR java/12739.
1079         * java-tree.h (BLOCK_EMPTY_P): Define.
1080         * parse.y (java_complete_lhs): Check for empty blocks
1081         in TRY_FINALLY_EXPR case.
1082
1083 2003-11-17  Andrew Haley  <aph@redhat.com>
1084
1085         * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
1086         (struct lang_decl_var:freed): New variable.
1087         * decl.c (poplevel): Mark local vars that have gone out of scope.
1088         (push_jvm_slot): Don't use the RTL of a var that has gone out of
1089         scope.
1090
1091 2003-11-16  Jason Merrill  <jason@redhat.com>
1092
1093         * Make-lang.in (java.tags): Create TAGS.sub files in each directory
1094         and TAGS files that include them for each front end.
1095
1096 2003-11-15  Tom Tromey  <tromey@redhat.com>
1097
1098         * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
1099
1100 2003-11-12  Jason Merrill  <jason@redhat.com>
1101
1102         PR optimization/12547
1103         * lang.c (java_tree_inlining_walk_subtrees): Just walk
1104         BLOCK_EXPR_BODY directly.
1105
1106 2003-11-12  Andrew Haley  <aph@redhat.com>
1107
1108         PR java/11045
1109         * parse.y (fold_constant_for_init): Check that we really do have a
1110         constant.
1111
1112         PR java/11533
1113         * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
1114         init_test_decls being inlined.
1115
1116         PR java/12890:
1117         * parse.y (do_resolve_class): Check return value from
1118         breakdown_qualified().
1119
1120 2003-11-11  Tom Tromey  <tromey@redhat.com>
1121
1122         PR java/12915:
1123         * parse.y (merge_string_cste): Handle case where we have a
1124         pointer that happens to be zero, not null_pointer_node.
1125
1126 2003-11-10  Tom Tromey  <tromey@redhat.com>
1127
1128         * jcf-parse.c (classify_zip_file): Correctly compare
1129         filename_length against length of manifest file's name.
1130
1131 2003-11-08  Tom Tromey  <tromey@redhat.com>
1132
1133         PR java/12894:
1134         * jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.
1135
1136 2003-11-06  Andrew Haley  <aph@redhat.com>
1137
1138         * expr.c (java_stack_swap): Make sure destination stack slots are
1139         of the correct type.
1140
1141 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
1142
1143         * Make-lang.in (dvi): Move targets to $(docobjdir).
1144         (gcj.dvi): Simplify rule and adjust target.
1145         (gcj.info): Simplify rule.
1146         (gcj.pod): New intermediate rule.
1147         (gcjh.pod): Likewise.
1148         (jv-scan.pod): Likewise.
1149         (jcf-dump.pod): Likewise.
1150         (gij.pod): Likewise.
1151         (jv-convert.pod): Likewise.
1152         (rmic.pod): Likewise.
1153         (rmiregistry.pod): Likewise.
1154         (gcj.1): Delete.
1155         (gcjh.1): Delete.
1156         (jv-scan.1): Delete.
1157         (jcf-dump.1): Delete.
1158         (gij.1): Delete.
1159         (jv-convert.1): Delete.
1160         (rmic.1): Delete.
1161         (rmiregistry.1): Delete.
1162
1163 2003-11-02  Jeff Sturm  <jsturm@one-point.com>
1164
1165         Fixes PR java/12866.
1166         * parse.y (resolve_qualified_expression_name): Move test
1167         for outer field access methods from here...
1168         (check_thrown_exceptions) ...to here.
1169
1170 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
1171
1172         * .cvsignore: Delete.
1173
1174 2003-10-28  Frank Ch. Eigler  <fche@redhat.com>
1175
1176         * verify.c (verify_jvm_instructions): Don't warn about legal
1177         eh binding regions generated for example by jdk 1.4.1.
1178
1179 2003-10-24  David S. Miller  <davem@redhat.com>
1180
1181         * jcf-parse.c (jcf_parse): Fix args to fatal_error().
1182
1183 2003-10-22  Andrew Haley  <aph@redhat.com>
1184
1185         * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
1186         (java_get_callee_fndecl): New.
1187
1188         * jcf-parse.c (java_parse_file): Call emit_catch_table().
1189
1190         * java-tree.h (ctable_decl): New.
1191         (catch_classes):  New.
1192         (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
1193
1194         * decl.c (java_init_decl_processing): Add catch_class_type.
1195         Add ctable_decl.
1196         Add catch_classes field.
1197
1198         * class.c (build_indirect_class_ref): Break out from
1199         build_class_ref.
1200         (make_field_value): Check flag_indirect_dispatch.
1201         (make_class_data): Ditto.
1202         Tidy uses of PUSH_FIELD_VALUE.
1203         Add field catch_classes.
1204         (make_catch_class_record): New.
1205
1206         * java-tree.h (PUSH_FIELD_VALUE): Tidy.
1207
1208 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1209
1210         * jcf-write.c: Follow spelling conventions.
1211         * parse.y: Likewise.
1212
1213 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1214
1215         * ChangeLog: Fix typos.
1216         * expr.c: Fix comment typos.
1217         * jcf-write.c: Likewise.
1218         * lang.c: Likewise.
1219         * lex.c: Likewise.
1220         * mangle.c: Likewise.
1221         * parse-scan.y: Likewise.
1222         * parse.y: Likewise.
1223
1224 2003-10-22  Tom Tromey  <tromey@redhat.com>
1225
1226         * expr.c (expand_byte_code): Only warn about dead bytecode when
1227         extra_warnings is set.
1228
1229 2003-10-22  Bryce McKinlay  <bryce@mckinlay.net.nz>
1230
1231         Fix for PR java/12586.
1232         * mangle.c (find_compression_record_match): Don't iterate through
1233         package namespace elements unless they all match compression_table
1234         entries.
1235
1236 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1237
1238         * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
1239         (generate-manpages): Likewise.
1240         (java.maintainer-clean): Likewise.
1241         (gcj.info): Likewise.
1242         (gcj.1): Likewise.
1243         (gcjh.1): Likewise.
1244         (jv-scan.1): Likewise.
1245         (jcf-dump.1): Likewise.
1246         (gij.1): Likewise.
1247         (jv-convert.1): Likewise.
1248         (rmic.1): Likewise.
1249         (rmiregistry.1): Likewise.
1250         (java.install-man): Likewise.
1251         (parse-scan.o): Move and define complete compile line.
1252         (parse.o): Likewise.
1253         (jcf-tree-inline.o): Move.
1254
1255 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
1256
1257         * Make-lang.in (info): Update dependencies.
1258         (java.install-info): Remove.
1259         ($(srcdir)/java/gcj.info): Replace with ...
1260         ($(docobjdir)/gcj.info): ... this.
1261
1262 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
1263
1264         * Make-lang.in: Replace uses of $(target_alias) with
1265         $(target_noncanonical).
1266
1267 2003-10-09  Tom Tromey  <tromey@redhat.com>
1268
1269         * decl.c (java_init_decl_processing): Declare signers field.
1270         * class.c (make_class_data): Set signers field.
1271
1272 2003-10-09  Jason Merrill  <jason@redhat.com>
1273
1274         * parse.y (patch_assignment): Use make_node to create a BLOCK.
1275         * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
1276         POINTER_TYPE.
1277
1278 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
1279
1280         * Make-lang.in (java.info): Replace with ...
1281         (info): ... this.
1282         (java.dvi): Replace with ...
1283         (dvi): ... this.
1284         (java.generated-manpages): Replace with ...
1285
1286 2003-10-03  Kelley Cook  <kelleycook@wideopenwest.com>
1287
1288         * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
1289
1290 2003-10-01  Andrew Haley  <aph@redhat.com>
1291
1292         * jcf-parse.c (java_parse_file): Write otable and atable.
1293         * java-tree.h (atable_methods): New.
1294         (atable_decl): New.
1295         (atable_syms_decl): New.
1296         (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
1297         JTI_ATABLE_SYMS_DECL.  Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
1298         (symbol_*type): Rename method_symbol* to symbol*type.
1299         (emit_offset_symbol_table): Delete.
1300         (emit_symbol_table): New.
1301         (get_symbol_table_index): New.
1302         (atable_type): New.
1303         * expr.c (build_field_ref): Handle flag_indirect_dispatch.
1304         (build_known_method_ref): Likewise.
1305         (get_symbol_table_index): Rename from get_offset_table_index.
1306         Parameterize to allow re-use by differing types of symbol table.
1307         (build_invokevirtual): Pass table to get_offset_table_index.
1308         * decl.c (java_init_decl_processing): Push types and decls for
1309         atable and atable_syyms.
1310         * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
1311         (make_class_data): Add new fields atable and atable_syms.
1312         (emit_symbol_table): Rename from emit_offset_symbol_table.
1313         Parameterize to allow re-use by different types of symbol table.
1314         (build_symbol_entry): Renamed from build_method_symbols_entry.
1315
1316 2003-09-30  Roger Sayle  <roger@eyesopen.com>
1317
1318         * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
1319         semantics for SAVE_EXPR, by caching the result in a temporary.
1320
1321 2003-09-28  Richard Henderson  <rth@redhat.com>
1322
1323         * check-init.c (check_init): Save and restore input_location
1324         instead of file and line separately.
1325         * decl.c (java_expand_body): Likewise.
1326         * jcf-write.c (generate_bytecode_insns): Likewise.
1327         * parse.y (safe_layout_class): Likewise.
1328         * jcf-parse.c (read_class, parse_class_file): Likewise.
1329         (java_parse_file): Use %H for warning locator.
1330
1331 2003-09-28  Roger Sayle  <roger@eyesopen.com>
1332
1333         * expr.c (java_check_reference): Use the semantics of COND_EXPRs
1334         with void-type branches instead of using a COMPOUND_EXPR.
1335
1336 2003-09-28  Jeff Sturm  <jsturm@one-point.com>
1337
1338         * decl.c (java_optimize_inline, dump_function): Remove.
1339         * java-tree.h (java_optimize_inline): Remove declaration.
1340         * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
1341         * parse.y (source_end_java_method, java_expand_classes):
1342         Likewise.  Remove dead code.
1343
1344 2003-09-27  Roger Sayle  <roger@eyesopen.com>
1345
1346         * lang.c (java_init_options): Set flag_evaluation_order.
1347         * expr.c (force_evaluation_order): Don't attempt to force
1348         evaluation order of binary operations using save_expr.
1349         * parse.y (java_complete_lhs): No longer need to call
1350         force_evaluation_order when constructing binary operators.
1351
1352 2003-09-27  Alexandre Petit-Bianco  <apbianco@redhat.com>
1353             Bryce McKinlay  <bryce@mckinlay.net.nz>
1354
1355         PR java/1333:
1356         * parse.y (not_accessible_field_error): New function.
1357         (resolve_expression_name): Check field access permissions.
1358         (resolve_qualified_expression_name): Use
1359         not_accessible_field_error.
1360         (resolve_qualified_expression_name): Likewise.
1361
1362 2003-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1363
1364         * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
1365
1366 2003-09-23  Roger Sayle  <roger@eyesopen.com>
1367
1368         * jcf-write.c (generate_bytecode_insns): Optimize binary operations
1369         with equal operands without side-effects.
1370
1371 2003-09-22  Jeff Sturm  <jsturm@one-point.com>
1372
1373         * decl.c (java_init_decl_processing): Don't emit otable decls
1374         if flag_indirect_dispatch is not set.
1375
1376 2003-09-21  Richard Henderson  <rth@redhat.com>
1377
1378         * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
1379         resource.c: Revert.
1380
1381 2003-09-21  Richard Henderson  <rth@redhat.com>
1382
1383         * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
1384         resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
1385
1386 2003-09-20  Richard Henderson  <rth@redhat.com>
1387
1388         * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
1389
1390 2003-09-18  Roger Sayle  <roger@eyesopen.com>
1391
1392         * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
1393         * check-init.c (check_init): Likewise.
1394
1395 2003-09-18  Roger Sayle  <roger@eyesopen.com>
1396
1397         * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
1398
1399 2003-09-16  Andrew Haley  <aph@redhat.com>
1400
1401         * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
1402
1403 2003-09-17  Ranjit Mathew  <rmathew@hotmail.com>
1404
1405         Fixes PR java/9577
1406         * mangle.c (find_compression_record_match): Skip
1407         over a "6JArray" (the array template mangled string)
1408         IDENTIFIER_NODE.
1409         (mangle_array_type): Correct minor typo.
1410         (atms): Move definition to the beginning.
1411
1412 2003-09-16  Bryce McKinlay  <bryce@mckinlay.net.nz>
1413
1414         * class.c (add_miranda_methods): Ensure super-interfaces are laid
1415         out. Fix for PR java/12254.
1416
1417 2003-09-11  Richard Henderson  <rth@redhat.com>
1418
1419         * parse.y (source_end_java_method): Update for new
1420         cgraph_finalize_function argument.
1421
1422 2003-09-09  Richard Henderson  <rth@redhat.com>
1423
1424         * parse.y (source_end_java_method): Update call to
1425         cgraph_finalize_function.
1426
1427 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
1428
1429         * decl.c (java_expand_body): New function.
1430         * expr.c (build_class_init): Set DECL_IGNORED_P.
1431         * java-tree.h (start_complete_expand_method,
1432         java_expand_body): Declare.
1433         * jcf-parse.c (cgraph.h): Include.
1434         (java_parse_file): Handle flag_unit_at_a_time.
1435         * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
1436         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1437         (java_estimate_num_insns): Use walk_tree_without_duplicates.
1438         (java_start_inlining): New function.
1439         * parse.h (java_finish_classes): Declare.
1440         * parse.y: Include cgraph.h.
1441         (block): Don't special-case empty block production.
1442         (craft_constructor): Set DECL_INLINE.
1443         (source_end_java_method): Handle flag_unit_at_a_time.
1444         Replace inline code with call to java_expand_body.
1445         (start_complete_expand_method): Remove static modifier.
1446         (java_expand_method_bodies): Patch function tree for
1447         class initialization and/or synchronization as needed.
1448         Don't begin RTL expansion yet.
1449         (java_expand_classes): Check flag_unit_at_a_time before
1450         calling finish_class.
1451         (java_finish_classes): New function.
1452         (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
1453         (patch_assignment): Set DECL_CONTEXT on temporary variable.
1454         (emit_test_initialization): Set DECL_IGNORED_P.
1455
1456 2003-09-03  Roger Sayle  <roger@eyesopen.com>
1457
1458         * builtins.c (enum builtin_type): Delete unused enumeration.
1459         * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
1460
1461 2003-08-28  Tom Tromey  <tromey@redhat.com>
1462
1463         * gcj.texi (Extensions): Document gcjlib URLs.
1464
1465 2003-08-20  Tom Tromey  <tromey@redhat.com>
1466
1467         * gcj.texi (Extensions): Added xref.
1468         (libgcj Runtime Properties): Document
1469         gnu.gcj.runtime.VMClassLoader.library_control.
1470
1471 2003-08-20  Andrew Haley  <aph@redhat.com>
1472
1473         * except.c (prepare_eh_table_type): Use new encoding for exception
1474         handlers when using -fno-assume-compiled.
1475
1476 2003-08-13  Tom Tromey  <tromey@redhat.com>
1477
1478         * gcj.texi (Invoking gij): Document -X and -?.
1479
1480 2003-08-13  Mohan Embar  <gnustuff@thisiscool.com>
1481
1482         * Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
1483         GCJH_OBJS, JCFDUMP_OBJS
1484         * win32-host.c: Removed the unnecessary and broken dependency
1485         on jcf.h
1486
1487 2003-08-11  Tom Tromey  <tromey@redhat.com>
1488
1489         * parse.y (java_check_regular_methods): Typo fixes.  Call
1490         check_interface_throws_clauses.  Use
1491         check_concrete_throws_clauses.
1492         (check_interface_throws_clauses): New function.
1493         (check_concrete_throws_clauses): New function.
1494         (hack_is_accessible_p): New function.
1495         (find_most_specific_methods_list): Added FIXME.
1496         * typeck.c (lookup_do): Use `flags' argument to decide what to
1497         do.  Reimplemented.
1498         (lookup_argument_method_generic): New function.
1499         (lookup_argument_method2): Removed.
1500         * jcf.h (ACC_INVISIBLE): New define.
1501         * jcf-write.c (generate_classfile): Skip invisible methods.
1502         * class.c (add_miranda_methods): New function.
1503         (layout_class_methods): Use it.
1504         (get_access_flags_from_decl): Use ACC_INVISIBLE.
1505         * java-tree.h (METHOD_INVISIBLE): New define.
1506         (lang_decl_func) [invisible]: New field.
1507         (lookup_argument_method_generic): Declare.
1508         (SEARCH_INTERFACE): New define.
1509         (SEARCH_SUPER): Likewise.
1510         (SEARCH_ONLY_INTERFACE): Likewise.
1511         (SEARCH_VISIBLE): Likewise.
1512         (lookup_argument_method2): Removed declaration.
1513
1514 2003-08-05  Tom Tromey  <tromey@redhat.com>
1515
1516         Fix for PR java/11600:
1517         * parse.y (java_complete_lhs): See whether we're calling a method
1518         on an array.
1519         (check_thrown_exceptions): Added `is_array_call' argument;
1520         fixed `clone' checking; updated all callers.
1521
1522 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
1523
1524         * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
1525
1526 2003-08-03  Tom Tromey  <tromey@redhat.com>
1527
1528         * java-tree.h (METHOD_TRANSIENT): Removed.
1529         * decl.c (pushdecl): Removed some dead code.
1530         * class.c (get_access_flags_from_decl): Can't have transient
1531         method.
1532         (add_method_1): Can't have a transient method.
1533
1534 2003-07-28  Andreas Jaeger  <aj@suse.de>
1535
1536         * jvspec.c: Convert to ISO C90 prototypes.
1537
1538 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
1539
1540         * decl.c (force_poplevels): Fix warning call.
1541
1542 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1543
1544         * expr.c (expand_java_field_op): Don't use xxx_with_decl
1545         (expand_java_field_op): Likewise.
1546         * class.c (layout_class_method): Likewise
1547         (emit_register_classes): Likewise.
1548         * decl.c (pushdecl): Likewise.
1549         (poplevel): Likewise.
1550         (force_poplevels): Likewise.
1551         (give_name_to_locals): Likewise.
1552         * check-init.c (check_for_initialization): Likewise.
1553
1554 2003-07-24  Jason Merrill  <jason@redhat.com>
1555
1556         * java-tree.h: Move boolean_type_node et al to the back end.
1557
1558 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1559
1560         * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
1561         casts.
1562
1563 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
1564
1565         * lang.opt: Don't show -MD_ and -MDD_.
1566
1567 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
1568
1569         * lang-options.h: Remove.
1570         * lang.opt: Add help text.
1571
1572 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
1573
1574         * expr.c: Remove the last argument to expand_assignment().
1575
1576 2003-07-09  Jan Hubicka  <jh@suse.cz>
1577
1578         * java-tree.h (DECL_NUM_STMTS): Rename to...
1579         (DECL_ESTIMATED_INSNS): ... this.
1580         * lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
1581         New static functions.
1582         (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
1583         * parser.y (add_stmt_to_compound): Do not account statements.
1584
1585 2003-07-08  Mark Wielaard  <mark@klomp.org>
1586
1587         * gcj.texi: CNI now expands to Compiled Native Interface.
1588
1589 2003-07-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1590
1591         * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
1592
1593 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
1594
1595         * expr.c (expand_byte_code): Adjist emit_line_note call.
1596
1597 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
1598
1599         * lang.c (java_handle_option): Don't handle filenames.
1600
1601 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
1602
1603         * jcf-path.c: Don't default-define PATH_SEPARATOR nor
1604         DIR_SEPARATOR.
1605         Use FILENAME_CMP.
1606         * jcf-write.c: Don't default-define DIR_SEPARATOR.
1607         * jcf.h: Delete COMPARE_FILENAMES definition.
1608
1609 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
1610
1611         * lang.c (java_init_options): Update prototype.
1612
1613 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
1614
1615         * decl.c (poplevel): Adjust define_label call.
1616
1617 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
1618
1619         * gjavah.c (flag_jni): Make non-static.
1620         * parse-scan.y (ctxp): Make non-static.
1621
1622         * class.c (build_method_symbols_entry)
1623         * expr.c (get_offset_table_index)
1624         * jcf-parse.c (jcf_parse):
1625         Mark the definition static, matching the forward declaration.
1626
1627 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
1628
1629         * lang.c (java_handle_option): Don't check for missing arguments.
1630
1631 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
1632
1633         * class.c (push_class): Use a location_t to save place.
1634         (emit_register_classes): Set input_location. Adjust
1635         expand_function_end call.
1636         * resource.c (write_resource_constructor): Likewise.
1637         * decl.c (end_java_method): Adjust expand_function_end call.
1638         * parse.y (source_end_java_method): Likewise.
1639
1640 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
1641
1642         * lang.c (java_handle_option): Likewise.
1643
1644 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
1645
1646         * lang.c (java_handle_option): Special-casing of optional
1647         joined arguments no longer needed.
1648         * lang.opt: Update switches that take optional argument.
1649
1650 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
1651
1652         * lang.opt: Declare Java.
1653         * lang.c (java_init_options): Update.
1654
1655 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
1656
1657         * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
1658
1659 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
1660
1661         * lang-specs.h: Rewrite -MD and -MMD to append an underscore.
1662         * lang.c (java_handle_option): -MD and -MMD have an underscore.
1663         * lang.opt: -MD and -MMD have an underscore.
1664
1665 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
1666
1667         * class.c (emit_register_classes): Adjust init_function_start
1668         call.
1669         * decl.c (complete_start_java_method): Likewise.
1670         * resource.c (write_resource_constructor): Likewise.
1671
1672 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
1673
1674         * Make-lang.in: Update to use options.c and options.h.
1675         * lang.c: Include options.h not j-options.h.
1676         (java_handle_option): Abort on unrecognized option.
1677         (java_init_options): Request Java switches.
1678
1679 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
1680
1681         * Make-lang.in: Handle mostlyclean.
1682
1683 2003-06-11  Tom Tromey  <tromey@redhat.com>
1684
1685         * lang.c (java_handle_option): Update dependency_tracking for
1686         OPT_MF case.
1687
1688         * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
1689         empty argument.
1690
1691 2003-06-10  Andrew Haley  <aph@redhat.com>
1692
1693         * resource.c (write_resource_constructor): Use expand_expr to
1694         generate the address of the label attached to a resource.
1695         * Make-lang.in (java/resource.o): Add expr.h
1696
1697 2003-06-10  Andrew Haley  <aph@redhat.com>
1698
1699         * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1700         (java_decl_ok_for_sibcall): New.
1701
1702 2003-06-09  Neil Booth  <neil@daikokuya.co.uk>
1703
1704         * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
1705         (java/j-options.c, java/j-options.h): New.
1706         * java-tree.h (resource_name, compile_resource_file,
1707         compile_resource_data): Constify.
1708         * jcf-write.c (jcf_write_base_directory): Similarly.
1709         * jcf.h (jcf_write_base_directory): Similarly.
1710         * lang.c: Include j-options.h.
1711         (cl_options_count, cl_options, string_option, java_decode_option,
1712         lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
1713         process_option_with_no): Remove.
1714         (resource_name): Constify.
1715         (LANG_HOOKS_HANDLE_OPTION): Override.
1716         (java_handle_option): New.
1717         (java_init): Don't call jcf_path_init.
1718         (java_init_options): Call jcf_path_init.
1719         * lang.opt: New.
1720         * resource.c (compile_resource_data, compile_resource_file): Constify.
1721
1722 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
1723
1724         * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
1725         (struct lang_decl_func): Add last_line field.
1726         * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
1727         DECL_SOURCE_LINE_LAST): Remove.
1728         * parse.y (missing_return_error, finish_method_declaration,
1729         lookup_cl, start_artificial_method_body, source_end_java_method,
1730         start_complete_expand_method): Adjust.
1731
1732 2003-06-08  Tom Tromey  <tromey@redhat.com>
1733
1734         * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
1735         fno-assume-compiled.
1736
1737 2003-06-08  Roger Sayle  <roger@eyesopen.com>
1738
1739         * builtins.c (define_builtin_type, builtin_types): Delete.
1740         (define_builtin): Rewritten to take just the built-in code,
1741         the function's name, type and fallback library function name.
1742         All built-ins used by Java are implicit and BUILT_IN_NORMAL.
1743         (initialize_builtins): Overhaul to define the GCC builtins
1744         used by gcj manually, providing the Java run-time's
1745         implementations as the fallback library function.
1746
1747 2003-06-08  Anthony Green  <green@redhat.com>
1748
1749         * parse.y (patch_cast): Fix conversions from floating-point to
1750         integral types.
1751
1752 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
1753
1754         * Make-lang.in: Update.
1755         * lang.c: Include opts.h. Define cl_options_count and cl_options.
1756
1757 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
1758
1759         * lang.c (java_init_options): Update.
1760
1761 2003-06-05  Jan Hubicka  <jh@suse.cz>
1762
1763         * Make-lang.in:  Add support for stageprofile and stagefeedback
1764
1765 2003-05-31  Roger Sayle  <roger@eyesopen.com>
1766
1767         * lang.c (java_init_options): Prescribe wrap-around two's
1768         complement arithmetic overflow by setting flag_wrapv.
1769
1770 2003-05-29  Roger Sayle  <roger@eyesopen.com>
1771
1772         * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
1773         (builtin_record): Add an additional builtin_code field to
1774         record which GCC built-in corresponds to the Java function.
1775         (java_builtins):  Add new entries for atan, atan2, exp, log,
1776         pow and tan.
1777         (max_builtin, min_builtin, abs_builtin): Perform constant
1778         folding on the resulting tree.
1779         (java_build_function_call_expr): Likewise, perform constant
1780         folding on the resulting tree.
1781         (initialize_builtins): The NULL creators are now allowed in
1782         the java_builtins table, which is now terminated by an entry
1783         with builtin_code == END_BUILTINS.
1784         (check_for_builtin): Likewise.  If the matching creator is
1785         NULL, construct the call using java_build_function_call_expr
1786         directly with the decl for the corresponding builtin_code.
1787
1788 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1789
1790         * win32-host.c: Normalize copyright boilerplate.
1791
1792 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1793
1794         * parse.y (print_int_node): Use string concatentation on
1795         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
1796         function calls into one.
1797
1798 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
1799
1800         * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
1801         fatal_io_error with calls to fatal_error; add ": %m" to the end of
1802         all the affected error messages.
1803
1804 2003-05-13  Richard Henderson  <rth@redhat.com>
1805
1806         * class.c (layout_class_method): Set DECL_EXTERNAL.
1807         * decl.c (java_mark_decl_local, java_mark_class_local): New.
1808         * java-tree.h (java_mark_class_local): Declare.
1809         * jcf-parse.c (parse_class_file): Use it.
1810         * parse.y (java_expand_classes): Likewise.
1811
1812 2003-05-04  Nathan Sidwell  <nathan@codesourcery.com>
1813
1814         * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
1815         * lex.h: #include input.h.
1816         * jv-scan.c (input_filename): Remove.
1817
1818 2003-05-02  Tom Tromey  <tromey@redhat.com>
1819
1820         PR java/10491:
1821         * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
1822         (handle_inner_classes): New function.
1823
1824 2003-05-01  Tom Tromey  <tromey@redhat.com>
1825
1826         PR java/10459:
1827         * parse.y (finish_for_loop): Do nothing if update expression is a
1828         EXPR_WFL_NODE wrapping nothing.
1829         (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
1830
1831 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
1832
1833         * lex.h (input_lineno): Remove declaration.
1834         * parse-scan.y: #include input.h.
1835         (input_filename): Remove declaration.
1836         (input_location): Add definition.
1837         (input_line): Remove definition.
1838
1839 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
1840
1841         * lex.h (lineno): Rename to ...
1842         (input_line): ... here
1843         * parse-scan.y (lineno): Rename to ...
1844         (input_line): ... here.
1845         (reset_report): Rename lineno to input_line.
1846         * check-init.c (check_init): Likewise.
1847         * class.c (push_class): Likewise.
1848         * decl.c (complete_start_java_method, end_java_method): Likewise.
1849         * expr.c (expand_byte_code): Likewise.
1850         * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
1851         * jcf-write.c (generate_bytecode_insns): Likewise.
1852         * lex.c (java_init_lex, java_allocate_new_line,
1853         do_java_lex): Likewise.
1854         * parse.h (YYNOT_TWICE): Likewise.
1855         * parse.y (empty_statement, expression_statement,
1856         java_pop_parser_context, java_parser_context_save_global,
1857         yyerror, register_fields, method_header, safe_layout_class,
1858         find_in_imports_on_demand, create_artificial_method,
1859         source_end_java_method, start_complete_expand_method,
1860         build_thisn_assign, java_complete_lhs,
1861         maybe_absorb_scoping_block): Likewise.
1862
1863 2003-04-20  Mohan Embar  <gnustuff@thisiscool.com>
1864
1865         * jcf-io.c (find_class): use DIR_SEPARATOR instead of
1866         '/' when computing java source filename
1867
1868 2003-04-13  Tom Tromey  <tromey@redhat.com>
1869
1870         * gjavah.c (print_c_decl): Indentation fix.
1871
1872 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
1873
1874         * class.c (make_field_value, make_method_value, get_dispatch_table)
1875         (make_class_data, emit_offset_symbol_table)
1876         * constants.c (build_constants_constructor)
1877         * java-tree.h (START_RECORD_CONSTRUCTOR)
1878         * parse.y (maybe_build_array_element_wfl):
1879         Use build_constructor.
1880
1881 2003-04-10  Eric Blake  <ebb9@email.byu.edu>
1882
1883         PR java/10253:
1884         * parse.y (string_convert_int_cst): Always use at least one digit
1885         in string conversion. Remove ASCII dependence.
1886         (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
1887
1888 2003-03-16  Mohan Embar  <gnustuff@thisiscool.com>
1889
1890         * Make-lang.in: added win32-host.c
1891         * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
1892         resolves to open() on non-Win32 platforms and
1893         Win32-specific jcf_open_exact_case() on Win32
1894         * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
1895         when trying .java and .class files
1896         * win32-host.c: added to repository. Defines
1897         Win32-specific jcf_open_exact_case()
1898
1899 2003-04-10  Andrew Haley  <aph@redhat.com>
1900
1901         * jcf-write.c (struct jcf_partial): num_jsrs: new field.
1902         (maybe_free_localvar): Renamed from localvar_free.
1903         Add new arg, really.
1904         (generate_bytecode_insns): Set new variable, jsrs.
1905         Only free local vars if no jsr insns have been emittted.
1906         Call maybe_free_localvar, not localvar_free.
1907
1908 2003-03-30  Joseph S. Myers  <jsm@polyomino.org.uk>
1909
1910         * gcj.texi: Remove @ at start of file.
1911
1912 2003-03-25  Tom Tromey  <tromey@redhat.com>
1913
1914         * parse.y (create_interface): Call CHECK_DEPRECATED.
1915
1916 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
1917
1918         * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
1919
1920 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1921
1922         * javaop.h (jfloat, jdouble): Make them structures mirroring
1923         the bit fields of IEEE float and double respectively.
1924         (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
1925         JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
1926         (union Word, union DWord): Delete.
1927         (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
1928
1929         * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
1930         D_NAN_MASK): Delete.
1931         (jni_print_float, jni_print_double): New.  Generate
1932         hexadecimal floating constants.
1933         (print_field_info): Use jni_print_float/double.
1934
1935         * jcf-dump.c: Include math.h.  Use ldexp/frexp to assemble
1936         finite floating point numbers for output; special case
1937         non-finite floats.
1938
1939 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1940
1941         * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
1942         Replace 0 and 1 with true and false in return statements.
1943
1944 2003-03-19  Tom Tromey  <tromey@redhat.com>
1945
1946         * lex.c (do_java_lex): Renamed from java_lex.
1947         (java_lex): New function.
1948         Include timevar.h.
1949
1950 2003-03-13  Tom Tromey  <tromey@redhat.com>
1951
1952         * parse.y (resolve_inner_class): Error if qualifier is a primitive
1953         type.
1954
1955 2003-03-04  Andrew Haley  <aph@redhat.com>
1956
1957         * gjavah.c (is_first_data_member): New global variable.
1958         (print_c_decl): If it's the first data member, align it as the
1959         superclass.
1960         (process_file): Set is_first_data_member.
1961
1962 2003-03-11  Tom Tromey  <tromey@redhat.com>
1963
1964         * parse.y (resolve_field_access): Initialize class if field is
1965         found in another static field.
1966         * expr.c (build_class_init): Don't optimize out initialization of
1967         implemented interface.
1968
1969 2003-03-11  Andrew Haley  <aph@redhat.com>
1970
1971         * jcf-io.c (caching_stat): Initialize origsep to remove compiler
1972         warning.
1973
1974 2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>
1975
1976         * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
1977         and DIR_SEPARATOR_2 for a target.
1978         Correct minor typos.
1979
1980         * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
1981         and DIR_SEPARATOR_2 for a target into account.
1982
1983 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
1984
1985         * lang.c (java_init): Update prototype, move code to java_post_options.
1986         (java_post_options): Similarly.
1987
1988 2003-03-05  Ranjit Mathew  <rmathew@hotmail.com>
1989
1990         * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
1991         compare file name components depending on the case-sensitivity
1992         or otherwise of the host file system.
1993
1994         * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
1995         "strcmp" to compare file name components.
1996         Use IS_DIR_SEPARATOR instead of comparing directly against
1997         DIR_SEPARATOR.
1998         (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
1999         comparing directly against DIR_SEPARATOR.
2000
2001 2003-03-04  Tom Tromey  <tromey@redhat.com>
2002
2003         * Make-lang.in (java.tags): New target.
2004
2005 2003-03-01  Roger Sayle  <roger@eyesopen.com>
2006
2007         * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
2008         (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
2009
2010 2003-03-01  Tom Tromey  <tromey@redhat.com>
2011
2012         * parse.y (jdep_resolve_class): Only check deprecation if we found
2013         a decl.
2014
2015 2003-02-28  Tom Tromey  <tromey@redhat.com>
2016
2017         PR java/9695:
2018         * class.c (maybe_layout_super_class): Always pass a WFL to
2019         do_resolve_class.
2020         * parse.y (do_resolve_class): Updated comment to explain
2021         parameters.
2022
2023 2003-02-26  Tom Tromey  <tromey@redhat.com>
2024
2025         * jcf-write.c (generate_classfile): Check whether class is
2026         deprecated before writing attribute count.
2027
2028 2003-02-25  Roger Sayle  <roger@eyesopen.com>
2029
2030         * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
2031         built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
2032
2033 2003-02-23  Tom Tromey  <tromey@redhat.com>
2034
2035         * lang-options.h: Added -Wdeprecated.
2036         * gcj.texi (Warnings): Document -Wdeprecated.
2037         * java-tree.h (flag_deprecated): Declare.
2038         * lang.c (lang_W_options): Added deprecated.
2039         (flag_deprecated): New global.
2040         * chartables.h: Rebuilt.
2041         * gen-table.pl (process_one): Look at whitespace.
2042         (print_tables): Define LETTER_SPACE, LETTER_MASK.
2043         * parse.h (CLEAR_DEPRECATED): New macro.
2044         (CHECK_DEPRECATED_NO_RESET): New macro.
2045         * jcf-parse.c (handle_deprecated): New function.
2046         (HANDLE_DEPRECATED_ATTRIBUTE): New define.
2047         * jcf-reader.c (get_attribute): Handle Deprecated attribute.
2048         * parse.y (resolve_type_during_patch): Check deprecation.
2049         (jdep_resolve_class): Likewise.
2050         (process_imports): Likewise.
2051         (resolve_expression_name): Likewise.
2052         (check_deprecation): Strip arrays from decl.  Check
2053         flag_deprecated.
2054         (patch_method_invocation): Also check the particular constructor
2055         for deprecation.
2056         (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
2057         * jcf-write.c (append_deprecated_attribute): New function.
2058         (generate_classfile): Generate deprecated attribute when
2059         appropriate.
2060         * lex.c (java_parse_doc_section): Return type now void.  Rewrote.
2061         (java_lex) [case '*']: Simplify logic.
2062         (java_start_char_p): Use LETTER_MASK.
2063         (java_part_char_p): Likewise.
2064         (java_space_char_p): New function.
2065
2066 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
2067
2068         Change base class access representation.
2069         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
2070         (add_interface_do): Likewise.
2071
2072 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
2073
2074         * decl.c (java_init_decl_processing): Change
2075         soft_lookupjnimethod_node to reflect the change in
2076         signature of _Jv_LookupJNIMethod in libjava/jni.cc
2077         * expr.c (build_jni_stub): Calculate and pass the size
2078         on the stack of the arguments to a JNI function. Use
2079         new target macro MODIFY_JNI_METHOD_CALL to allow a
2080         target to modify the call to a JNI method.
2081
2082 2003-02-08  Roger Sayle  <roger@eyesopen.com>
2083
2084         * jcf-io.c (java_or_class_file): Use libiberty's lbasename
2085         instead of basename to avoid compiler warnings on Tru64.
2086
2087 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2088
2089         * gcj.texi: Update to GFDL 1.2.
2090
2091 2003-01-31  Andrew Haley  <aph@redhat.com>
2092
2093         * parse.y (java_expand_classes): Scan the whole class list looking
2094         for access methods that haven't yet been expanded.
2095
2096 2003-01-31 Adrian Bunk <bunk@fs.tum.de>
2097
2098         Fix for java/4269:
2099
2100         * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
2101         to fix bootstrap on sparc-unknown-netbsdelf1.5.
2102         * jcf-parse.c: Likewise.
2103
2104 2003-01-31  Mark Wielaard  <mark@klomp.org>
2105
2106         * gjavah.c (throwable_p): Allocate 1 more byte for string.
2107
2108 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
2109
2110         * class.c (make_class): Use BINFO_ELTS.
2111         (set_super_info): Likewse.
2112         (add_interface_do): Likewise.
2113
2114 2003-01-30  Tom Tromey  <tromey@redhat.com>
2115
2116         * jcf-parse.c (read_class): Update identifier's class value if it
2117         changed during parsing.
2118
2119 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
2120
2121         * Make-lang.in (po-generated): Find the targets in $(parsedir).
2122         Propagate change to all other rules as required.
2123         (java/parse-scan.o): Add explicit dependency on
2124         $(parsedir)/java/parse-scan.c .
2125
2126 2003-01-29  Tom Tromey  <tromey@redhat.com>
2127
2128         * parse.y (patch_assignment): Only transform the rhs of an
2129         assignment when compiling to native.
2130
2131 2003-01-28  Tom Tromey  <tromey@redhat.com>
2132
2133         * jcf-write.c (generate_bytecode_conditional): Typo fixes.
2134
2135 2003-01-28  Tom Tromey  <tromey@redhat.com>
2136
2137         * lex.c (java_lex): Don't include UEOF as part of token.
2138         (java_read_unicode): Error if \u sequence prematurely terminated.
2139
2140 2003-01-27  Tom Tromey  <tromey@redhat.com>
2141
2142         * parse.y (java_check_regular_methods): Check for construct after
2143         checking types in throws clause.
2144
2145 2003-01-24  Tom Tromey  <tromey@redhat.com>
2146
2147         * class.c (build_static_field_ref): Only a String or numeric field
2148         can fold to a constant.
2149
2150 2003-01-23  Tom Tromey  <tromey@redhat.com>
2151
2152         * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
2153         file name in resource buffer.
2154
2155 2003-01-23  Tom Tromey  <tromey@redhat.com>
2156
2157         * expr.c (build_known_method_ref): Use method's context to find
2158         method table index.
2159
2160 2003-01-23  Tom Tromey  <tromey@redhat.com>
2161
2162         * constants.c (set_constant_entry): Allocated cleared memory.
2163
2164 2003-01-22  Tom Tromey  <tromey@redhat.com>
2165
2166         * java-tree.h: Don't use PARAMS.
2167         * resource.c: Add prototypes for all functions.
2168         (write_resource_constructor): Use `const char *' to avoid
2169         warning.
2170
2171 2003-01-22 Nathanael Nerode  <neroden@gcc.gnu.org>
2172
2173         * jcf-parse.c (process_zip_dir): Remove unused variable.
2174
2175 2003-01-22  Tom Tromey  <tromey@redhat.com>
2176
2177         * expr.c (build_invokeinterface): Abort if method's context is not
2178         an interface.
2179
2180 2003-01-22  Tom Tromey  <tromey@redhat.com>
2181
2182         * gcj.texi (Input and output files): Mention non-class entries.
2183         * decl.c (java_init_decl_processing): Call
2184         init_resource_processing.
2185         * java-tree.h (compile_resource_data, write_resource_constructor,
2186         compile_resource_file, init_resource_processing): Declare.
2187         * config-lang.in (gtfiles): Added resource.c.
2188         * Make-lang.in (gt-java-resource.h): New target.
2189         (JAVA_OBJS): Added resource.o.
2190         (java/resource.o): New target.
2191         * resource.c: New file.
2192         * class.c (compile_resource_file): Moved to resource.c.
2193         (registerResource_libfunc): Likewise.
2194         (utf8_decl_list): Mark with GTY; now static.
2195         * jcf-parse.c (classify_zip_file): New function.
2196         (parse_zip_file_entries): Use it; compile .properties files.
2197         (process_zip_dir): Use classify_zip_file and compute_class_name.
2198         Don't write class name into zip directory.
2199         (java_parse_file): Call write_resource_constructor.
2200         (compute_class_name): New function.
2201         * jcf-io.c (read_zip_member): Reindented.
2202
2203 2003-01-21  Tom Tromey  <tromey@redhat.com>
2204
2205         * class.c (supers_all_compiled): New function.
2206         (make_class_data): Use it.
2207
2208 2003-01-21  Tom Tromey  <tromey@redhat.com>
2209
2210         * parse.y (method_header): Native method can't be strictfp.
2211         No method can be transient or volatile.
2212
2213 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2214
2215         Make-lang.in (jvspec.o-warn): Add -Wno-error.
2216
2217 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
2218
2219         * check-init.c: Fix comment typos.
2220         * class.c: Likewise.
2221         * constants.c: Likewise.
2222         * decl.c: Likewise.
2223         * except.c: Likewise.
2224         * expr.c: Likewise.
2225         * java-except.h: Likewise.
2226         * java-tree.h: Likewise.
2227         * javaop.h: Likewise.
2228         * jcf-dump.c: Likewise.
2229         * jcf-io.c: Likewise.
2230         * jcf-parse.c: Likewise.
2231         * jcf-write.c: Likewise.
2232         * lang.c: Likewise.
2233         * mangle.c: Likewise.
2234         * typeck.c: Likewise.
2235         * verify.c: Likewise.
2236
2237 2003-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2238
2239         * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
2240         * jcf-write.c: Include "tm_p.h".
2241
2242 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2243
2244         * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
2245
2246 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2247
2248         * builtins.c (java_build_function_call_expr): Renamed from
2249         build_function_call_expr.  All callers changed.
2250
2251         * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
2252         * jcf-parse.c: Include tm_p.h.
2253
2254         * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
2255         warning.
2256
2257 2003-01-14  Tom Tromey  <tromey@redhat.com>
2258
2259         * class.c (make_class_data): Check that super is compiled before
2260         building class reference to it.
2261
2262 2003-01-14  Andrew Haley  <aph@redhat.com>
2263
2264         * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2265         varargs function -- correct.
2266
2267 2003-01-14  Andrew Haley  <aph@redhat.com>
2268
2269         * decl.c (java_init_decl_processing): Temporarily back out previous patch.
2270
2271 2003-01-14  Andrew Haley  <aph@redhat.com>
2272
2273         * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2274         varargs function -- correct.
2275
2276         * parse.y (patch_assignment): Copy the rhs of an assignment into a
2277         temporary if the RHS is a reference.
2278
2279 2003-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2280
2281         * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
2282         * keyword.h: Regenerated.
2283
2284         * All Files: Convert to ISO C style function definitions.
2285
2286 2003-01-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2287
2288         * parse.y (check_pkg_class_access): ANSIfy definition.
2289
2290 2003-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2291
2292         * decl.c, parse-scan.y, parse.y: Don't cast return value of
2293         xmalloc et al.
2294
2295         * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
2296
2297 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
2298
2299         Merge from pch-branch:
2300
2301         2002-12-02  Geoffrey Keating  <geoffk@apple.com>
2302
2303         * Make-lang.in (java/gjavah.o): Update dependencies.
2304         * gjavah.c: Include ggc.h.
2305
2306         2002-08-16  Geoffrey Keating  <geoffk@redhat.com>
2307
2308         * Make-lang.in (GCJH_OBJS): Add ggc-none.o.
2309         (JCFDUMP_OBJS): Add ggc-none.o.
2310         (java/jcf-dump.o): Depend on GGC_H.
2311         * jcf-reader.c (jcf_parse_constant_pool): Use ggc_alloc to allocate
2312         CPool substructures.
2313         * jcf-parse.c (process_zip_dir): Use ggc_alloc to allocate JCFs.
2314         * jcf-dump.c: Include ggc.h.
2315
2316         2002-08-08  Geoffrey Keating  <geoffk@redhat.com>
2317
2318         * jcf.h (union cpool_entry): New.
2319         (struct CPool): Use gengtype to mark.  Change field 'data' to be
2320         an array of unions.
2321         (struct JCF): Use gengtype to mark.
2322         (CPOOL_UINT): Update for new cpool_entry type.
2323         (CPOOL_USHORT1): Likewise.
2324         (CPOOL_USHORT2): Likewise.
2325         (CPOOL_FINISH): Use GC to free cpool subfields.
2326         * parse.h (struct parser_ctxt): Mark field current_jcf.
2327         * lex.c (java_init_lex): Use GC to allocate struct JCF.
2328         * jcf-parse.c (HANDLE_CONSTANT_Utf8): Update for new cpool_entry type.
2329         (main_jcf): Use gengtype to mark.
2330         (ggc_mark_jcf): Delete.
2331         (get_constant): Update for new cpool_entry type.
2332         (give_name_to_class): Likewise.
2333         (get_class_constant): Likewise.
2334         (init_outgoing_cpool): Use GGC to allocate struct CPool.
2335         (java_parse_file): Use GGC to allocate struct JCF.
2336         (init_jcf_parse): Don't call ggc_add_root.
2337         * jcf-reader.c (jcf_parse_constant_pool): Update for new
2338         cpool_entry type.
2339         * java-tree.h (current_jcf): Use gengtype to mark.
2340         (CPOOL_UTF): Update for new cpool_entry type.
2341         (outgoing_cpool): Use gengtype to mark.
2342         (struct lang_type): GC struct JCF and struct CPool.
2343         * config-lang.in (gtfiles): Add jcf.h.
2344         * constants.c (find_tree_constant): New.
2345         (set_constant_entry): Allocate cpool subfields using GGC.  Update
2346         for new cpool_entry type.
2347         (find_constant1): Update for new cpool_entry type.
2348         (find_constant2): Likewise.
2349         (find_utf8_constant): Use find_tree_constant.
2350         (find_class_or_string_constant): Remove unnecessary cast to jword.
2351         Update for new cpool_entry type.
2352         (count_constant_pool_bytes): Update for new cpool_entry type.
2353         (write_constant_pool): Likewise.
2354         (alloc_name_constant): Use find_tree_constant.
2355         (build_constants_constructor): Update for new cpool_entry type.
2356
2357         2002-08-08  Geoffrey Keating  <geoffk@redhat.com>
2358
2359         * parse.y (mark_parser_ctxt): Delete.
2360         (goal): Don't use ggc_add_root.
2361         (create_new_parser_context): Use GC to allocate struct parser_ctxt.
2362         (java_pop_parser_context): Let GC free parser_ctxt.
2363         (java_parser_context_resume): Likewise.
2364         * parse.h (struct parser_ctxt): Use gengtype to mark.
2365         (ctxp): Likewise.
2366         (ctxp_for_generation): Likewise.
2367         * lex.h (struct java_lc_s): Mark for gengtype.
2368         (java_lexer): Rearrange for gengtype.
2369         * config-lang.in (gtfiles): Add lex.h, parse.h.
2370
2371 2003-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2372
2373         * All Files: Remove PARAMS macro.
2374
2375         * expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
2376         jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
2377         `__STDC__' macros.
2378
2379         * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
2380         VA_CLOSE.
2381
2382 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2383
2384         * Make-lang.in (java.install-common, java.uninstall,
2385         java.install-info, java.install-man): Prepend $(DESTDIR)
2386         to destination paths in all (un)installation commands.
2387         (java.install-common): Rewrite $(LN) command to support
2388         DESTDIR with "ln" as well as with "ln -s".
2389
2390 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2391
2392         * java-tree.h: Protect against multiple inclusion.
2393
2394 2003-01-07  Tom Tromey  <tromey@redhat.com>
2395
2396         * class.c (add_assume_compiled): Don't adjust parent if we're
2397         already at the root of tree.
2398
2399 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2400
2401         * lang.c (dump_compound_expr): Prototype.
2402
2403 2003-01-03  Tom Tromey  <tromey@redhat.com>
2404
2405         Fix for PR java/8712:
2406         * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR,
2407         when simply checking against `null'.
2408
2409 2003-01-03  Tom Tromey  <tromey@redhat.com>
2410
2411         * gcj.texi (Standard Properties): Document http.proxyHost and
2412         http.proxyPort.
2413
2414         * gcj.texi (GNU Classpath Properties): Document new properties.
2415
2416 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2417
2418         * java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf,
2419         java/lang-options.h, java/mangle.c, java/mangle_name.c,
2420         java/xref.c, java/zextract.c,java/zipfile.h: Fix copyright years.
2421
2422 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2423
2424         * Make-lang.in, boehm.c, buffer.c,
2425           buffer.h, builtins.c, class.c,
2426           config-lang.in, constants.c,
2427           convert.h, decl.c, except.c,
2428           expr.c, java-except.h,
2429           java-tree.h, javaop.def,
2430           jcf-parse.c, jcf-write.c,
2431           jv-scan.c, jvgenmain.c,
2432           jvspec.c, keyword.gperf,
2433           keyword.h, lang-options.h,
2434           lang-specs.h, lang.c, lex.c,
2435           lex.h, mangle.c, mangle_name.c,
2436           parse-scan.y, parse.h, parse.y,
2437           typeck.c, verify.c, xref.c,
2438           xref.h: Replace "GNU CC" with
2439           "GCC" in the copyright header.
2440
2441         * check-init.c, gjavah.c, javaop.h,
2442           jcf-depend.c, jcf-dump.c, jcf-io.c,
2443           jcf-path.c, jcf-reader.c, jcf.h,
2444           zextract.c, zipfile.h: These files are
2445           "part of GCC". Also say "GCC" not "GNU CC".
2446
2447 2002-12-30  DJ Delorie  <dj@redhat.com>
2448
2449         * Make-lang.in: Protect against texi2pod/pod2man failing.
2450
2451 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2452
2453         * gcj.texi: Use @copying.
2454
2455 2002-12-27  Mark Mitchell  <mark@codesourcery.com>
2456
2457         * gjavah.c (print_name_for_stub_or_jni): Adjust call to
2458         print_cxx_classname.
2459         (print_cxx_classname): Add add_scope parameter.
2460         (print_class_decls): Do not emit a semicolon after the extern
2461         "Java" block.
2462         (process_file): Adjust calls to print_cxx_classname.
2463
2464 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2465
2466         * gcj.texi: Include Cover Texts in man page.
2467
2468 2002-12-23  Jeff Sturm  <jsturm@one-point.com>
2469
2470         * class.c (build_static_field_ref): Check FIELD_FINAL.
2471
2472         * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF
2473         instead of current_constant_pool_data_ref.
2474         * java-tree.h (current_constant_pool_data_ref): Undefine.
2475         (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove.
2476         * jcf-parse.c (init_outgoing_cpool): Don't initialize
2477         current_constant_pool_data_ref.
2478
2479         * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
2480         not build_internal_class_name.
2481
2482         * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
2483         Use it when class ref isn't certain to be compiled.
2484
2485 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2486
2487         * gcj.texi: Include gcc-common.texi.
2488         * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on
2489         $(srcdir)/doc/include/gcc-common.texi.
2490
2491 2002-12-22  Anthony Green  <green@redhat.com>
2492
2493         * gcj.texi (Limitations): Add note about org.xml.sax and
2494         org.w3c.dom.
2495
2496 2002-12-20  Tom Tromey  <tromey@redhat.com>
2497
2498         * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
2499         where minimum case value is Integer.MIN_VALUE.
2500         Fixes PR java/8955.
2501
2502 2002-12-18  Andrew Haley  <aph@redhat.com>
2503
2504         * parse.y (patch_invoke): Force evaluation order when `check' is
2505         set.  For PR libgcj/8945.
2506
2507 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2508
2509         * gcj.texi: Change version number to 3.4.
2510
2511 2002-12-05  Ranjit Mathew <rmathew@hotmail.com>
2512         Andrew Haley <aph@redhat.com>
2513
2514         * parse.y (source_end_java_method): Remove custom encoding of line
2515         numbers for a function decl before passing it to the back end.
2516
2517 2002-12-03  Andrew Haley  <aph@redhat.com>
2518
2519         * class.c (make_class_data): New field, "chain".
2520         * decl.c (java_init_decl_processing): Likewise.
2521
2522 2002-12-02  Tom Tromey  <tromey@redhat.com>
2523
2524         For PR java/8740:
2525         * parse.y (do_resolve_class): Handle qualified name via
2526         recursion.
2527
2528 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
2529
2530         * boehm.c, buffer.c, builtins.c, check-init.c, class.c,
2531         constants.c, decl.c, except.c, expr.c, gjavah.c, jcf-depend.c,
2532         jcf-dump.c, jcf-io.c, jcf-parse.c, jcf-path.c, jcf-write.c,
2533         jv-scan.c, jvgenmain.c, jvspec.c, lang.c, mangle.c, mangle_name.c,
2534         parse-scan.y, parse.y, typeck.c, verify.c, xref.c, zextract.c:
2535         Include coretypes.h and tm.h.
2536         * Make-lang.in: Update dependencies.
2537
2538 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2539
2540         * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
2541
2542 2002-11-25  Diego Novillo  <dnovillo@redhat.com>
2543
2544         * jcf-reader.c: Don't expand JCF_readu4 inside the
2545         expansion of JCF_SKIP.
2546
2547 2002-11-25  Diego Novillo  <dnovillo@redhat.com>
2548
2549         * jcf-reader.c: Don't expand JCF_readu4 inside the
2550         expansion of JCF_SKIP.
2551
2552 2002-11-22  Tom Tromey  <tromey@redhat.com>
2553
2554         * parse.y (patch_binop): Cast right hand side of shift expression
2555         to `int'.  Fixes PR java/8676.
2556
2557 2002-11-22  Ranjit Mathew <rmathew@hotmail.com>
2558             Andrew Haley <aph@redhat.com>
2559
2560         * gcc/java/jcf-write.c (write_classfile): Remove target
2561         class file, if it exists, before renaming the temporary
2562         class file to it.
2563
2564 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2565
2566         * jvspec.c (lang_specific_spec_functions): New.
2567
2568 2002-11-18  Tom Tromey  <tromey@redhat.com>
2569
2570         Fix for PR java/7912:
2571         * expr.c (can_widen_reference_to): Allow cast of array to
2572         Cloneable or Serializable.
2573         * java-tree.h (java_lang_cloneable_identifier_node): Declare.
2574         (java_io_serializable_identifier_node): Likewise.
2575         * parse.y (java_lang_cloneable, java_io_serializable): Removed.
2576         (valid_ref_assignconv_cast_p): Use new identifier nodes.
2577         * lex.c (java_init_lex): Don't initialize java_lang_cloneable and
2578         java_io_serializable.
2579         * decl.c (java_init_decl_processing): Initialize
2580         java_lang_cloneable_identifier_node and
2581         java_io_serializable_identifier_node.
2582         (java_lang_cloneable_identifier_node): New global.
2583         (java_io_serializable_identifier_node): Likewise.
2584
2585 2002-11-14  Jens-Michael Hoffmann  <jensmh@gmx.de>
2586
2587         * buffer.c: Remove unnecessary casts.
2588         * check-init.c: Likewise.
2589         * class.c: Likewise.
2590         * constants.c: Likewise.
2591         * decl.c: Likewise.
2592         * except.c: Likewise.
2593         * gjavah.c: Likewise.
2594         * jcf-io.c: Likewise.
2595         * jcf-parse.c: Likewise.
2596         * jcf-path.c: Likewise.
2597         * jvspec.c: Likewise.
2598         * lang.c: Likewise.
2599         * lex.c: Likewise.
2600         * verify.c: Likewise.
2601
2602 2002-11-06  Tom Tromey  <tromey@redhat.com>
2603
2604         * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
2605         a JNI header.
2606
2607 2002-11-05  Tom Tromey  <tromey@redhat.com>
2608
2609         Fix for PR java/6388.
2610         * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while.
2611         * java-tree.h (enum java_tree_index): New values
2612         JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE.
2613         (decimal_int_max, decimal_long_max): New defines.
2614         * lex.c (yylex): Rewrote range checking.  Sign extend literals.
2615         (error_if_numeric_overflow): Rewrote range checking.
2616         * decl.c (java_init_decl_processing): Initialize decimal_int_max,
2617         decimal_long_max.
2618
2619 2002-11-02  Tom Tromey  <tromey@redhat.com>
2620
2621         * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
2622
2623         * class.c (make_method_value): Put class name, not signature, into
2624         `throws' field.  For PR java/8415.
2625
2626 2002-10-24  Tom Tromey  <tromey@redhat.com>
2627
2628         * gcj.texi (Invoking gij): Document --showversion.
2629         (Standard Properties): java.library.path now set.
2630
2631 2002-10-23  Tom Tromey  <tromey@redhat.com>
2632
2633         * gjavah.c (decode_signature_piece): In JNI mode, print
2634         `jobjectArray' when array depth is nonzero.
2635         Fixes PR java/8296.
2636
2637 2002-10-15  Andrew Haley  <aph@redhat.com>
2638
2639         * parse.y (patch_invoke): Call force_evaluation_order on a static
2640         arg list.
2641         (resolve_qualified_expression_name): Call force_evaluation_order
2642         on a arg list that is part of a Qualified Expression Name.
2643
2644         * lang.c (dump_compound_expr): New.
2645         (java_dump_tree): New.
2646
2647 2002-10-20  Ranjit Mathew <rmathew@hotmail.com>
2648
2649         * gcj.texi: Added item describing the GCJ runtime property
2650         "gnu.gcj.progname".
2651
2652 2002-10-15  Richard Henderson  <rth@redhat.com>
2653
2654         * jcf-parse.c (get_constant): Fix type warning.
2655
2656 2002-10-15  Andrew Haley  <aph@redhat.com>
2657
2658         * java-tree.h (java_inlining_merge_static_initializers): Declare.
2659         (java_inlining_map_static_initializers): Declare.
2660
2661 2002-10-14  Andrew Haley  <aph@redhat.com>
2662
2663         * tree-inline.c (remap_block): All local class initialization
2664         flags go in the outermost scope.
2665         (expand_call_inline): Call java_inlining_map_static_initializers.
2666         (expand_call_inline): Call java_inlining_merge_static_initializers.
2667         * java/lang.c (merge_init_test_initialization): New.
2668         (java_inlining_merge_static_initializers): New.
2669         (inline_init_test_initialization): New.
2670         (java_inlining_map_static_initializers): New.
2671
2672 2002-10-11  Mark Wielaard  <mark@klomp.org>
2673
2674         * gcj.texi (Compatibility): Add Limitations and Extensions section.
2675
2676 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2677
2678         * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
2679
2680 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2681
2682         * parse.y (merge_string_cste): Add parentheses around & within |.
2683
2684 2002-10-08  Tom Tromey  <tromey@redhat.com>
2685
2686         * parse.y (variable_declarator_id): Simplify error path for
2687         array declarator error.  For PR java/8003.
2688
2689 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
2690
2691         * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
2692         bug_report_url.
2693
2694 2002-10-08  Andrew Haley  <aph@redhat.com>
2695
2696         * parse.y (attach_init_test_initialization_flags): Check for
2697         error_mark_node.
2698
2699 2002-10-07  Anthony Green  <green@redhat.com>
2700
2701         * parse.y (merge_string_cste): Fix bug in string concatenation.
2702
2703 2002-10-03  Michael Koch  <konqueror@gmx.de>
2704
2705         * gcj.texi (Standard properties):
2706         Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
2707
2708 2002-10-02  Roger Sayle  <roger@eyesopen.com>
2709
2710         PR optimization/6627
2711         * lang.c (java_init): If storing the vbit in function
2712         pointers, ensure that force_align_functions_log is atleast
2713         one to aid compatability with g++ vtables.
2714
2715 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
2716
2717         * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
2718         foul of type-based aliasing.
2719
2720 2002-09-30  Anthony Green  <green@redhat.com>
2721
2722         * gcj.texi (Invoking jv-scan): Fix texinfo.
2723
2724 2002-09-28  Anthony Green  <green@redhat.com>
2725
2726         * gcj.texi (Invoking jv-scan): Add --no-assert documentation.
2727         (Code Generation): Add -fno-assert documentation.
2728         * jv-scan.c (flag_assert): New global.
2729         (options): Add assert option.
2730         (help): Add --no-assert documentation.
2731         * parse-scan.y (flag_assert): New global.
2732         * lang.c (lang_f_options): Add -fassert/-fno-assert support.
2733         (flag_assert): New global.
2734         * java-tree.h (flag_assert): New global.
2735         * lex.c (java_lex): Obey flag_assert.
2736         * jvspec.c (jvgenmain_spec): Strip -fassert/-fno-assert when
2737         calling cc1.
2738
2739 2002-09-26  Andrew Haley  <aph@redhat.com>
2740
2741         * expr.c (build_java_array_length_access): Check for null pointer.
2742         * expr.c (expand_java_arrayload): Likewise.
2743
2744 2002-09-21  Richard Henderson  <rth@redhat.com>
2745
2746         * jcf-parse.c (get_constant): Decode from IEEE no matter
2747         what the target format.
2748
2749 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
2750
2751         * ChangeLog: Follow spelling conventions.
2752         * class.c: Likewise.
2753         * decl.c: Likewise.
2754         * expr.c: Likewise.
2755         * gjavah.c: Likewise.
2756         * java-tree.h: Likewise.
2757         * jcf-dump.c: Likewise.
2758         * jcf-parse.c: Likewise.
2759         * jvspec.c: Likewise.
2760         * lang.c: Likewise.
2761         * mangle.c: Likewise.
2762         * parse.y: Likewise.
2763
2764 2002-09-17  Tom Tromey  <tromey@redhat.com>
2765
2766         * lex.c (java_read_unicode_collapsing_terminators): Handle case
2767         where \r appears at EOF.  Fixes PR java/7950.
2768
2769 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2770
2771         * jvspec.c (lang_specific_driver): Remove unused variable.
2772
2773 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
2774
2775         * java-tree.h (union lang_tree_node): Add chain_next option.
2776
2777 2002-09-16  Richard Henderson  <rth@redhat.com>
2778
2779         * jcf-parse.c (get_constant): Runtime check for IEEE format;
2780         use new real.h interface.
2781         * jcf-write.c (find_constant_index): Use new real.h interface.
2782         * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
2783
2784 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
2785
2786         * lang.c: Follow spelling conventions.
2787
2788 2002-09-11  Per Bothner  <per@bothner.com>
2789
2790         * parse.y (fold_constant_for_init):  If a VAR_DECL, convert numerical
2791         constant to the type of the field.
2792         (java_complete_tree):  Remove now-redundant code.
2793
2794         * parse.y (fold_constant_for_init):  'null' is not a constant expr.
2795
2796 2002-09-03  Jesse Rosenstock  <jmr@ugcs.caltech.edu>
2797
2798         For PR java/5794:
2799         * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
2800         return label if a ret instruction for the jsr has been reached.
2801
2802 2002-09-09  Ranjit Mathew  <rmathew@hotmail.com>
2803
2804         * parse.y (DIR_SEPARATOR): Don't define.
2805         (check_class_interface_creation): Use IS_DIR_SEPARATOR.
2806
2807 2002-08-28  Andrew Haley  <aph@redhat.com>
2808
2809         * verify.c (verify_jvm_instructions): Allow exception handler
2810         inside code that is being protected, but generate a warning.
2811         * except.c (link_handler): Initialize `expanded' in new eh_range.
2812         (binding_depth, is_class_level, current_pc): Declare extern.
2813
2814 2002-09-01  Mark Wielaard <mark@klomp.org>
2815
2816         * gcj.texi: Add chapter about system properties.
2817         Fixed some typos.
2818
2819 2002-08-26  Tom Tromey  <tromey@redhat.com>
2820
2821         * parse.y (try_builtin_assignconv): Allow narrowing primitive
2822         conversion if RHS_TYPE is byte, short, or char.
2823
2824 2002-08-22  Tom Tromey  <tromey@redhat.com>
2825
2826         * gcj.texi (Invoking gij): Document -cp and -classpath.
2827
2828 2002-08-21  Tom Tromey  <tromey@redhat.com>
2829
2830         * Make-lang.in (java/jcf-path.o): Use $(datadir), not
2831         $(prefix)/share.  For PR libgcj/7633.
2832
2833         For PR java/6005 and PR java/7611:
2834         * lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define.
2835         (java_can_use_bit_fields_p): New function.
2836
2837 2002-08-16  Tom Tromey  <tromey@redhat.com>
2838
2839         * gcj.texi (Class Initialization): Mention class initialization of
2840         arrays.
2841
2842 2002-07-30  Andrew Haley  <aph@cambridge.redhat.com>
2843
2844         * Make-lang.in (java-tree-inline.o): New.
2845         (JAVA_OBJS): Add java-tree-inline.o.
2846         * parse.y (source_end_java_method): Call java_optimize_inline.
2847         (java_expand_method_bodies): Save method's tree in
2848         DECL_SAVED_TREE.
2849         (add_stmt_to_compound): Keep track of the number of statments.
2850         * lang.c (java_init): Enable flag_inline_trees.
2851         (java_post_options): If flag_inline_functions is on, enable
2852         flag_inline_trees instread.
2853         (decl_constant_value): New.
2854         (java_tree_inlining_walk_subtrees): New.
2855         * java-tree.h (DECL_NUM_STMTS): New macro.
2856         (java_optimize_inline): Declare.
2857         * expr.c (java_expand_expr): Allow a BLOCK to return a value.
2858         Handle a LABEL_EXPR.
2859         * decl.c (build_result_decl): If we already have a DECL_RESULT
2860         don't make another.
2861         (dump_function): New.
2862         (java_optimize_inline): New.
2863         (dump_function): New.
2864
2865 2002-08-13  Jesse Rosenstock  <jmr@fulcrummicro.com>
2866
2867         For PR java/7483:
2868         * parse.y (build_assertion): Invert return from
2869         desiredAssertionStatus.
2870
2871 2002-08-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2872
2873         * jcf-write.c (get_access_flags): Return correct access flags for
2874         private and protected inner classes.
2875
2876 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
2877
2878         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2879
2880 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
2881
2882         * mangle_name.c: Don't include obstack.h twice.
2883         * xref.c: Don't include obstack.h.
2884
2885 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
2886
2887         * class.c: (permanent_obstack): Delete declaration.
2888         * constants.c: (permanent_obstack): Delete declaration.
2889         * except.c: (permanent_obstack): Delete declaration.
2890         * expr.c: (permanent_obstack): Delete declaration.
2891         * jcf-parse.c: (permanent_obstack): Delete declaration.
2892         (saveable_obstack): Delete declaration.
2893         * parse.h: (permanent_obstack): Delete declaration.
2894         * typeck.c: (permanent_obstack): Delete declaration.
2895
2896 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2897
2898         * gcj.texi (version-gcc): Increase to 3.3.
2899
2900 2002-07-22  Tom Tromey  <tromey@redhat.com>
2901
2902         * lex.c (java_lex): Check for `e' or `E' after 0.
2903
2904 2002-07-21  Richard Henderson  <rth@redhat.com>
2905
2906         * lang.c (java_unsafe_for_reeval): New.
2907         (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2908
2909 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
2910
2911         * jcf-path.c (GET_ENV_PATH_LIST): Remove.
2912         (jcf_path_init): Use GET_ENVIRONMENT.
2913
2914 2002-07-10  Roger Sayle  <roger@eyesopen.com>
2915             Zack Weinberg <zack@codesourcery.com>
2916
2917         * builtins.c (initialize_builtins): Remove defines that
2918         handled C/C++ specific junk hereby removed from builtins.def.
2919
2920 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
2921
2922         * lang.c (java_post_options): Update prototype.
2923
2924 2002-07-05  Roger Sayle  <roger@eyesopen.com>
2925
2926         * builtins.c (initialize_builtins): Ignore the additional
2927         parameter to DEF_BUILTIN.  Handle more C/C++ specific junk in
2928         the builtins.def file.
2929
2930 2002-07-01  Tom Tromey  <tromey@redhat.com>
2931
2932         For PR libgcj/7073:
2933         * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
2934         specially.
2935
2936 2002-07-01  Roger Sayle  <roger@eyesopen.com>
2937
2938         * java/decl.c (builtin_function): Accept additional parameter.
2939         (java_init_decl_processing): Pass an additional NULL_TREE
2940         argument to builtin_function.
2941
2942 2002-06-29  T.J. Mather  <tjmather@maxmind.com>
2943
2944         * gcj.texi: Fixed gcj invocation example so that it compiles.
2945
2946 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2947
2948         * lex.c (java_init_lex): Avoid incorrect hardcoded constant 11.
2949         * parse.y (mark_parser_ctxt): Likewise.
2950         (check_modifiers, declare_local_variables): Avoid incorrect
2951         hardcoded constant 10.
2952
2953         * lex.c (java_read_char): Avoid "comparison is always true"
2954         warning.
2955
2956 2002-06-25  Andreas Schwab  <schwab@suse.de>
2957
2958         * expr.c (JSR): Avoid undefined operation on PC.
2959
2960 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2961
2962         * decl.c (clear_binding_level): Const-ify.
2963
2964 2002-06-13  Akim Demaille  <akim@epita.fr>
2965
2966         * parse.y (class_declaration, interface_declaration): Make sure
2967         all their rules have an action, in order to avoid meaningless `$$
2968         = $1' and their type clashes.
2969
2970 2002-06-11  Tom Tromey  <tromey@redhat.com>
2971
2972         * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
2973         * parse-scan.y (statement_without_trailing_substatement): Added
2974         assert_statement.
2975         (assert_statement): New rule.
2976         * java-tree.h (struct lang_type) [assertions]: New field.
2977         (TYPE_USES_ASSERTIONS): New macro.
2978         (CLASS_USES_ASSERTIONS): Likewise.
2979         (FIELD_SYNTHETIC): New define.
2980         * lex.c (java_lval;): Added ASSERT_TK.
2981         * parse.y (ASSERT_TK): Added.
2982         (statement_without_trailing_substatement): Added assert_statement.
2983         (assert_statement): New rule.
2984         (build_assertion): New function.
2985         (maybe_generate_pre_expand_clinit): Create and initialize
2986         $assertionsDisabled.
2987         (lookup_package_type): Removed decl.
2988         * keyword.h: Rebuilt.
2989         * keyword.gperf (assert): New token.
2990
2991 2002-06-10  Akim Demaille  <akim@epita.fr>
2992
2993         * parse.y (interface_type_list, class_member_declaration)
2994         (unary_expression_not_plus_minus): Remove duplicate %type.
2995         Whitespace changes.
2996
2997 2002-06-09  Tom Tromey  <tromey@redhat.com>
2998
2999         * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
3000
3001         * parse.y (method_header): Give error message in all cases.
3002         Fixes PR java/6865.
3003
3004 2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3005
3006         Don't use RTL inlining. Fix for PR java/6820.
3007         * lang.c (LANG_HOOKS_POST_OPTIONS): Define.
3008         (flag_really_inline): New.
3009         (java_decode_option): Set flag_really_inline if -finline-functions
3010         is seen.
3011         (java_post_options): New function. Turn off inlining unless
3012         flag_really_inline is set.
3013
3014 2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3015
3016         * gjavah.c (throwable_p): Accept argument as either a classname or
3017         signature fragment. Create null-terminated classname string for super
3018         when calling itself recursively.
3019         (decode_signature_piece): Skip first character from class name
3020         signature when calling throwable_p.
3021
3022 2002-06-08  H.J. Lu  (hjl@gnu.org)
3023
3024         * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
3025
3026 2002-06-04  Tom Tromey  <tromey@redhat.com>
3027
3028         * jcf-write.c (perform_relocations): Optmize a goto to a goto.
3029
3030 2002-06-04  Michael Koch  <konqueror@gmx.de>
3031
3032         * gcj.texi (Input Options): Fixed typo.
3033
3034 2002-06-04  Zack Weinberg  <zack@codesourcery.com>
3035
3036         * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
3037         typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
3038         all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
3039         and all now-pointless local variables.  Rename other local
3040         variables to reflect their not being handles.
3041
3042         * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
3043         #if JCF_USE_STDIO blocks.
3044
3045         * parse.y: Add missing semicolon at end of rule.
3046
3047 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
3048
3049         * check-init.c (attach_initialized_static_class): Delete, unused.
3050         * parse.y: Use htab_t instead of struct hashtable, update
3051         all uses.
3052         * java-tree.h: Include hashtab.h instead of hash.h.
3053         (struct lang_decl_func): Use htab_t, set up for gengtype.
3054         (struct init_test_hash_entry): Delete.
3055         (struct treetreehash_entry): New.
3056         (java_treetreehash_find): New
3057         (java_treetreehash_new): New prototype.
3058         (java_treetreehash_create): New prototype.
3059         (java_mark_tree): Delete prototype.
3060         (java_hash_hash_tree_node): Delete prototype.
3061         (java_hash_compare_tree_node): Delete prototype.
3062         (attach_initialized_static_class): Delete prototype.
3063         * expr.c (build_class_init): Update to use java_treetreehash
3064         functions.
3065         (java_expand_expr): Update to use htab_t.
3066         (emit_init_test_initialization): Likewise.
3067         * decl.c (java_mark_tree): Delete.
3068         * class.c (init_test_hash_newfunc): Delete.
3069         (java_hash_hash_tree_node): Delete.
3070         (java_hash_compare_tree_node): Delete.
3071         (add_method_1): Update to use java_treetreehash functions.
3072         (JAVA_TREEHASHHASH_H): New macro.
3073         (java_treetreehash_hash): New function.
3074         (java_treetreehash_compare): New function.
3075         (java_treetreehash_find): New function.
3076         (java_treetreehash_new): New function.
3077         (java_treetreehash_create): New function.
3078         * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
3079
3080         * Make-lang.in (java/parse.o): Depend on debug.h.
3081         * java-tree.h (struct lang_identifier): Use gengtype.
3082         (union lang_tree_node): New.
3083         (struct lang_decl_func): Use gengtype.
3084         (struct lang_decl_var): Likewise.
3085         (struct lang_decl): Likewise.
3086         * parse.y: Include debug.h.
3087         * lang.c (LANG_HOOKS_MARK_TREE): Delete.
3088
3089         * lang.c (struct language_function): New dummy structure.
3090
3091         * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
3092         descriminator for DECL_LANG_SPECIFIC.
3093         (struct lang_decl_func): Rename from struct lang_decl.
3094         (enum lang_decl_desc): New.
3095         (struct lang_decl): Make it a union.  Update all the accessor macros.
3096         (struct lang_type): Use gengtype.
3097         * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
3098         * decl.c (java_dup_lang_specific_decl): All lang_decl structures
3099         are now the same size.
3100         (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
3101         use discriminator to mark DECL_LANG_SPECIFIC.
3102
3103         * Make-lang.in (gt-java-builtins.h): New rule.
3104         (java/builtins.o): Add dependency on gt-<filename>.h.
3105         * builtins.c: Use gengtype for roots.
3106         (union string_or_tree): Use gengtype.
3107         (struct builtin_record): Use gengtype.
3108         * config-lang.in (gtfiles): Add builtins.c.
3109
3110         * Make-lang.in (gt-java-class.h, gt-java-constants.h,
3111         gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
3112         gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
3113         gt-java-parse.h, gtype-java.h): Add rules to generate.
3114         (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
3115         (class.o): Add dependency on gt-*.h.
3116         (constants.o): Likewise.
3117         (decl.o): Likewise.
3118         (expr.o): Likewise.
3119         (jcf-parse.o): Likewise.
3120         (jcf-write.o): Likewise.
3121         (lang.o): Likewise.
3122         * config-lang.in (gtfiles): New.
3123         * class.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
3124         * constants.c: Replace uses of ggc_add_* with GTY markers.
3125         Include gt-*.h.
3126         * decl.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
3127         * expr.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
3128         * java-tree.h: Replace uses of ggc_add_* with GTY markers.
3129         * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
3130         Include gt-*.h.
3131         * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
3132         Include gt-*.h.
3133         * lang.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
3134         * mangle.c: Replace uses of ggc_add_* with GTY markers.  Include
3135         gt-*.h.
3136         * parse.y: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
3137         Include gtype-java.h.
3138
3139 2002-06-02  Tom Tromey  <tromey@redhat.com>
3140
3141         Fix for PR java/5913:
3142         * parse.y (patch_binop): Call patch_string on op1.
3143
3144 2002-06-02  Tom Tromey  <tromey@redhat.com>
3145
3146         Fix for PR java/1343, PR java/6336:
3147         * parse.y (make_nested_class_name): Remove extraneous `else'; fix
3148         formatting.  Changed return type.
3149         (anonymous_class_counter): Moved to top of file.
3150         (maybe_make_nested_class_name): Append number to class name for
3151         function-local classes.
3152
3153 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
3154
3155         * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
3156         * Make-lang.in: Update dependency lists.
3157
3158 2002-05-18  Mark Mitchell  <mark@codesourcery.com>
3159
3160         * gjavah.c (throwable_p): Do not free the name of the class after
3161         passing it to find_class.
3162         * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
3163         * jcf-io.c (dirent.h): Include it.
3164         (fnmatch.h): Likewise.
3165         (compare_path): New function.
3166         (java_or_class_file): Likewise.
3167         (memoized_dirlist_entry): New type.
3168         (memoized_dirlist_lookup_eq): New function.
3169         (memoized_dirlists): New variable.
3170         (caching_stat): New function.
3171         (memoized_class_lookup_eq): New function.
3172         (memoized_class_lookups): Likewise.
3173         (find_class): Use memoized_class_lookups and caching_stat.
3174         * jcf.h (JCF_USE_SCANDIR): Define.
3175         * parse.y (java_expand_classes): Write the class files in reverse
3176         order.
3177
3178 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3179
3180         * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
3181
3182 2002-05-13  Mark Mitchell  <mark@codesourcery.com>
3183
3184         * jcf-write.c (write_classfile): Unlink the temporary file if it
3185         cannot be renamed.  Use concat to build up the name of the
3186         temporary file.
3187
3188 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
3189
3190         * jcf-write.c (write_classfile): Write the file to a
3191         temporary file and then rename it.
3192
3193 2002-05-07  Tom Tromey  <tromey@redhat.com>
3194
3195         * gjavah.c (throwable_p): Use xstrdup, not strdup.
3196
3197         Fix for PR java/1200:
3198         * gjavah.c (throwable_p): New function.
3199         (decode_signature_piece): Use it.  A `WeakReference' isn't the
3200         same as a `jweak'.
3201         Include hashtab.h.
3202         (gcjh_streq): New function.
3203
3204 2002-05-07  Andreas Jaeger  <aj@suse.de>
3205
3206         * parse.y (finish_for_loop): Fix if statement.
3207
3208 2002-05-06  Tom Tromey  <tromey@redhat.com>
3209
3210         Fix for PR java/5941:
3211         * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
3212         loop update expression.
3213         (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
3214         * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
3215
3216 2002-05-04  Mark Wielaard  <mark@klomp.org>
3217
3218         For PR java/6519:
3219         * parse.y (build_string_concatenation): Return just op1 only when op2
3220         is null and op1 is a STRING_CST, otherwise always construct a
3221         StringBuffer.
3222
3223 2002-04-27  Tom Tromey  <tromey@redhat.com>
3224
3225         For PR java/6382:
3226         * parse.y (string_convert_int_cst): New function.
3227         (merge_string_cste): Use it.
3228
3229 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
3230
3231         * java-tree.h (java_parse_file): Update.
3232         (java_set_yydebug): Remove.
3233         * jcf-parse.c (yydebug): Remove.
3234         (java_set_yydebug): Die.
3235         (java_parse_file): Update.
3236         * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
3237
3238 2002-04-24  Tom Tromey  <tromey@redhat.com>
3239
3240         For PR java/6425:
3241         * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
3242         EXPR_WFL_QUALIFICATION of qual_wfl.
3243
3244 2002-04-23  Per Bothner  <per@bothner.com>
3245
3246         * expr.c (PRE_JSR):  Call NOTE_LABEL for return address.
3247         * java-tree.h (BCODE_RETURN_TARGET):  Removed - never set.
3248         (BCODE_TARGET):  Remove BCODE_RETURN_TARGET.
3249
3250 2002-04-23  Tom Tromey  <tromey@redhat.com>
3251
3252         For PR java/6314:
3253         * jvspec.c (lang_specific_driver): Use --resource, not -R.  Also
3254         recognize `-fcompile-resource='.
3255         * gcj.texi (Invoking gcj): Use --resource, not -R.  Expanded text
3256         a bit.
3257
3258 2002-04-22  Alexandre Petit-Bianco  <apbianco@redhat.com>
3259
3260         * jcf-parse.c: (yyparse): Don't prepend "./" to relative
3261         paths. Fixes PR java/2791.
3262
3263 2002-04-19  Andrew Haley  <aph@redhat.com>
3264
3265         * jcf-write.c (push_long_const): lo, hi: New variables.
3266         Use rshift_double to extract the high part of a 64-bit long.
3267         Use WORD_TO_INT to extract the low part.
3268
3269         * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
3270         HOST_WIDE_INT for num.  Use JPOOL_UINT to get it.
3271         CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
3272
3273 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3274
3275         * typeck.c (incomplete_type_error): Remove.
3276
3277 2002-04-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3278
3279         * class.c (make_class_data): Set DECL_ALIGN on static class data,
3280         for hash synchronization.
3281         * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
3282         * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
3283         class_type_node.
3284
3285 2002-04-16  Mark Wielaard  <mark@klomp.org>
3286
3287         * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
3288         negative zero.
3289
3290 2002-04-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3291
3292         Fix for PR java/6294:
3293         * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
3294         interfaces.
3295
3296 2002-04-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3297
3298         Fix for PR java/6085:
3299         * parse.y (patch_method_invocation): Always use build_access_to_thisn
3300         to get enclosing "this" argument for inner-class constructor
3301         invocation. Pass correct arguments to build_access_to_thisn.
3302
3303 2002-04-10  Andreas Jaeger  <aj@suse.de>
3304
3305         * gcj.texi (Input Options): Fix extdirs patch.
3306
3307 2002-04-10  Anthony Green  <green@redhat.com>
3308
3309         * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
3310
3311 2002-04-09  Anthony Green  <green@redhat.com>
3312
3313         * gcj.texi (Input Options): Add --extdirs documentation.
3314         * jcf-dump.c (OPT_extdirs): New macro.
3315         (options): Add extdirs option.
3316         (help): Describe --extdirs.
3317         (main): Handle OPT_extdirs.
3318         * gjavah.c (OPT_extdirs): New macro.
3319         (options): Add extdirs option.
3320         (help): Describe --extdirs.
3321         (main): Handle OPT_extdirs.
3322         * jcf-path.c (jcf_path_init): Add extdirs support.
3323         (jcf_path_extdirs_arg): New function.
3324         (extensions): New variable to hold extensions path entries.
3325         * jvspec.c: Remove -fextdirs= when compiling main().
3326         * lang.c (java_decode_option): Handle -fextdirs=.
3327         * jcf.h (jcf_path_extdirs_arg): Declare new function.
3328         * Make-lang.in: Compile jcf-path with version info for use in
3329         identifying the appropriate libgcj.jar.
3330
3331 2002-04-08  Tom Tromey  <tromey@redhat.com>
3332
3333         For PR libgcj/5303:
3334         * .cvsignore: Added rmic.1 and rmiregistry.1.
3335         * gcj.texi (Top): Link to new nodes.
3336         (Invoking rmic): New node.
3337         (Invoking rmiregistry): Likewise.
3338         * Make-lang.in (java.generated-manpages): Added rmic.1 and
3339         rmiregistry.1.
3340         (java.maintainer-clean): Likewise.
3341         ($(srcdir)/java/rmic.1): New target.
3342         ($(srcdir)/java/rmiregistry.1): Likewise.
3343         (java.install-man): Handle rmic.1 and rmiregistry.1.
3344
3345 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3346
3347         * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
3348         Add note about handling uncaught exceptions. Add an exception handler
3349         to example.
3350
3351 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3352
3353         * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
3354         after using it to patch CALL_EXPR.
3355
3356 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3357
3358         * gcj.texi (Invocation): Document CNI invocation API.
3359
3360 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3361
3362         * expr.c (truthvalue_conversion): Rename.  Update.
3363         (expand_compare): Update.
3364         * java-tree.h (java_truthvalue_conversion): New.
3365         * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3366
3367 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3368
3369         * java-tree.h (java_mark_addressable): New.
3370         * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3371         * typeck.c (mark_addressable): Rename, update.
3372
3373 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3374
3375         * expr.c (build_java_binop): Update.
3376         * java-tree.h (java_signed_type, java_unsigned_type,
3377         java_signed_or_unsigned_type): Update.
3378         * lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3379         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3380         * parse.y (patch_binop): Update.
3381         * typeck.c (signed_or_unsigned_type, unsigned_type,
3382         signed_type): Update.
3383
3384 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3385
3386         * lang.c (LANG_HOOKS_PRINT_ERROR_FUNCTION): Redefine.
3387         (java_dummy_print): Remove.
3388         (lang_print_error): Rename.  Exit early if inhibiting output.
3389         (inhibit_error_printing_function): New.
3390         (java_init): Don't set hook.
3391         (lang_init_source): Use new boolean.
3392
3393 2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>
3394
3395         * parse.y (do_resolve_class): Fix infinite recursion.
3396
3397 2002-03-29  Tom Tromey  <tromey@redhat.com>
3398
3399         * parse.y (check_inner_circular_reference): Ignore incomplete
3400         types.
3401
3402 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3403
3404         * Make-lang.in (builtins.o): Update.
3405         * boehm.c (get_boehm_type_descriptor): Update.
3406         * builtins.c: Include langhooks.h.
3407         * decl.c (java_init_decl_processing): Update.
3408         * java-tree.h (java_type_for_mode, java_type_for_size): New.
3409         * lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
3410         Redefine.
3411         * typeck.c (type_for_mode, type_for_size): Update.
3412
3413 2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>
3414
3415         * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
3416
3417 2002-03-28  Tom Tromey  <tromey@redhat.com>
3418
3419         * except.c (expand_end_java_handler): If the handler type is NULL,
3420         use java.lang.Throwable.  Fixes PR java/5986.
3421
3422 2002-03-28  Alexandre Petit-Bianco  <apbianco@redhat.com>
3423
3424         Fix for PR java/4715:
3425         * jcf-parse.c (parse_source_file_3): New function.
3426         (read_class): Call it.
3427         (java_parse_file): Likewise.
3428
3429 2002-03-28  Jan Hubicka  <jh@suse.cz>
3430
3431         * java/lang.c (java_init_options): Set flag_trapping_math to 0.
3432
3433 2002-03-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3434
3435         * parse.y (resolve_package): Initialize "decl".
3436         (lookup_package_type): Remove unused function.
3437
3438 2002-03-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3439
3440         Fix for PR java/5993:
3441         * parse.y (resolve_package): Return the decl if resolution was
3442         successful. Don't special case "java.lang" and "java.lang.reflect"
3443         packages. Set type_name to the merged identifier.
3444         (resolved_qualified_expression_name): Print error using "name" if
3445         resolve_package returns NULL_TREE.
3446
3447 2002-03-27  Tom Tromey  <tromey@redhat.com>
3448
3449         * expr.c (expand_invoke): Don't generate null pointer check if
3450         we're calling <init>.
3451
3452 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3453
3454         * expr.c (java_lang_expand_expr): Rename java_expand_expr,
3455         fix prototype.
3456         * java-tree.h (java_lang_expand_expr): Similarly.
3457         * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3458         (java_init): Don't set hook.
3459
3460 2002-03-27  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3461
3462         Fix for PR java/5850:
3463         * parse.y (lookup_field_wrapper): Call itself recursively for enclosing
3464         context if field was not found in the current scope.
3465         * expr.c (lookup_field): Don't look in enclosing contexts.
3466
3467 2002-03-26  Tom Tromey  <tromey@redhat.com>
3468
3469         Fix for PR java/5942:
3470         * parse.y (init_src_parse): Added sanity check.
3471         * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
3472         elements, not 11.
3473
3474 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3475
3476         * decl.c (lang_mark_tree): Rename java_mark_tree.
3477         * java-tree.h (java_mark_tree):&nb