OSDN Git Service

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