OSDN Git Service

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