OSDN Git Service

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