OSDN Git Service

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