OSDN Git Service

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