OSDN Git Service

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