OSDN Git Service

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