OSDN Git Service

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