OSDN Git Service

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