OSDN Git Service

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