OSDN Git Service

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