OSDN Git Service

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