OSDN Git Service

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