OSDN Git Service

* java-tree.h (push_labeled_block, pop_labeled_block): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
1 2007-07-26  Tom Tromey  <tromey@redhat.com>
2
3         * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
4         (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
5         EXIT_BLOCK_LABELED_BLOCK): Likewise.
6         * lang.c (java_tree_inlining_walk_subtrees): Update.
7         (java_dump_tree): Likewise.
8         * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
9         Remove.
10         * decl.c (push_labeled_block, pop_labeled_block): Remove.
11         * java-gimplify.c (java_gimplify_labeled_block_expr,
12         java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
13         (java_gimplify_expr): Update.
14
15 2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16
17         * class.c (java_treetreehash_hash, java_treetreehash_compare):
18         Constify. 
19         * expr.c (type_assertion_eq): Likewise.
20         * jcf-io.c (compare_path): Likewise.
21         * jcf-parse.c (cmpstringp): Likewise.
22         * verify-impl.c (get_one_type, compute_argument_types,
23         compute_return_type): Likewise. 
24
25 2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
26
27         PR target/32462
28         PR libgcj/32465
29         * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
30
31 2007-07-12  Richard Guenther  <rguenther@suse.de>
32
33         * expr.c (expand_java_return): RETURN_EXPR has void type.
34         (build_jni_stub): Likewise.  Use a comparison against zero
35         for null-pointer test in COND_EXPR.
36         (build_field_ref): Build POINTER_PLUS_EXPR with correct
37         type.  Convert result instead.
38         (build_invokevirtual): Likewise.
39
40 2007-07-09  Geoffrey Keating  <geoffk@apple.com>
41
42         PR 32617
43         * lang.c (java_init): Remove setting of force_align_functions_log.
44         * class.c (add_method_1): Set DECL_ALIGN of non-static method
45         to cope with ptrmemfunc_vbit_in_pfn.
46
47 2007-07-03  David Daney  <ddaney@avtrex.com>
48
49         * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to 
50         include path.
51         (doc/gcj.dvi): Same.
52         (doc/gcj.pdf): Same.
53         (java/index.html): Same.
54
55 2007-06-15 Andrew Pinski  <andrew_pinski@playstation.sony.com>
56
57         * class.c (make_class_data): Build the index in sizetype.
58         Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
59         adding to a pointer type.
60         (build_symbol_entry): Likewise.
61         * expr.c (build_java_arrayaccess): Likewise.
62         (build_field_ref): Likewise.
63         (build_known_method_ref): Likewise.
64         (build_invokevirtual): Likewise.
65         * except.c (build_exception_object_ref): Do a
66         NEGATIVE and then a POINTER_PLUS_EXPR instead
67         of a MINUS_EXPR.
68
69 2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
70
71         * typeck.c (java_signed_type): Remove.
72         * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
73         * java-tree.h (java_signed_type): Remove.
74
75 2007-05-18  Geoffrey Keating  <geoffk@apple.com>
76
77         * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
78         (print_constant): Likewise.
79
80 2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
81
82         * expr.c (build_java_binop): Use unsigned_type_for instead of
83         java_unsigned_type.
84         * java-tree.h (java_unsigned_type): Remove.
85         * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
86         * typeck.c (java_unsigned_type): Remove.
87
88 2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
89
90         * java-tree.h (lang_tree_node): Use GENERIC_NEXT
91         instead of checking GIMPLE_STMT_P in chain_next.
92
93 2007-04-06  Colin Walters  <walters@redhat.com>
94
95         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
96         * jcf-io.c (open_class): Copy 'filename'.
97
98 2007-04-03  Andrew Haley  <aph@redhat.com>
99
100         * jvgenmain.c (main): Change main to use class$, not class$$.
101         (do_mangle_classname): Likewise.
102         * class.c (hide): New function.
103         (add_field): Hide everything that shouldn't be visible outside a
104         DSO.
105         (build_static_class_ref): Likewise.
106         (build_classdollar_field): Likewise.
107         (make_class_data): Likewise.
108         (layout_class_method): Likewise.
109         * expr.c (special_method_p): New function.
110
111         * class.c (push_class): Don't bogusly guess the source filename.
112         * jcf-parse.c (give_name_to_class): Don't set input_location from
113         DECL_ARTIFICIAL decls.
114
115 2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
116
117         * typeck.c (java_signed_or_unsigned_type): Removed.
118         (java_signed_type): use get_signed_or_unsigned_type instead of
119         java_signed_or_unsigned_type.
120         (java_unsigned_type): Ditto.
121         * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
122         * java-tree.h (java_signed_or_unsigned_type): Removed.
123
124 2007-03-26  Tom Tromey  <tromey@redhat.com>
125
126         * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
127         (java.maintainer-clean): Likewise.
128         (java.install-man): Likewise.
129         (.INTERMEDIATE): Removed grmiregistry.pod.
130         (grmiregistry.pod): Removed.
131         * gcj.texi (Invoking gcjh): Removed.
132         (Invoking gjnih): Likewise.
133         (Invoking grmiregistry): Likewise.
134         (direntry): Updated.
135         (Top): Likewise.
136         (which-gcj): Removed.
137
138 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
139
140         * Make-lang.in: Add install-pdf target as copied from
141         automake v1.10 rules.
142
143 2007-02-27  Brooks Moses  <brooks.moses@codesourcery.com>
144
145         * gcj.texi: Standardize title page.
146
147 2007-02-18  Kazu Hirata  <kazu@codesourcery.com>
148
149         * class.c: Fix a comment typo.
150
151 2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
152             Brooks Moses  <brooks.moses@codesourcery.com>
153             Lee Millward  <lee.millward@codesourcery.com>
154
155         * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
156         of build3.
157         (BUILD_MONITOR_EXIT): Likewise.
158
159         * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
160         (java_gimplify_modify_expr): Likewise.
161
162         * class.c (cache_this_class_ref): Use build_call_expr.
163         (build_static_field_ref): Likewise.
164         (emit_indirect_register_classes): Likewise.
165         (emit_register_classes): Likewise.
166
167         * resource.c (write_resource_constructor): Use build_call_expr.
168
169         * builtins.c (builtin_creator_function): Change interpretation of
170         the second parameter to be the whole CALL_EXPR instead of the arglist.
171         (max_builtin): Tweak parameter list.  Use new CALL_EXPR accessors.
172         (min_builtin): Likewise.
173         (abs_builtin): Likewise.
174         (java_build_function_call_expr): Likewise.
175         (convert_real): Likewise.
176         (UNMARSHAL3): Likewise.
177         (UNMARSHAL4): Likewise.
178         (UNMARSHAL5): Likewise.
179         (build_arglist_for_builtin): Delete.  Fix callers to use
180         build_call_expr instead.
181         (putObject_builtin): Tweak parameter list.  Use new CALL_EXPR
182         accessors.
183         (compareAndSwapInt_builtin): Likewise.
184         (compareAndSwapLong_builtin): Likewise.
185         (compareAndSwapObject_builtin): Likewise.
186         (putVolatile_builtin): Likewise.
187         (getVolatile_builtin): Likewise.
188         (VMSupportsCS8_builtin): Likewise.
189         (check_for_builtin): Pass entire CALL_EXPR to builtin expander
190         instead of arglist.
191
192         * expr.c (build_java_athrow): Use build_call_nary instead of build3.
193         (build_java_throw_out_of_bounds_exception): Likewise.
194         (java_check_reference): Likewise.
195         (build_java_arraystore_check): Likewise.
196         (build_newarray): Likewise.
197         (build_anewarray): Likewise.
198         (expand_java_multinewarray): Use build_call_list instead of build3.
199         (build_java_monitor): Use build_call_nary instead of build3.
200         (java_create_object): Likewise.
201         (expand_java_NEW): Likewise.
202         (build_instanceof): Likewise.
203         (expand_java_CHECKCAST): Likewise.
204         (build_java_soft_divmod): Likewise.
205         (build_java_binop): Likewise.
206         (build_field_ref): Likewise.
207         (build_class_init): Likewise.
208         (rewrite_arglist_getcaller): Use build_call_expr.
209         (build_invokeinterface):  Use build_call_nary instead of build3.
210         (expand_invoke): Use build_call_list instead of build3.
211         (build_jni_stub): Use build_call_nary, build_call_list, or
212         build_call_expr instead of build3.
213         (expand_java_field_op): Use build_call_expr instead of build3.
214         (force_evaluation_order): Use new CALL_EXPR accessors.
215
216         * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
217
218 2007-02-15  David Daney  <ddaney@avtrex.com>
219
220         * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
221         (java.maintainer-clean):Add gc-analyze.1.
222         (.INTERMEDIATE): Add gc-analyze.pod.
223         (gc-analyze.pod): New rule.
224         (java.install-man): Install gc-analyze.1
225         * gcj.texi: Add new section for the gc-analyze program.
226
227 2007-02-07  Andrew Haley  <aph@redhat.com>
228
229         * class.c (uncache_this_class_ref): New.
230         * expr.c (build_jni_stub): Initialize the class.
231         (expand_byte_code): Call uncache_this_class_ref after generating
232         code.
233
234 2007-02-06  Tom Tromey  <tromey@redhat.com>
235
236         PR java/30714:
237         * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
238
239 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
240
241         * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
242
243 2007-02-02  Andrew Haley  <aph@redhat.com>
244
245         * expr.c (expand_byte_code): Call cache_this_class_ref() and
246         cache_cpool_data_ref().
247         Set TYPE_CPOOL_DATA_REF.
248         (cache_cpool_data_ref): New function.
249         * constants.c (build_ref_from_constant_pool): Remove special-case
250         code for flag_indirect_classes.
251         (build_constant_data_ref): Move special-case code for
252         flag_indirect_classes here from build_ref_from_constant_pool.
253         * decl.c (finish_method): Move class initialization from here to
254         cache_this_class_ref.
255         * class.c (cache_this_class_ref): New function.
256         (build_class_ref): Use this_classdollar for the ouput class.
257
258 2007-02-02  David Daney  <ddaney@avtrex.com>
259
260         * class.c (is_compiled_class): Move check to avoid reloading
261         current class.
262         (layout_class_method): Don't calculate DECL_EXTERNAL if it is
263         already set.
264
265 2007-02-01  Andrew Haley  <aph@redhat.com>
266
267         PR java/30641
268         * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
269
270 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
271
272         * class.c, jcf-parse.c: Fix comment typos.
273
274 2007-01-30  Tom Tromey  <tromey@redhat.com>
275
276         * gcj.texi (Strings): Fix documentation for JvNewString.
277
278 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
279
280         * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
281         typos.
282
283 2007-01-30  Ben Elliston  <bje@au.ibm.com>
284
285         * jvspec.c (lang_specific_driver): Remove unused classpath_args.
286
287 2007-01-29  Tom Tromey  <tromey@redhat.com>
288
289         PR java/30607:
290         * jvspec.c (lang_specific_driver): Handle separate -I argument.
291         * lang.opt (-I): Add 'Separate'.
292
293 2007-01-29  Andrew Haley  <aph@redhat.com>
294
295         * class.c (add_method_1): Mark fndecl as external unless we are
296         compiling it into this object file.
297
298 2007-01-24  Andrew Haley  <aph@redhat.com>
299
300         * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
301         type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
302
303 2007-01-22  Andrew Haley  <aph@redhat.com>
304
305         * builtins.c (VMSupportsCS8_builtin): New function.
306
307 2007-01-23  Andrew Pinski  <pinskia@gmail.com>
308
309         PR java/30454
310         * jcf-io.c (opendir_in_zip): Close the file
311         and free zipf before returning after an error.
312
313 2007-01-16  Tom Tromey  <tromey@redhat.com>
314
315         * java-tree.def: Added copyright header.
316
317 2007-01-15  Tom Tromey  <tromey@redhat.com>
318
319         * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
320         case.
321         * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
322         Removed case.
323         * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
324         (EXPR_WFL_NODE): Likewise.
325         (EXPR_WFL_LINECOL): Likewise.
326         (EXPR_WFL_FILENAME): Likewise.
327         (EXPR_WFL_LINENO): Likewise.
328         (build_expr_wfl, expr_add_location): Don't declare.
329         (build_unknown_wfl): Removed.
330         (EXPR_WFL_FILENAME_NODE): Removed.
331         (EXPR_WFL_COLNO): Removed.
332         (EXPR_WFL_SET_LINECOL): Removed.
333         (DECL_FUNCTION_WFL): Removed.
334         (DECL_FIELD_FINAL_WFL): Removed.
335         (struct lang_decl_func) <wfl>: Removed field.
336         <called_constructor>: Likewise.
337         <inner_access>: Likewise.
338         (struct lang_decl_var) <wfl>: Removed field.
339         (DECL_CONSTRUCTOR_CALLS): Removed.
340         (DECL_FUNCTION_ACCESS_DECL): Likewise.
341         (DECL_FUNCTION_INNER_ACCESS): Likewise.
342         (DECL_SPECIFIC_COUNT): Likewise.
343         * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
344         * expr.c (build_expr_wfl): Removed.
345         (expr_add_location): Likewise.
346
347 2007-01-12  Tom Tromey  <tromey@redhat.com>
348
349         * jcf-dump.c (main): Updated call to find_class.
350         * lang.c (java_init): Removed dead code.
351         * jcf-parse.c (read_class): Don't use java_source field.  Removed
352         dead code.
353         (parse_zip_file_entries): Don't use java_source field.
354         (process_zip_dir): Likewise.
355         (jcf_parse): Removed dead code.
356         (java_parse_file): Likewise.
357         (read_class): Updated call to find_class.
358         * jcf-io.c (find_class): Don't use java_source field.  Removed
359         'source_ok' argument, .java logic.
360         * jcf.h (JCF) <java_source>: Removed field.
361         (JCF_ZERO): Updated.    (find_class): Updated.
362         * decl.c: Removed dead code.
363         * class.c: Removed dead code.
364
365 2007-01-11  Tom Tromey  <tromey@redhat.com>
366
367         * typeck.c (convert): Don't use flag_emit_class_files.
368         * lang.c (java_post_options): Don't use flag_emit_class_files.
369         (java_handle_option): Don't use flag_extraneous_semicolon or
370         flag_redundant.
371         * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
372         flag_emit_class_files.
373         (load_class): Likewise.
374         * java-tree.h (flag_emit_class_files): Don't declare.
375         (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
376         (flag_extraneous_semicolon): Don't declare.
377         (flag_not_overriding): Likewise.
378         (flag_static_local_jdk1_1): Likewise.
379         (flag_redundant): Likewise.
380         * expr.c (build_newarray): Don't use flag_emit_class_files.
381         * class.c (DEFAULT_ENABLE_ASSERT): Don't use
382         flag_emit_class_files.
383         (build_class_ref): Likewise.
384         * builtins.c (check_for_builtin): Don't use
385         flag_emit_class_files.
386
387 2007-01-10  Tom Tromey  <tromey@redhat.com>
388
389         * lang.c (java_can_use_bit_fields_p): Removed.
390         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
391
392 2007-01-09  Andrew Haley  <aph@redhat.com>
393
394         * expr.c (build_java_arrayaccess): Rewrite to generate array
395         access in canonical form.
396         (expand_java_arraystore): Use build_fold_addr_expr() on address of
397         array access.
398
399 2007-01-03  Andrew Haley  <aph@redhat.com>
400
401         PR java/28754
402         * expr.c (expand_java_field_op): If we're initializing a field's
403         declaring interface we should not also initialize the class
404         context in which it was referenced.
405
406 2007-01-02  Tom Tromey  <tromey@redhat.com>
407
408         * java-tree.h (compiling_from_source, current_encoding,
409         JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
410         JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
411         JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
412         JTI_WFL_OPERATOR): Removed
413         (finit_identifier_node, instinit_identifier_node,
414         length_identifier_node, super_identifier_node,
415         continue_identifier_node, access0_identifier_node, wfl_operator):
416         Removed.
417         (cyclic_inheritance_report,
418         DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
419         DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
420         DECL_FIXED_CONSTRUCTOR_P): Removed.
421         (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
422         Removed.
423         (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
424         TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
425         (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
426         import_list, import_demand_list>: Removed.
427         (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
428         cxx_keyword_p): Removed.
429         (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
430         TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
431         CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
432         IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
433         IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
434         PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
435         CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
436         LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
437         RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
438         IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
439         NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
440         PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
441         CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
442         CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
443         FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
444         BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
445         java_parse_abort_on_error, extract_field_decl): Removed.
446         (finput): Declare.
447         * lang.c: (compiling_from_source, current_encoding): Removed.
448         (java_handle_option): Ignore -fencoding.
449         * parse.h: Don't include lex.h.
450         (java_error_count, int_fits_type_p, stabilize_reference, RULE,
451         RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
452         YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
453         INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
454         INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
455         MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
456         ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
457         CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
458         OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
459         BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
460         JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
461         JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
462         IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
463         MANGLE_OUTER_LOCAL_VARIABLE_NAME,
464         MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
465         MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
466         SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
467         UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
468         AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
469         AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
470         ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
471         ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
472         LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
473         LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
474         LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
475         PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
476         IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
477         ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
478         INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
479         INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
480         JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
481         JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
482         JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
483         jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
484         JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
485         STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
486         BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
487         EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
488         GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
489         COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
490         BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
491         PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
492         CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
493         CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
494         GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
495         GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
496         GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
497         PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
498         CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
499         CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
500         CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
501         SET_CPC_STATIC_INITIALIZER_STMT,
502         SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
503         java_complete_class, java_check_circular_reference,
504         java_fix_constructors, java_layout_classes, java_reorder_fields,
505         java_method_add_stmt, java_get_line_col, reset_report,
506         java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
507         java_finish_classes, ctxp, ctxp_for_generation,
508         ctxp_for_generation_last): Removed.
509         * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
510         * mangle.c (utf8_cmp): New function.
511         (cxx_keywords): New global.
512         (cxx_keyword_p): New function.
513         * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
514         * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
515         NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
516         CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
517         THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
518         CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
519         * Make-lang.in (java.srcextra): Do nothing.
520         (parse.c, keyword.h, gt-java-parse.h): Removed targets.
521         (JAVA_OBJS): Don't mention deleted files.
522         (java.mostlyclean): Likewise.
523         (java.clean): Likewise.
524         (JAVA_LEX_C): Removed.
525         (buffer.o, check-init.o, parse.o): Remove unused targets.
526         (typeck.o): Updated.
527         * jcf-parse.c (read_class): Comment out unused code.
528         (java_layout_seen_class_methods): New function.
529         (parse_source_file_1, parse_source_file_2, parse_source_file_3):
530         Removed.
531         (java_parse_file): Comment out unused code.  Don't use 'ctxp'.
532         (init_jcf_parse): Removed.
533         * config-lang.in (gtfiles): Remove deleted files.
534         * decl.c (java_init_decl_processing): Don't initialize
535         finit_identifier_node, instinit_identifier_node,
536         length_identifier_node, super_identifier_node,
537         continue_identifier_node, access0_identifier_node.  Don't call
538         init_jcf_parse.
539         * class.c (cyclic_inheritance_report): New global.
540         (add_method_1): Don't use
541         DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
542         (maybe_layout_super_class): Comment out code.
543         (safe_layout_class): New function.
544         * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
545         DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
546         UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
547         NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
548         INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
549         (java_gimplify_case_expr): Removed.
550         (java_gimplify_default_expr): Likewise.
551         (java_gimplify_new_array_init): Likewise.
552         * parse.y: Removed.
553         * keyword.gperf, keyword.h: Removed.
554         * chartables.h: Removed.
555         * check-init.c: Removed.
556         * buffer.c, buffer.h: Removed.
557         * convert.h: Removed.
558         * gen-table.pl: Removed.
559         * lex.c, lex.h: Removed.
560
561 2007-01-02  Andrew Haley  <aph@redhat.com>
562
563         * expr.c (expand_java_arraystore): Make sure we perform a bounds
564         check at runtime before we perform a type check.
565
566 2006-12-19  Andrew Haley  <aph@redhat.com>
567
568         * decl.c: Bump minor BC ABI version.
569
570 2006-12-13  Gary Benson  <gbenson@redhat.com>
571
572         * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
573
574 2006-12-12  Tom Tromey  <tromey@redhat.com>
575
576         * lang-specs.h: Pass -M options to jc1.
577         * jcf-depend.c (jcf_dependency_add_file): Don't emit
578         dependencies.
579
580 2006-12-07  Mohan Embar  <gnustuff@thisiscool.com>
581
582         * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
583
584 2006-12-06  Mohan Embar  <gnustuff@thisiscool.com>
585
586         * lang-specs.h: Pass '%U'-based options as separate arguments.
587
588 2006-12-05  Tom Tromey  <tromey@redhat.com>
589
590         PR java/29495:
591         * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
592         classes as well.
593         * class.c (add_field): Handle ACC_SYNTHETIC.
594         (add_method_1): Likewise.  Handle bridge and varargs.
595         (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
596         annotation.
597         (set_class_decl_access_flags): Handle synthetic and annotation.
598         * java-tree.h (METHOD_BRIDGE): New macro.
599         (METHOD_VARARGS): Likewise.
600         (TYPE_SYNTHETIC): Likewise.
601         (TYPE_ANNOTATION): Likewise.
602         (lang_type): New fields 'synthetic' and 'annotation'.
603         (lang_decl_func): New fields 'varargs' and 'bridge'.
604
605 2006-12-04  Andrew Haley  <aph@redhat.com>
606
607         * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
608         there's no map.
609
610 2006-11-29  Gary Benson  <gbenson@redhat.com>
611
612         * expr.c (rewrite_arglist_getcaller): Reorder.
613
614 2006-11-29  Andrew Haley  <aph@redhat.com>
615
616         * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
617         * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
618
619 2006-11-23  Andrew Haley  <aph@redhat.com>
620
621         * expr.c (rewrite_arglist_getcaller): New.
622         (rewrite_arglist_getclass): Fix indentation.
623         (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and 
624         gnu.classpath.VMStackWalker.getCallingClassLoader().
625         * builtins.c (initialize_builtins): Remove duplicate def'n of
626         __sync_synchronize.
627         Add __builtin_return_address.
628
629 2006-11-22  Andrew Haley  <aph@redhat.com>
630
631         * jcf-reader.c (get_attribute): Mark attr_type unused.
632
633         * builtins.c (compareAndSwapObject_builtin): Fix declaration.
634
635 2007-01-08  Richard Guenther  <rguenther@suse.de>
636
637         * lex.c (do_java_lex): Use build_int_cst_wide_type.
638         * jcf-parse.c (get_constant): Likewise.
639
640 2006-11-12  Jan Hubicka  <jh@suse.cz>
641
642         * resource.c (compile_resource_data): Update for new varpool names.
643         * java/class.c (build_utf8_ref): Likewise.
644
645 2006-11-12  David Daney  <ddaney@avtrex.com>
646
647         PR java/29805
648         * typeck.c (build_java_array_type): Increase buffer sizes.
649
650 2006-11-11  Richard Guenther  <rguenther@suse.de>
651
652         * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
653         FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
654
655 2006-11-06  Andrew Haley  <aph@redhat.com>
656
657         * java-tree.h (CONSTANT_LazyFlag): New.
658         * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
659         * jcf-parse.c (handle_innerclass_attribute): Write attribute to
660         reflection_data.
661         (handle_constant): Return 0 for dummy cpool entries.
662         Handle constants of kind Class.
663         Handle constants of kind NameAndType.
664         (handle_enclosingmethod_attribute): New.
665         (handle_signature_attribute): New.
666         (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
667         (HANDLE_SIGNATURE_ATTRIBUTE): New.
668         (handle_constant): Use unmangle_classname()rather than calling
669         identifier_subst() directly.
670
671 2006-11-02  Andrew Haley  <aph@redhat.com>
672
673         * java-tree.h (FIELD_ENUM): New.
674         (lang_decl_var.field_enum): New.
675         (lang_type.enum_class): New.
676         (CLASS_ENUM): New.
677         * class.c (set_class_decl_access_flags): Handle enum types.
678         (add_field): Handle enum fields.
679         (get_access_flags_from_decl): Likewise.
680
681         * class.c (make_class_data): Put reflection_data into rodata.
682
683 2006-11-01  Andrew Haley  <aph@redhat.com>
684
685         * jcf-parse.c (field_offsets, bit_obstack): New variables.
686         (jcf_parse): Write end marker to annotation_data.
687         (java_parse_file): Create field_offsets bitmap.  Destroy it.
688         (annotation_grow, annotation_rewrite_byte) 
689         (annotation_rewrite_short, annotation_rewrite_int) 
690         (annotation_read_short, annotation_write_byte) 
691         (annotation_write_short, annotation_write_int) 
692         (handle_long_constant, handle_constant, handle_element_value) 
693         (handle_annotation, handle_annotations) 
694         (handle_annotation_attribute, rewrite_reflection_indexes) 
695         (handle_member_annotations, handle_parameter_annotations) 
696         (handle_default_annotation): New functions.
697         (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE) 
698         (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE) 
699         (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE) 
700         (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE) 
701         (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
702         * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New. 
703         (TYPE_REFLECTION_DATA): New.
704         (TYPE_REFLECTION_DATASIZE): New.
705         * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
706         an enum.
707         * jcf-reader.c (get_attribute): Pass field/method index and
708         attribute type to get_attribute().
709         * constants.c (find_class_or_string_constant): Make nonstatic.
710         (cpool_for_class): Likewise.
711         (build_constants_constructor): Separate string and scalar types.
712         * class.c (make_class_data): Generate field_indexes permutation.
713         Pass it to rewrite_reflection_indexes().
714         (make_class_data): Generate constructor for reflection_data field.
715
716 2006-10-20  Tom Tromey  <tromey@redhat.com>
717
718         * gcj.texi (Top): Don't mention jv-scan.
719         (Invoking gcj): Likewise.
720         (Invoking gcjh): Likewise.
721         (Invoking gjnih): Likewise.
722         (Invoking gij): Likewise.
723         (Invoking gcj-dbtool): Likewise.
724         (Invoking jv-scan): Removed.
725         * parse-scan.y: Removed.
726         * jv-scan.c: Removed.
727         * config-lang.in (stagestuff): Don't mention jv-scan.
728         * Make-lang.in (java): Removed jv-scan.
729         (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
730         (JVSCAN_OBJS): Removed.
731         (jv-scan$(exeext)): Likewise.
732         (JAVA_MANFILES): Removed jv-scan.1.
733         (java.uninstall): Don't mention jv-scan.
734         (java.mostlyclean): Likewise.
735         (java.maintainer-clean): Likewise.
736         (.INTERMEDIATE): Likewise.
737         (java/jv-scan.o): Removed.
738         (jv-scan.pod): Likewise.
739         (java.srcextra): Don't mention parse-scan.c.
740         (java.mostlyclean): Likewise.
741         (java/parse-scan.c): Removed.
742         (java/parse-scan.o-warn): Removed.
743         (java/parse-scan.o): Removed.
744
745 2006-10-20  Tom Tromey  <tromey@redhat.com>
746
747         * lang.c (java_handle_option): Don't use
748         jcf_write_base_directory.
749         * jcf.h (jcf_write_base_directory): Removed.
750         * parse.y (java_expand_classes): Don't call write_classfile.
751         * config-lang.in (gtfiles): Removed jcf-write.c.
752         * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
753         (java/jcf-write.o): Removed.
754         * jcf-parse.c (parse_class_file): Don't call write_classfile.
755         * java-tree.h (write_classfile): Removed declaration.
756         * jcf-write.c: Removed.
757
758 2006-10-20  Tom Tromey  <tromey@redhat.com>
759
760         * Make-lang.in (java): Removed gjnih, gcjh.
761         (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
762         (GCJH_OBJS): Removed.
763         (GJNIH_OBJS): Likewise.
764         (gjnih$(exeext)): Likewise.
765         (gcjh$(exeext)): Likewise.
766         (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
767         (java.install-common): Don't special case gcjh.
768         (java.uninstall): Don't mention gcjh, gjnih.
769         (java.mostlyclean): Likewise.
770         (java.maintainer-clean): Likewise.
771         (.INTERMEDIATE): Likewise.
772         (gcjh.pod): Removed.
773         (gjnih.pod): Likewise.
774         (GCJH_TARGET_INSTALL_NAME): Removed.
775         (java/gjavah-jni.o): Removed.
776         (java/gjavah.o): Likewise.
777         * config-lang.in (stagestuff): Removed gjnih, gcjh.
778         * gjavah.c: Removed.
779
780 2006-10-17  Tom Tromey  <tromey@redhat.com>
781
782         * jcf-dump.c (print_element_value): Expect a utf8 constant in the
783         "string" case.
784
785 2006-10-17  Tom Tromey  <tromey@redhat.com>
786
787         * jvgenmain.c (main): Handle -findirect-dispatch.
788         * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
789         jvgenmain.
790
791 2006-10-06  Andrew Haley  <aph@redhat.com>
792
793         * builtins.c (compareAndSwapInt_builtin): Check that we really do
794         have a compare_and_swap builtin.
795         (compareAndSwapLong_builtin): Likewise.
796         (compareAndSwapObject_builtin): Likewise.
797
798 2006-10-04  Andrew Haley  <aph@redhat.com>
799
800         * builtins.c (java_builtins): Add compareAndSwapInt,
801         compareAndSwapLong, compareAndSwapObject, putOrderedInt,
802         putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
803         putObjectVolatile, getObjectVolatile, getIntVolatile,
804         getLongVolatile, getLong.
805         (UNMARSHAL3): New macro.
806         (UNMARSHAL4): Likewise.
807         (UNMARSHAL5): Likewise.
808         (build_arglist_for_builtin): New function.
809         (build_addr_sum, build_check_this): New functions.
810         (putObject_builtin. compareAndSwapInt_builtin,
811         compareAndSwapLong_builtin, compareAndSwapObject_builtin,
812         putVolatile_builtin, getVolatile_builtin): New builtins.
813
814 2006-06-08  Andrew Haley  <aph@redhat.com>
815  
816         * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
817         get_symbol_table_index().
818         (maybe_rewrite_invocation): Set SPECIAL if we need to access a
819         private method.
820         (build_known_method_ref): New arg: special.  Pass it to
821         get_symbol_table_index.
822         (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
823         the method list.
824         (build_invokevirtual): New arg: special.  Pass it to
825         get_symbol_table_index.
826         (expand_invoke): New variable: special.
827         Pass it to maybe_rewrite_invocation().
828         Pass it to build_known_method_ref().
829         * class.c (build_symbol_entry): Add new arg: special.  Use it to
830         build the symbol table conbstructor.
831         (emit_symbol_table): Extract SPECIAL from the method list and pass
832         it to build_symbol_entry().
833         * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
834         special accordingly.
835  
836 2006-09-08  Andrew Haley  <aph@redhat.com>
837
838         * class.c (layout_class_method): Use build_java_signature, not
839         build_java_argument_signature.  Use lookup_java_method, not
840         lookup_argument_method.
841
842 2006-08-16  Jakub Jelinek  <jakub@redhat.com>
843             Bryce McKinlay  <bryce@mckinlay.net.nz>
844
845         * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
846
847 2006-07-18  Tom Tromey  <tromey@redhat.com>
848
849         * lang.opt: Added missing -W options.
850
851 2006-07-12  Tom Tromey  <tromey@redhat.com>
852
853         PR java/28329:
854         * lang-specs.h: Pass '%U'-based options as separate arguments.
855         Use -faux-classpath.
856         * lang.c (java_handle_option): Handle OPT_faux_classpath.
857         * lang.opt (faux-classpath): New option.
858
859 2006-07-07  Tom Tromey  <tromey@redhat.com>
860
861         * class.c (make_class_data): Set value for reflection_data field.
862         * decl.c (java_init_decl_processing): Add reflection_data field.
863
864 2006-07-07  Tom Tromey  <tromey@redhat.com>
865
866         * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
867         earlier.
868         (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
869
870 2006-07-07  Andrew Haley  <aph@redhat.com>
871
872         * jcf-parse.c (set_source_filename): Don't check for
873         CLASS_FROM_CURRENTLY_COMPILED_P.
874         Remove // comments.
875
876 2006-07-07  Andrew Haley  <aph@redhat.com>
877
878         * java-tree.h (java_read_sourcefilenames): Declare.
879         * lang.c (java_handle_option): Call java_read_sourcefilenames().
880         * lang.opt (fsource-filename): New opt.
881         * lang-specs.h: Add -fsource-filename.
882         * jcf-parse.c (num_files, filenames): New variables.
883         (reverse, cmpstringp, java_read_sourcefilenames,
884         find_sourcefile): New.
885         (set_source_filename): Call find_sourcefile to find the real name
886         of a source file.
887
888 2006-06-27  Tom Tromey  <tromey@redhat.com>
889
890         * jcf-reader.c (get_attribute): Handle EnclosingMethod,
891         Signature, LocalVariableTypeTable, annotation attributes.
892         * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
893         (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
894         (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
895         (HANDLE_METHOD): Likewise.
896         (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
897         (print_annotation): New function.
898         (print_element_value): Likewise.
899         (indent): Likewise.
900         (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
901         (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
902         (print_parameter_annotations): New function.
903         (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
904         (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
905         Likewise.
906         (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
907         (print_annotations): New function.
908
909 2006-06-23  Tom Tromey  <tromey@redhat.com>
910
911         * lang-specs.h: Default -fsource and -ftarget to 1.5.  If
912         emitting class files, always use 1.5.
913         * gcj.texi (Input Options): Document -fsource.
914         (Code Generation): Document -ftarget.
915
916 2006-06-21  Tom Tromey  <tromey@redhat.com>
917
918         PR java/28089:
919         * expr.c (expand_java_field_op): Initialize field's declaring
920         class.
921
922 2006-06-20  Tom Tromey  <tromey@redhat.com>
923
924         * expr.c (push_value): Always flush quick stack.
925
926 2006-06-19  Tom Tromey  <tromey@redhat.com>
927
928         * expr.c (push_value): Also flush quick stack if value is a
929         component_ref.
930
931 2006-06-19  Tom Tromey  <tromey@redhat.com>
932
933         * expr.c (push_value): Flush quick stack if value has side
934         effects.
935
936 2006-06-13  Tom Tromey  <tromey@redhat.com>
937
938         * class.c (is_compiled_class): Explicitly check for current
939         class.
940
941 2006-06-09  Tom Tromey  <tromey@redhat.com>
942
943         * gjavah.c (decompile_method): Don't decompile a static field
944         accessor method.
945
946 2006-06-06  Tom Tromey  <tromey@redhat.com>
947
948         * lang-specs.h <jc1>: Add .jar file to command line if
949         -fsaw-java-file.  Also, remove -ffilelist-file in this case.
950
951 2006-06-05  Tom Tromey  <tromey@redhat.com>
952
953         * jcf-dump.c (print_access_flags): Handle varargs, bridge,
954         synthetic, enum, annotation.
955         * jcf.h (ACC_BRIDGE): New macro.
956         (ACC_VARARGS): Likewise.
957         (ACC_SYNTHETIC): Likewise.
958         (ACC_ENUM): Likewise.
959         (ACC_ANNOTATION): Likewise.
960
961 2006-06-04  Tom Tromey  <tromey@redhat.com>
962
963         * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
964         * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
965         and -ftarget.
966         (lang_specific_driver): Removed dead code.  Add -fsaw-java-file
967         when needed.  Handle classpath-setting.
968         * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
969         * lang-specs.h: Rewrote.
970
971 2006-06-04  Tom Tromey  <tromey@redhat.com>
972
973         * jcf-io.c (find_class): Set source_ok to 0.
974         * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
975         (parse_class_file): Don't call java_mark_class_local.
976         (java_parse_file): Skip .java files.  Call java_mark_class_local
977         before lowering any code.
978         (parse_zip_file_entries): Don't call duplicate_class_warning
979         here.
980         (process_zip_dir): ... call it here.
981         * class.c (add_field): Don't mark field external if it is being
982         compiled into this object.
983         (make_class_data): Handle situation where class_dtable_decl is
984         created before Class is compiled.
985         (is_compiled_class): Don't assume files in zip are compiled into
986         this object.
987         (layout_class_method): Don't mark method external if it is being
988         compiled into this object.
989
990 2006-06-04  Tom Tromey  <tromey@redhat.com>
991
992         * jcf-path.c (jcf_path_compute): New function.
993         * jcf.h (jcf_path_compute): Declare.
994
995 2006-10-23 Rafael Avila de Espindola  <rafael.espindola@gmail.com>
996
997         * decl.c: Include langhooks.h.
998         (builtin_function): Remove.
999         (java_init_decl_processing): Replace calls to builtin_function
1000         with add_builtin_function.
1001         * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1002         (java/decl.o): Depend on langhooks.h.
1003         * java-tree.h (builtin_function): Remove.
1004
1005 2006-10-10  Brooks Moses  <bmoses@stanford.edu>
1006
1007         * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1008
1009 2006-09-12  Tom Tromey  <tromey@redhat.com>
1010
1011         * expr.c (push_value): Always flush quick stack.
1012
1013 2006-09-12  Tom Tromey  <tromey@redhat.com>
1014
1015         PR java/29013:
1016         * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1017         the push of the called method's return result.
1018
1019 2006-09-12  Tom Tromey  <tromey@redhat.com>
1020
1021         * jvspec.c (lang_specific_driver): Read spec file even if
1022         -fsyntax-only.
1023
1024 2006-09-12  Tom Tromey  <tromey@redhat.com>
1025
1026         PR java/28754:
1027         * expr.c (expand_java_field_op): Initialize field's declaring
1028         interface if necessary.
1029
1030 2006-09-12  Tom Tromey  <tromey@redhat.com>
1031
1032         PR java/28892:
1033         * expr.c (expand_java_field_op): No error for assignments not in
1034         class initializer or constructor.
1035
1036 2006-08-22  Andrew Haley  <aph@redhat.com>
1037
1038         * decl.c (java_add_stmt): Give the statement list a type.
1039
1040 2006-08-16  Jakub Jelinek  <jakub@redhat.com>
1041             Bryce McKinlay  <bryce@mckinlay.net.nz>
1042
1043         * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1044
1045 2006-08-10  Simon Martin  <simartin@users.sourceforge.net>
1046
1047         PR java/8923
1048         * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1049         or '--' is used with a constant operand.
1050         (java_complete_lhs): When processing a '++' or '--' expression,
1051         don't call java_complete_tree but java_complete_lhs, so that a
1052         static final variable operand is never replaced by its value. This
1053         avoids an ICE later on.
1054         (patch_unaryop): Fixed typo in comment.
1055
1056 2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1057
1058         * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1059
1060 2006-07-12  Bryce McKinlay  <mckinlay@redhat.com>
1061
1062         * builtins.c (check_for_builtin): If a builtin could result in a
1063         direct call being generated, don't use it if flag_indirect_dispatch
1064         is set.
1065
1066 2006-07-12  Bryce McKinlay  <mckinlay@redhat.com>
1067
1068         * gcj.texi (Invocation): Corrections for Invocation API example.
1069
1070 2006-07-04  Andrew Haley  <aph@redhat.com>
1071
1072         * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1073         entry.
1074
1075 2006-06-21  Andrew Haley  <aph@redhat.com>
1076
1077         * java-tree.h (update_aliases): Remove
1078         * expr.c (expand_iinc): Remove call to update_aliases().
1079         (STORE_INTERNAL): Likewise.
1080         * decl.c (update_aliases, initialize_local_variable) 
1081         (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1082
1083 2006-06-19  Andrew Haley  <aph@redhat.com>
1084
1085         PR java/1305
1086         PR java/27908
1087         * expr.c (java_modify_addr_for_volatile): New function.
1088         (expand_java_field_op): Handle volatile fields.
1089         * java-gimplify.c (java_gimplify_component_ref): Call
1090         java_modify_addr_for_volatile to give the field_ref the correct
1091         volatile type.
1092         (java_gimplify_modify_expr): Likewise.
1093         * java-tree.h (java_modify_addr_for_volatile): New decl.
1094
1095 2006-06-17  Karl Berry  <karl@gnu.org>
1096
1097         * gcj.texi (@dircategory): Use "Software development" instead
1098         of "Programming", following the Free Software Directory.
1099
1100 2006-06-16  Andrew Haley  <aph@redhat.com>
1101
1102         * class.c (make_class_data): When using flag_indirect_classes,
1103         don't initialize the vtable of Class instances.
1104
1105 2006-06-09  Andrew Haley  <aph@redhat.com>
1106
1107         PR java/1305
1108         PR java/27908
1109         * builtins.c (initialize_builtins): Add __sync_synchronize().
1110         * class.c (add_field): Mark volatile fields.
1111         * java-gimplify.c (java_gimplify_expr): Call new functions to
1112         handle self-modifying exprs and COMPONENT_REFs.
1113         (java_gimplify_component_ref): New.
1114         (java_gimplify_modify_expr): Add handling for volatiles.
1115
1116 2006-06-08  Tom Tromey  <tromey@redhat.com>
1117
1118         * gcj.texi (libgcj Runtime Properties): Document
1119         gnu.gcj.user.realname.
1120
1121 2006-06-08  Andrew Haley  <aph@redhat.com>
1122
1123         * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1124         get_symbol_table_index().
1125         (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1126         private method.
1127         (build_known_method_ref): New arg: special.  Pass it to
1128         get_symbol_table_index.
1129         (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1130         the method list.
1131         (build_invokevirtual): New arg: special.  Pass it to
1132         get_symbol_table_index.
1133         (expand_invoke): New variable: special.
1134         Pass it to maybe_rewrite_invocation().
1135         Pass it to build_known_method_ref().
1136         * class.c (build_symbol_entry): Add new arg: special.  Use it to
1137         build the symbol table conbstructor.
1138         (emit_symbol_table): Extract SPECIAL from the method list and pass
1139         it to build_symbol_entry().
1140         * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1141         special accordingly.
1142
1143 2006-06-06  David Daney  <ddaney@avtrex.com>
1144
1145         * gcj.texi (libgcj Runtime Properties): Document
1146         gnu.gcj.runtime.NameFinder.show_raw and
1147         gnu.gcj.runtime.NameFinder.remove_unknown.
1148
1149 2006-06-06  Tom Tromey  <tromey@redhat.com>
1150
1151         * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1152         synthetic, enum, annotation.
1153         * jcf.h (ACC_BRIDGE): New macro.
1154         (ACC_VARARGS): Likewise.
1155         (ACC_SYNTHETIC): Likewise.
1156         (ACC_ENUM): Likewise.
1157         (ACC_ANNOTATION): Likewise.
1158
1159 2006-06-06  Mike Stump  <mrs@apple.com>
1160
1161         * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1162         installing during build.
1163
1164 2006-05-31  Thomas Fitzsimmons  <fitzsim@redhat.com>
1165
1166         * gcj.texi (Extensions): Document the new gcj-dbtool-based
1167         classname-to-library resolution mechanism.
1168         Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1169         mechanism deprecated.
1170         (libgcj Runtime Properties): Document
1171         gnu.gcj.runtime.VMClassLoader.library_control's new default.
1172
1173 2006-05-29  Jakub Jelinek  <jakub@redhat.com>
1174
1175         * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1176         bit wide type.
1177         (jword): Define to uint64 on 64-bit arches.
1178         * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1179
1180 2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
1181
1182         * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1183         typos.
1184
1185 2006-05-26  Tom Tromey  <tromey@redhat.com>
1186
1187         * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1188         * verify-glue.c (vfy_class_type): New function.
1189         * verify-impl.c (check_constant): Allow 'ldc class'.
1190         * verify.h (vfy_class_type): Declare.
1191
1192 2006-05-25  Andrew Haley  <aph@redhat.com>
1193
1194         PR java/27756
1195         * decl.c (maybe_pushlevels): When variable ranges are non-nested
1196         update all lifetimes, not just the first one.
1197
1198 2006-05-24  Tom Tromey  <tromey@redhat.com>
1199
1200         * java-tree.h: Fixed flag documentation.
1201
1202 2006-05-24  Tom Tromey  <tromey@redhat.com>
1203
1204         PR libgcj/27729:
1205         * jcf.h (ACC_INVISIBLE): Changed value.
1206
1207 2006-05-24  Andrew Haley  <aph@redhat.com>
1208
1209         PR java/27754
1210         * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1211         COMPOUND_EXPR.
1212
1213 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1214
1215         * lang.opt (femit-class-file): Remove VarExists.
1216
1217 2006-05-16  Tom Tromey  <tromey@redhat.com>
1218
1219         * verify-impl.c (verify_instructions_0) <op_return>: Special case
1220         for Object.<init>.
1221
1222 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1223
1224         PR driver/26885
1225         * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1226         $(GCC_OBJS).
1227
1228 2006-05-14  H.J. Lu  <hongjiu.lu@intel.com>
1229
1230         * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1231         (java/expr.o): Replace target.h with $(TARGET_H).
1232         (java/parse.o): Likewise.
1233
1234 2006-05-10  Andrew Haley  <aph@redhat.com>
1235
1236         * class.c (emit_indirect_register_classes): Fix comment.
1237
1238 2006-05-04  Tom Tromey  <tromey@redhat.com>
1239
1240         * java-tree.h (uses_jv_markobj_p): Declare.
1241         * class.c (uses_jv_markobj_p): Removed.
1242         * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1243         (get_boehm_type_descriptor): Use it.
1244         (uses_jv_markobj_p): Moved from class.c.  Return bool.
1245
1246 2006-05-04  Tom Tromey  <tromey@redhat.com>
1247
1248         * java-tree.def (THIS_EXPR): Now a tcc_expression.
1249
1250 2006-05-04  Andrew Haley  <aph@redhat.com>
1251
1252         * class.c (make_field_value): Always build_address_of fdecl if
1253         there is an initializer.
1254
1255 2006-05-03  Andrew Haley  <aph@redhat.com>
1256
1257         PR libgcj/27352
1258         * expr.c (maybe_rewrite_invocation): New function.
1259         (rewrite_arglist_getclass): Likewise.
1260         (rules): New.
1261         (expand_invoke): Call maybe_rewrite_invocation.
1262         * parse.y (patch_invoke): Likewise.
1263         * java-tree.h: (maybe_rewrite_invocation): New function.
1264
1265 2006-04-21  Andrew Haley  <aph@redhat.com>
1266
1267         * lang.c (java_init): Handle flag_indirect_classes.
1268         * jvgenmain.c: Use "class$$" instead of "class$".
1269         * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1270         DECLs.
1271         (mangle_class_field): Special case "class$$" as well as "class$".
1272         * constants.c (build_ref_from_constant_pool): If
1273         flag_indirect_classes, generate a ref into the heap.
1274         * decl.c (constants_field_decl_node,
1275         constants_data_field_decl_node): New.
1276         * class.c (build_static_class_ref): New.
1277         (build_classdollar_field): Factor out from build_class_ref().
1278         (make_field_value): Handle static fields in heap.
1279         (make_class_data): Make sure we get a static ref to class.
1280         Make class initializer const if flag_indirect_classes.
1281         (register_class): Build a class_ref for initialization if
1282         flag_indirect_classes.
1283         (emit_indirect_register_classes): New.
1284
1285 2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
1286
1287         * expr.c, gjavah.c: Fix comment typos.
1288
1289 2006-04-03  Andrew Haley  <aph@redhat.com>
1290
1291         PR java/26858
1292         * expr.c (build_field_ref): Don't check the field offset if
1293         flag_syntax_only.
1294
1295 2006-03-30  Andrew Haley  <aph@redhat.com>
1296
1297         PR java/26858
1298         * lang.c (java_attribute_table): New.
1299         (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1300         * expr.c (build_field_ref): Add a null pointer check for all
1301         fields of offset > 4k.  Don't do so for accesses via the this
1302         pointer, which we know can never be null.
1303         * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1304         methods nonnull.
1305
1306 2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
1307
1308         * Make-lang.in: Rename docdir to gcc_docdir.
1309
1310 2006-03-30  Tom Tromey  <tromey@redhat.com>
1311
1312         PR java/26042:
1313         * parse.y (java_reorder_fields): Reset superclass field's size as
1314         well.
1315
1316 2006-03-28  Tom Tromey  <tromey@redhat.com>
1317
1318         PR java/26390:
1319         * parse.y (find_most_specific_methods_list): Added 'class'
1320         argument.
1321         (lookup_method_invoke): Updated.
1322
1323 2006-03-15  Tom Tromey  <tromey@redhat.com>
1324
1325         * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1326         non-static method calls.
1327
1328 2006-03-15  David Daney  <ddaney@avtrex.com>
1329
1330         * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1331         declaration.
1332
1333 2006-03-15  David Daney  <ddaney@avtrex.com>
1334
1335         * lang.opt (-freduced-reflection): New option.
1336         * lang.c (java_post_options): Generate an error if
1337         -freduced-reflection used with -fjni or -findirect-dispatch.
1338         * java-tree.h (flag_reduced_reflection): Declare new variable.
1339         * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1340         if bitmap overflows and flag_reduced_reflection set.
1341         * class.c (uses_jv_markobj_p): New function.
1342         (make_class_data): Moved generation of vtable to before
1343         reflection data, generate less reflection data if
1344         flag_reduced_reflection set.
1345         * gcj.texi: Document -freduced-reflection.
1346
1347 2006-03-15  Tom Tromey  <tromey@redhat.com>
1348
1349         PR java/26638:
1350         * class.c (get_interface_method_index): Don't put <clinit> into
1351         interface table.
1352
1353 2006-03-15  Tom Tromey  <tromey@redhat.com>
1354
1355         * parse.y (analyze_clinit_body): Ignore empty statements.
1356
1357 2006-03-08  David Daney  <ddaney@avtrex.com>
1358
1359         * gcj.texi: Document -static-libgcj option.
1360
1361 2006-02-20  Andrew Haley  <aph@redhat.com>
1362
1363         * jcf-parse.c (parse_class_file): Set input_location from
1364         current_class.
1365
1366 2006-02-15  Andrew Haley  <aph@redhat.com>
1367
1368         * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1369         (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1370         TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1371
1372 2006-02-09  Andrew Haley  <aph@redhat.com>
1373
1374         PR java/26192
1375         * expr.c (expand_invoke): Allow methods in arrays to be resolved
1376         in their superclass.
1377
1378         * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1379         array types.
1380         
1381 2006-02-08  Tom Tromey  <tromey@redhat.com>
1382
1383         PR java/22578:
1384         * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1385         * builtins.c (convert_real): New function.
1386         (java_builtins): Handle Float.intBitsToFloat,
1387         Float.floatToRawIntBits, Double.longBitsToDouble,
1388         Double.doubleToRawLongBits.
1389
1390 2006-02-07  Andrew Haley  <aph@redhat.com>
1391
1392         * expr.c (expand_invoke): (BC mode.)  If we find a method in a
1393         class other than the one in which we expected to find it, ignore
1394         the result.
1395
1396         PR java/25535
1397         * constants.c (build_constants_constructor): move initializer into
1398         first halfword on a 64-bit big-endian machine.
1399
1400 2006-02-04  Tom Tromey  <tromey@redhat.com>
1401
1402         PR java/25676:
1403         * builtins.c (max_builtin): Skip floating point 'max'.
1404         (min_builtin): Skip floating point 'min'.
1405         (check_for_builtin): Never return NULL_TREE.
1406
1407 2006-02-04  Tom Tromey  <tromey@redhat.com>
1408
1409         PR java/26097:
1410         * expr.c (push_type): Avoid side effect in gcc_assert.
1411
1412 2006-02-04  Roger Sayle  <roger@eyesopen.com>
1413
1414         * decl.c (java_init_decl_processing): Create char_type_node as a
1415         regular INTEGER_TYPE node.
1416         (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1417         * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1418         test for char_type_node and promoted_char_type_node as special
1419         instances of INTEGER_TYPE tree codes.
1420         (promote_type,build_java_signature): Likewise.
1421         * jcf-write.c (adjust_typed_op): Likewise.
1422         * mangle.c (mangle_type): Likewise.
1423         * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1424         * parse.h (JINTEGRAL_TYPE_P): Likewise.
1425
1426 2006-02-04  Andreas Tobler  <a.tobler@schweiz.ch>
1427
1428         * expr.c (java_stack_swap): Revert gcc_assert patch.
1429
1430 2006-02-03  Ben Elliston  <bje@au.ibm.com>
1431
1432         * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1433         * typeck.c: Likewise.
1434         * verify-impl.c: Likewise.
1435         * class.c: Likewise.
1436         * decl.c: Likewise.
1437         * jcf-parse.c: Likewise.
1438         * constants.c: Likewise.
1439         * check-init.c: Likewise.
1440         * jcf-write.c: Likewise.
1441         * verify-glue.c: Likewise.
1442         * mangle.c: Likewise.
1443         * expr.c: Likewise.
1444         * lang.c: Likewise.
1445         * boehm.c: Likewise.
1446
1447 2006-02-01  Jan Hubicka  <jh@suse.cz>
1448
1449         * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1450         * lang.c (java_init_options): Set no_unit_at_a_time_default.
1451
1452 2006-01-30  Andrew Haley  <aph@redhat.com>
1453
1454         PR java/21428
1455         * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1456
1457 2006-01-21  Joseph S. Myers  <joseph@codesourcery.com>
1458
1459         * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1460         Update copyright notice dates.
1461
1462 2006-01-16  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
1463
1464         * jvspec.c (lang_specific_spec_functions): Remove.
1465
1466 2006-01-06  Tom Tromey  <tromey@redhat.com>
1467
1468         * gcj.texi (Arrays): Added more documentation for
1469         JvNewObjectArray.
1470         (Primitive types): Correct information about primitive classes.
1471         (Reference types): New node.
1472         (Index): New node.
1473
1474 2005-12-16  Alexandre Oliva  <aoliva@redhat.com>
1475
1476         * jcf-parse.c (set_source_filename): Set the decl source location
1477         even when returning early.
1478
1479 2005-12-15  Tom Tromey  <tromey@redhat.com>
1480             Andrew Haley  <aph@redhat.com>
1481
1482         PR java/25429
1483         * parse.y (resolve_expression_name): Don't generate accessor
1484         methods for constant fields.
1485
1486 2005-12-13  Andrew Haley  <aph@redhat.com>
1487
1488         PR java/25366
1489         PR java/25368
1490         * class.c (maybe_layout_super_class): Update current_class before
1491         calling do_resolve_class.
1492
1493 2005-12-12  H.J. Lu  <hongjiu.lu@intel.com>
1494
1495         PR java/25330
1496         * jcf-write.c (write_classfile): Use PID in temporary class
1497         file. Save/restore errno when reporting error.
1498
1499 2005-12-10  Terry Laurenzo  <tlaurenzo@gmail.com>
1500
1501         PR java/9861
1502         * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1503         to bare_function_type and including the return type
1504         * builtins.c (initialize_builtins) : Change builtin mangled name
1505         constants to conform to new mangling scheme
1506
1507 2005-12-08  Andrew Haley  <aph@redhat.com>
1508
1509         PR libgcj/25265
1510         * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1511         (soft_abstractmethod_node): New.
1512         * expr.c (build_field_ref): Add in-line check for missing field.
1513         * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1514
1515 2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
1516
1517         * Make-lang.in (java.all.build, java.install-normal): Remove.
1518
1519 2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
1520
1521         * Make-lang.in: Remove all dependencies on s-gtype, except for
1522         gt-java-parse.h.
1523
1524 2005-12-07  Richard Sandiford  <richard@codesourcery.com>
1525
1526         * class.c (build_utf8_ref, emit_register_classes): Use
1527         switch_to_section and get_section.
1528
1529 2005-12-06  Tom Tromey  <tromey@redhat.com>
1530
1531         PR java/25283:
1532         * parse.y (patch_new_array_init): Revert previous patch.
1533         (lookup_method_invoke): Use size-less array type when creating an
1534         anonymous constructor.
1535
1536 2005-12-05  Tom Tromey  <tromey@redhat.com>
1537
1538         * parse.y (patch_new_array_init): Don't set length on array.
1539
1540 2005-12-02  Richard Guenther  <rguenther@suse.de>
1541
1542         * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1543         buildN instead of build.
1544         * class.c (finish_class): Likewise.
1545         * expr.c (java_create_object): Likewise.
1546
1547 2005-11-28  Tom Tromey  <tromey@redhat.com>
1548
1549         PR java/18278:
1550         * expr.c (build_jni_stub): Unwrap the return value.
1551         * java-tree.h (soft_unwrapjni_node): New define.
1552         (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1553         * decl.c (java_init_decl_processing): Initialize
1554         soft_unwrapjni_node.
1555
1556 2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>
1557
1558         * gcj.texi (gij options): Add -Xss documentation.
1559
1560 2005-11-08  Wil Mahan  <wmahan@gmail.com>
1561
1562         PR java/23617
1563         * zextract.c (read_zip_archive): Fix out of memory error when
1564         reading jar files with zip-style comments.
1565
1566 2005-11-07   Terry Laurenzo   <tlaurenzo@gmail.com>
1567
1568         * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1569         formats.
1570         * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1571
1572 2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
1573             Wil Mahan <wmahan@gmail.com>
1574
1575         PR java/23620
1576         * class.c (make_class): Create empty binfo here.
1577         (set_super_info): Only create binfo if we have superclasses.
1578
1579 2005-10-03  Ranjit Mathew  <rmathew@gcc.gnu.org>
1580
1581         PR java/24127
1582         * parse.y (method_header): Make the result of the rule a NULL_TREE
1583         when a parsing error occurs.
1584
1585 2005-09-29  Tom Tromey  <tromey@redhat.com>
1586
1587         PR java/24120:
1588         * jcf-io.c (memoized_dirlist_hash): New function.
1589         (caching_stat): Use it.
1590
1591 2005-09-21  Ranjit Mathew  <rmathew@gcc.gnu.org>
1592
1593         PR java/21418
1594         * class.c (inherits_from_p): Try to lay out super class
1595         if it is not already laid out.
1596         (maybe_layout_super_class): Handle the case where SUPER_CLASS
1597         is a NULL_TREE.
1598
1599 2005-09-18  James A. Morrison  <phython@gcc.gnu.org>
1600
1601         * builtins.c (max_builtin, min_builtin, abs_builtin,
1602         java_build_function_call_expr): Use fold_buildN.
1603         * class.c (layout_class_method): Likewise.
1604         * expr.c (java_truthvalue_conversion, build_java_jsr,
1605         build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1606         build_java_binop, build_field_ref, expand_compare,
1607         build_known_method_ref, build_invokevirtual,
1608         process_jvm_instruction): Likewise.
1609         * parse.y (patch_binop, patch_exit_expr): Likewise.
1610         * typeck.c (convert_ieee_real_to_integer): Likewise.
1611         (convert): Don't call fold after convert_ieee_real_to_integer.
1612
1613 2005-09-14  Bryce McKinlay  <mckinlay@redhat.com>
1614
1615         PR java/23891
1616         * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1617         the newly created type. Set import lists here, not in create_class.
1618         (jdep_resolve_class): Set current_class.
1619         (do_resolve_class): Use current_class's TYPE_PACKAGE to determine 
1620         the current package context, not ctxp->package.
1621         (cicp_cache): Removed.
1622         (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1623         * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1624         * java-tree.h (TYPE_PACKAGE): New macro.
1625         (struct lang_type): New member 'package'.
1626
1627 2005-09-09  Andrew Haley  <aph@redhat.com>
1628
1629         PR libgcj/23182 
1630         * expr.c (pop_type_0): If the expected type is object or ptr
1631         (i.e. void*), return the type of the object we just popped from
1632         the stack.
1633
1634 2005-09-06  Andrew Pinski  <pinskia@physics.uc.edu>
1635
1636         * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1637         BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1638
1639 2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
1640
1641         * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1642         jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1643         typos.  Follow spelling conventions.
1644
1645 2005-09-05  Ranjit Mathew  <rmathew@hotmail.com>
1646
1647         PR java/23431
1648         * typeck.c (lookup_do): Look up interfaces for the original class,
1649         not the base class.
1650         * parse.y (java_check_regular_methods): Fix diagnostic message for
1651         more restrictive overriding of a method from an interface.
1652
1653 2005-08-16  Tom Tromey  <tromey@redhat.com>
1654
1655         * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1656         class' initial state.
1657
1658 2005-08-16  Ranjit Mathew  <rmathew@hotmail.com>
1659
1660         PR java/22113
1661         * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
1662         `literal_token' for large numeric input tokens.
1663
1664 2005-08-16  Ranjit Mathew  <rmathew@hotmail.com>
1665
1666         PR java/19870
1667         * parse.y (nested_field_access_p): Rename to nested_member_access_p
1668         and expand to handle method accesses across nested classes.
1669         (build_outer_method_access_method): Rename to
1670         build_nested_method_access_method.  Minor adjustments to comments.
1671         (resolve_expression_name): Use the newly-renamed
1672         nested_member_access_p method.
1673         (resolve_qualified_expression_name): Likewise.
1674         (patch_method_invocation): Also consider static methods for access
1675         method generation.  Minor adjustments to comments.
1676         (maybe_use_access_method): Use the more general
1677         nested_memeber_access_p to determine access across nested class
1678         boundaries.  Allow THIS_ARG to be NULL (for static methods).
1679
1680 2005-08-15  Tom Tromey  <tromey@redhat.com>
1681
1682         PR java/23300.
1683         * expr.c (build_field_ref): Don't generate otable reference when
1684         DECL_FIELD_OFFSET is 0.
1685         * class.c (maybe_layout_super_class): Pass outer class to
1686         do_resolve_class.
1687
1688 2005-08-15  Tom Tromey  <tromey@redhat.com>
1689
1690         * java-tree.h (LABEL_IN_SUBR): Removed.
1691         (LABEL_IN_SUBR): Likewise.
1692         (LABEL_IS_SUBR_START): Likewise.
1693         (LABEL_SUBR_START): Likewise.
1694         (LABEL_SUBR_CONTEXT): Likewise.
1695         (LABEL_CHANGED): Likewise.
1696         (LABEL_RETURN_LABEL): Likewise.
1697         (LABEL_RETURN_TYPE_STATE): Likewise.
1698         (LABEL_RETURN_LABELS): Likewise.
1699         (RETURN_MAP_ADJUSTED): Likewise.
1700         (LABEL_PENDING_CHAIN): Likewise.
1701
1702 2005-08-15  Tom Tromey  <tromey@redhat.com>
1703
1704         * Make-lang.in (JAVA_OBJS): Removed verify.o
1705         (java/verify.o): Removed.
1706         * verify.c: Removed.
1707         * lang.c (flag_new_verifier): Removed.
1708         (java_post_options): Updated.
1709         * java-tree.h (flag_new_verifier): Removed.
1710         (verify_jvm_instructions): Removed.
1711         * expr.c (pop_type_0): Assume flag_new_verifier is true.
1712         (build_java_check_indexed_type): Likewise.
1713         (expand_java_arraystore): Likewise.
1714         (expand_java_arrayload): Likewise.
1715         (pop_arguments): Likewise.
1716         (expand_byte_code): Likewise.
1717         (process_jvm_instruction): Likewise.
1718
1719 2005-08-10  Andrew Haley  <aph@redhat.com>
1720
1721         * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
1722         type mismatches to make legal GIMPLE.
1723
1724 2005-08-10  Robin Green <greenrd@greenrd.org>
1725
1726         PR java/23230:
1727         * parse.y (maybe_use_access_method): Generalize check from
1728         java.lang.Object to any superclass of current_class
1729
1730 2005-08-08  Nathan Sidwell  <nathan@codesourcery.com>
1731
1732         * class.c (build_class_ref): Wrap the primary class type in a
1733         NOP_EXPR.
1734         * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
1735         primary class type from the NOP_EXPR in which it was placed.
1736
1737 2005-07-28  Diego Novillo  <dnovillo@redhat.com>
1738
1739         * expr.c (expand_load_internal): Fix missing parens in
1740         predicate.
1741
1742 2005-07-28  Andrew Haley  <aph@redhat.com>
1743
1744         * expr.c (expand_load_internal): Convert to destination type.
1745
1746 2005-07-22  Manfred Hollstein  <mh@suse.com>
1747
1748         * verify-impl.c (check_class_constant): Fix uninitialised warnings.
1749         (check_constant): Likewise.
1750         (check_wide_constant): Likewise.
1751
1752 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
1753
1754         Make CONSTRUCTOR use VEC to store initializers.
1755         * check-init.c (check_init): Update to cope with VEC in
1756         CONSTRUCTOR_ELTS.
1757         * class.c (make_field_value, make_method_value, get_dispatch_table,
1758         make_class_data, emit_symbol_table, emit_catch_table,
1759         emit_assertion_table): Use build_constructor_from_list instead of
1760         build_constructor.
1761         * constants.c (build_constants_constructor): Likewise.
1762         * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
1763         VEC in CONSTRUCTOR_ELTS.
1764         * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
1765         PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
1766         of a TREE_LIST.
1767         * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
1768         CONSTRUCTOR_ELTS.
1769         * parse.y (build_new_array_init): Use build_constructor_from_list
1770         instead of build_constructor.
1771         (patch_new_array_init): Update to cope with VEC in
1772         CONSTRUCTOR_ELTS.
1773         (array_constructor_check_entry): Likewise.
1774
1775 2005-07-12  Tom Tromey  <tromey@redhat.com>
1776
1777         * jvspec.c (lang_specific_driver): Put filelist_filename first on
1778         command line.
1779
1780 2005-07-12  Tom Tromey  <tromey@redhat.com>
1781
1782         PR java/19674:
1783         * parse-scan.y (interface_member_declaration): Added
1784         empty_statement.
1785
1786 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
1787         
1788         * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
1789         (LABEL_PENDING_CHAIN): Ditto.
1790         (LABEL_PC): Ditto.
1791         (DECL_BIT_INDEX): Ditto.        
1792
1793 2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>
1794
1795         PR java/18119
1796         * parse.y (inner_class_accessible): New function. Logic moved from
1797         check_inner_class_access.
1798         (check_inner_class_access): Use inner_class_accessible.
1799         (resolve_inner_class): Simplify arguments. Create circularity hash
1800         here. Keep looking for classes if we found one that was inaccessible. 
1801         Return the inaccessible class only if there is no other match.
1802         (do_resolve_class): Update for new resolve_inner_class arguments.
1803         Don't create circularity_hash here.
1804
1805 2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>
1806
1807         PR java/21045
1808         * parse.y (add_exception_to_throws): New function.
1809         (purge_unchecked_exceptions): Removed.
1810         (get_constructor_super): Renamed from verify_constructor_super. Now
1811         returns the super constructor after verification.
1812         (java_complete_expand_method): Don't use purge_unchecked_exceptions
1813         or save/restore the exception list.
1814         (check_thrown_exceptions): Add uncaught exceptions in anonymous
1815         class initializers and constructors to the throws clause of the method. 
1816
1817 2005-07-05  Bryce McKinlay  <mckinlay@redhat.com>
1818
1819         PR java/19674
1820         * parse.y (interface_member_declaration): Allow empty statements in
1821         interface declarations.
1822
1823 2005-07-05  Paolo Bonzini  <bonzini@gnu.org>
1824
1825         * Makefile.in (parse.o): Adjust dependencies.
1826         * parse.y: Include tree-dump.h.
1827
1828 2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
1829
1830         * class.c, decl.c, expr.c: Use '+' flag instead of %J.  Use 'q'
1831         flag for quoting.
1832
1833 2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
1834
1835         * parse.y (issue_warning_error_from_context): Call
1836         pp_output_formatted_text to be able to get the buffer.
1837
1838 2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
1839
1840         * parse.y (issue_warning_error_from_context): Update for the
1841         renaming of pp_format_text to pp_format.
1842
1843 2005-06-28  Paul Brook  <paul@codesourcery.com>
1844
1845         * decl.c (java_init_decl_processing): Call
1846         default_init_unwind_resume_libfunc.
1847
1848 2005-06-27  Tom Tromey  <tromey@redhat.com>
1849
1850         PR java/21540, PR java/13788:
1851         * parse.y (java_complete_lhs) <CASE_EXPR>: Use
1852         fold_constant_for_init.
1853         (patch_binop): Added 'folding' argument.  Updated all callers.
1854         (patch_unaryop) <NOP_EXPR>: New case.
1855         (fold_constant_for_init) <NOP_EXPR>: Likewise.
1856         (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
1857
1858 2005-06-25  Jan Hubicka  <jh@suse.cz>
1859
1860         * builtins.c (define_builtin): Accept new flags parameter.
1861         (initialize_builtins): Mark the builtins const and nothrow accordingly.
1862
1863 2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
1864
1865         * all files: Update FSF address in copyright headers.
1866
1867 2005-06-24  Tom Tromey  <tromey@redhat.com>
1868
1869         * verify-impl.c (verify_instructions_0): Correctly handle
1870         situation where PC falls off end.
1871
1872 2005-06-23  Bryce McKinlay  <mckinlay@redhat.com>
1873
1874         PR java/20697
1875         * parse.y (find_most_specific_methods_list): Remove special case for
1876         inner classes.
1877
1878 2005-06-15  Tom Tromey  <tromey@redhat.com>
1879
1880         PR libgcj/21906:
1881         * class.c (make_method_value): Use soft_abstractmethod_node for
1882         abstract method.
1883         * java-tree.h (soft_abstractmethod_node): New define.
1884         (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
1885         * decl.c (java_init_decl_processing): Initialize
1886         soft_abstractmethod_node.
1887
1888 2005-06-13  Geoffrey Keating  <geoffk@apple.com>
1889
1890         * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
1891
1892 2005-06-13  Per Bothner  <per@bothner.com>
1893
1894         * expr.c (int highest_label_pc_this_method,
1895         start_label_pc_this_method): New globals.
1896         (lookup_label): Add start_label_pc_this_method to pc for label, and
1897         update highest_label_pc_this_method.  This prevents conflicts between
1898         labels from different methods.
1899         * java-tree.h: Declare new globals.
1900         * jcf-parse.c (parse_class_file): If needed bump
1901         start_label_pc_this_method and reset highest_label_pc_this_method.
1902
1903 2005-06-13  Tom Tromey  <tromey@redhat.com>
1904
1905         PR java/21844:
1906         * parse.y (nested_field_access_p): Handle case where outer field
1907         is inherited by enclosing class.
1908
1909 2005-06-12  Per Bothner  <per@bothner.com>
1910
1911         * class.c (inherits_from_p): Do load_class if needed.
1912
1913 2005-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1914
1915         * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
1916         * java-tree.h (parse_error_context): Move...
1917         * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
1918         * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
1919         * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
1920
1921 2005-06-08  Roger Sayle  <roger@eyesopen.com>
1922
1923         * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
1924
1925 2005-06-06  Jakub Jelinek  <jakub@redhat.com>
1926
1927         * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
1928         msgid for argument name.
1929         * gjavah.c (error): Likewise.
1930         * java-tree.h (parse_error_context): Likewise.
1931         * parse.y (parse_error_context, parse_warning_context,
1932         issue_warning_error_from_context): Likewise.
1933
1934 2005-06-01  Tom Tromey  <tromey@redhat.com>
1935
1936         PR java/21722:
1937         * class.c (build_static_field_ref): Don't fold constant fields if
1938         current class is from a .class file and we're using indirect
1939         dispatch.
1940
1941 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1942
1943         * java/verify-glue.c: Don't include errors.h and include toplev.h.
1944         * java/Make-lang.in: Updates dependencies.
1945
1946 2005-05-26  Ranjit Mathew  <rmathew@hotmail.com>
1947
1948         PR java/19870.
1949         * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
1950         NESTED_FIELD_ACCESS_IDENTIFIER_P.
1951         (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
1952         (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
1953         * jcf-write.c (generate_classfile): Use
1954         NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1955         OUTER_FIELD_ACCESS_IDENTIFIER_P.
1956         * parse.y (build_outer_field_access): Rename to
1957         build_nested_field_access. Support static fields and outer-to-inner
1958         class accesses.
1959         (outer_field_access_p): Rename to nested_field_access_p. Support
1960         static fields and generalise to outer-to-inner class and sibling
1961         inner class accesses.
1962         (outer_field_expanded_access_p): Rename to
1963         nested_field_expanded_access_p and support static fields.
1964         (outer_field_access_fix): Rename to nested_field_access_fix and
1965         support static fields.
1966         (build_outer_field_access_expr): Rename to
1967         build_nested_field_access_expr and support static fields.
1968         (build_outer_field_access_methods): Rename to
1969         build_nested_field_access_methods and support static fields. For
1970         static fields, generate accessors without class instance parameters.
1971         (build_outer_field_access_method): Rename to
1972         build_nested_field_access_method and support static fields.
1973         (build_outer_method_access_method): Use
1974         NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1975         OUTER_FIELD_ACCESS_IDENTIFIER_P.
1976         (resolve_expression_name): Consider static field accesses across
1977         nested classes.
1978         (resolve_qualified_expression_name): Likewise.
1979         (java_complete_lhs): Use nested_field_access_fix instead of
1980         outer_field_access_fix.
1981         (patch_unary_op): Rename outer_field_flag to nested_field_flag.
1982         Use nested_field_expanded_access_p instead of
1983         outer_field_expanded_access_p. Use nested_field_access_fix instead
1984         of outer_field_access_fix.
1985         (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
1986         instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
1987
1988 2005-05-26  Bryce McKinlay  <mckinlay@redhat.com>
1989
1990         * decl.c (GCJ_BINARYCOMPAT_ADDITION, 
1991         GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
1992         (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
1993         MINOR_BINARYCOMPAT_ABI_VERSION): New.
1994         (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
1995         (parse_version): Calculate version ID using new method. Use bit-flags
1996         for flag_indirect_dispatch and flag_bootstrap_classes.
1997
1998 2005-05-25  Richard Henderson  <rth@redhat.com>
1999
2000         PR libgcj/21692
2001         * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2002         * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2003         DECL_CONTEXT; avoid pushdecl_top_level.
2004         (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2005         (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2006         (layout_class_method): Likewise.
2007         * decl.c (java_mark_cni_decl_local): New.
2008         (java_mark_class_local): Use it.
2009         * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2010         (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2011         (struct lang_decl_func): Add local_cni;
2012         (struct lang_decl_var): Add class_field, vtable.
2013         (java_mangle_decl): Declare.
2014         * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2015         * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2016         (mangle_obstack_1): New.
2017         (java_mangle_decl): Remove obstack argument.  Call mangle_class_field,
2018         mangle_vtable, and mangle_local_cni_method_decl.  Fall back to
2019         lhd_set_decl_assembler_name for things that don't need mangling.
2020         (mangle_class_field): Rename from java_mangle_class_field, make
2021         static, don't call init_mangling or finish_mangling.
2022         (mangle_vtable): Similarly.
2023         (mangle_local_cni_method_decl): New.
2024         (init_mangling): Remove obstack argument.  Use &mangle_obstack_1,
2025         gcc_assert, and MANGLE_RAW_STRING.
2026         (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2027
2028 2005-05-25  DJ Delorie  <dj@redhat.com>
2029
2030         * class.c (set_constant_value): Move warning control from if() to
2031         warning(OPT_*).
2032
2033 2005-05-24  Richard Henderson  <rth@redhat.com>
2034
2035         * builtins.c (define_builtin): Don't call make_decl_rtl.
2036         * constants.c (build_constant_data_ref): Likewise.
2037         * class.c (build_utf8_ref): Likewise.
2038         (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2039         (get_dispatch_table, layout_class_method): Likewise.
2040         (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2041         by hand.
2042         (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2043         (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2044         to determine if we need a non-zero address.
2045         * decl.c (builtin_function): Don't call make_decl_rtl.
2046         (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2047         * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2048         * resource.c (compile_resource_data): Likewise.
2049         * parse.y (resolve_field_access): Re-word comment to avoid
2050         building DECL_RTL.
2051
2052 2005-05-24  Richard Henderson  <rth@redhat.com>
2053
2054         * class.c (registered_class): Take it out of class_roots; turn into
2055         a vec of trees.
2056         (register_class): Make static.  Don't duplicate decl node.  Use
2057         VEC_safe_push.
2058         (emit_register_classes): Use VEC_iterate.  Use output_constant
2059         instead of assemble_integer.  Don't call mark_decl_referenced
2060         directly.
2061         * java-tree.h (register_class): Remove decl.
2062
2063 2005-05-19  Paolo Bonzini  <bonzini@gnu.org>
2064
2065         PR java/17845
2066
2067         * parse.y (register_package, package_list): Remove.
2068         (package_declaration): Do not call register_package.
2069         (do_resolve_class): Do not use package_list.
2070
2071 2005-05-15  Gerald Pfeifer  <gerald@pfeifer.com>
2072
2073         * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2074         unused variable.
2075
2076 2005-05-15  Tom Tromey  <tromey@redhat.com>
2077
2078         PR java/21519:
2079         * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2080         NOTE_PUSH.
2081
2082 2005-05-12  Aaron Luchko <aluchko@redhat.com>
2083
2084         * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2085
2086 2005-05-11  Tom Tromey  <tromey@redhat.com>
2087
2088         * gcj.texi (Code Generation): Document -fbootstrap-classes.
2089         * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2090         (parse_version): Use it.
2091         * lang.opt (-fbootstrap-classes): New option.
2092
2093 2005-05-10  Paolo Bonzini  <bonzini@gnu.org>
2094
2095         PR java/21436
2096         * class.c (maybe_layout_super_class): Look for imports in this_class.
2097         * parse.h (ctxp_for_generation_last): New.
2098         (do_resolve_class): Add a parameter.
2099         * parse.y (ctxp_for_generation_last): New.
2100         (java_pop_parser_context): Add at end of list.
2101         (find_in_imports, find_in_imports_on_demand): Look in ctxp
2102         if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2103         the given type are NULL.
2104         (do_resolve_class): Look into the imports of the new second parameter.
2105         Adjust recursive calls.
2106         (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2107         calls to do_resolve_class.
2108         (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2109         (java_complete_class): Do not do that here.
2110
2111 2005-05-03  Thomas Fitzsimmons  <fitzsim@redhat.com>
2112
2113         PR java/20309
2114         * Make-lang.in (java): Add gjnih.
2115         (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2116         (GJNIH_OBJS): New variable.
2117         (gjnih$(exeext)): New target.
2118         (JAVA_MANFILES): Add gjnih.1.
2119         (java.uninstall): Add gjnih.1.
2120         (java.mostlyclean): Add gjnih.
2121         (java.maintainer-clean): Add gjnih.1.
2122         (java/gjavah-jni.o): New target.
2123         (.INTERMEDIATE): Add gjnih.pod.
2124         (gjnih.pod): New target.
2125         * config-lang.in (stagestuff): Add gjnih.
2126         * gcj.texi (Top): Add gjnih node.
2127         (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2128         -bootclasspath options.
2129         (Invoking gjnih): New node.
2130         * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2131         (TOOLNAME): New macro.
2132         (error): Replace hard-coded gcjh with TOOLNAME.
2133         (process_file): Likewise.
2134         (usage): Likewise.
2135         (version): Likewise.
2136         (help): Likewise.  Add help output for -force, -old, -trace and -J
2137         options.
2138         (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2139         (options): Add force, old, trace and J fields.
2140         (main): Handle -force, -old, -trace and -J options.
2141
2142 2005-05-03  Tom Tromey  <tromey@redhat.com>
2143
2144         PR java/21245:
2145         * gjavah.c (main): Unlink output file on error.
2146
2147 2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
2148
2149         * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2150         copyright.
2151
2152 2005-04-29  Tom Tromey  <tromey@redhat.com>
2153
2154         * expr.c (build_jni_stub): Updated for change to build_block.
2155
2156 2005-04-29  Andrew Pinski  <pinskia@gcc.gnu.org>
2157
2158         * expr.c (force_evaluation_order): Declare 'saved' earlier.
2159
2160 2005-04-28  Andrew Haley  <aph@redhat.com>
2161
2162         PR java/19285
2163         * java-tree.h (soft_resolvepoolentry_node): New.
2164         (alloc_constant_fieldref): Declare.
2165         * expr.c (expand_java_field_op): Don't call class_init for
2166         accesses to static fields with indirect dispatch.
2167         * builtins.c (initialize_builtins): Add "__builtin_expect".
2168         * decl.c (soft_resolvepoolentry_node): New variable.
2169         (java_init_decl_processing): Create a decl for
2170         "_Jv_ResolvePoolEntry".
2171         * class.c (build_fieldref_cache_entry): New function.
2172         (build_static_field_ref): Rewrite for indirect dispatch.
2173         * constants.c (find_name_and_type_constant_tree): New function.
2174         (alloc_constant_fieldref): Likewise.
2175         (build_constants_constructor): Handle CONSTANT_Fieldref and
2176         CONSTANT_NameAndType.
2177
2178         PR java/21115
2179         * expr.c (force_evaluation_order): Convert outgoing args smaller
2180         than integer.
2181
2182 2005-04-27  Bryce McKinlay  <mckinlay@redhat.com>
2183
2184         * gcj.texi (libgcj Runtime Properties): Remove obsolete
2185         gnu.gcj.runtime.NameFinder.* system properties. Update documentation 
2186         for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2187
2188 2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2189
2190         * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2191         to `unlock_stream' with `unlock_std_streams'.
2192
2193 2005-04-25  Jakub Jelinek  <jakub@redhat.com>
2194
2195         * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2196         instead of just expr.h.
2197
2198 2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2199
2200         * gjavah.c (main): Unlock the stdio streams.
2201         * jcf-dump.c (main): Likewise.
2202         * jv-scan.c (main): Likewise.
2203         * jvgenmain.c (main): Likewise.
2204
2205 2005-04-23  DJ Delorie  <dj@redhat.com>
2206
2207         * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2208         parse.y: Adjust warning() callers.
2209
2210 2005-04-21  Bryce McKinlay  <mckinlay@redhat.com>
2211
2212         * gcj.texi (Object fields): Change "Integer" to "Int" in example
2213         contructor.
2214
2215 2005-04-20  Bryce McKinlay  <mckinlay@redhat.com>
2216
2217         * gcj.texi: Fix typos and bogus example.
2218
2219 2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
2220
2221         * except.c: Fix a comment typo.
2222
2223 2005-04-19  Julian Brown  <julian@codesourcery.com>
2224
2225         * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2226         indirect dispatch with PIC.
2227
2228 2005-04-18  Andrew Haley  <aph@redhat.com>
2229
2230         * java-except.h (struct eh_range.handler): Remove unused field.
2231         (handle_nested_ranges): Remove function declaration.
2232         (sanity_check_exception_range): Add function declaration.       
2233         * verify.c (verify_jvm_instructions): Remove call to
2234         handle_nested_ranges.
2235         * verify-glue.c (verify_jvm_instructions_new): Call
2236         sanity_check_exception_range.
2237         * except.c (link_handler, eh_range_freelist, link_handler,
2238         handle_nested_ranges): Remove.
2239         (add_handler): Rewrite.
2240         (sanity_check_exception_range): New function.
2241         (print_ranges): New function.
2242
2243 2005-04-13  Julian Brown  <julian@codesourcery.com>
2244
2245         * decl.c (finish_method): Give methods once-only linkage.
2246
2247 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
2248
2249         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2250
2251 2005-04-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2252
2253         * java-tree.h: Don't use PARAMS().
2254
2255 2005-04-07  Per Bothner  <per@bothner.com>
2256
2257         * class.c (push_class): By default, suppress debug output.
2258         (finish_class): Enable debug output for classes we're emitting.
2259
2260 2005-04-07  Andrew Haley  <aph@redhat.com>
2261
2262         * gcj.texi: Correct gcj-dbtool instructions.
2263
2264 2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
2265
2266         * gcj.texi: Fix a typo.
2267         * lang.c: Fix a comment typo.
2268
2269 2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>
2270
2271         * gcj.texi (Invoking gij): Add descriptions of new -X options.
2272         Mention recognized-and-ignored compatibility options.
2273         (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2274         JvFree.
2275         (About CNI): Add Memory allocation section.
2276
2277 2005-04-01  Tom Tromey  <tromey@redhat.com>
2278
2279         * decl.c (java_init_decl_processing): Fix types of
2280         _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2281         _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2282         _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2283
2284 2005-03-31  Jan Hubicka  <jh@suse.cz>
2285
2286         * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2287         * class.c: Include cgraph.h
2288         (make_local_functoin_alias): Mark aslias as needed.
2289         * resource.c: Include cgraph.h
2290         (compile_resource_data): Go via cgraph interface.
2291
2292 2005-03-30  Ian Lance Taylor  <ian@airs.com>
2293
2294         * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2295
2296 2005-03-30  Tom Tromey  <tromey@redhat.com>
2297
2298         * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2299         inner_class_info_index==0 or outer_class_info_index==0.
2300
2301 2005-03-29  Tom Tromey  <tromey@redhat.com>
2302
2303         * gcj.texi (libgcj Runtime Properties): Document
2304         gnu.gcj.runtime.endorsed.dirs.
2305
2306 2005-03-24  Anthony Green  <green@redhat.com>
2307
2308         * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2309         'gcj-dbtool -p'.
2310
2311 2005-03-23  Tom Tromey  <tromey@redhat.com>
2312
2313         * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2314         (parse_version): Use it.
2315
2316 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
2317
2318         * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2319
2320 2005-03-18  Andrew Haley  <aph@redhat.com>
2321
2322         PR java/20522
2323         * decl.c (update_aliases): Don't update variables that are about
2324         to die.
2325         (maybe_poplevels): Add comment.
2326
2327 2005-03-17  Bryce McKinlay  <mckinlay@redhat.com>
2328
2329         PR java/20502
2330         * jcf-parse.c (duplicate_class_warning): New function.
2331         (java_parse_file): Call duplicate_class_warning if 
2332         CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2333         (parse_zip_file_entries): Likewise. Also set
2334         CLASS_FROM_CURRENTLY_COMPILED_P.
2335
2336 2005-03-16  Andrew Haley  <aph@redhat.com>
2337
2338         * expr.c (expand_java_arrayload): Don't generate a
2339         NullPointerException based on the type of the node.
2340         (build_java_array_length_access): Likewise.
2341
2342 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
2343
2344         * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2345
2346 2005-03-11  Tom Tromey  <tromey@redhat.com>
2347
2348         * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2349         (libgcj Runtime Properties): Document the default .db.
2350
2351 2005-03-10  Ranjit Mathew  <rmathew@hotmail.com>
2352
2353         PR java/20312
2354         * parse.y (checks_throws_clauses): Check exceptions list even when
2355         the base class does not come from a source file being compiled.
2356         (java_complete_lhs): Remove unused variable 'wfl'.
2357
2358 2005-03-09  Ranjit Mathew  <rmathew@hotmail.com>
2359
2360         PR java/20338
2361         * decl.c (finish_method): Emit _Jv_InitClass for private static
2362         methods inside inner classes as well.
2363
2364 2005-03-08  Julian Brown  <julian@codesourcery.com>
2365         * Revert patch from 2005-03-08 for causing bootstrap failure on
2366         ppc-darwin.
2367
2368 2005-03-08  Julian Brown  <julian@codesourcery.com>
2369
2370         * decl.c (finish_method): Give methods once-only linkage.
2371
2372 2005-03-07  Ranjit Mathew  <rmathew@hotmail.com>
2373
2374         * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2375
2376 2005-03-07  Bryce McKinlay  <mckinlay@redhat.com>
2377
2378         * verify-glue.c (vfy_is_assignable_from): Perform static check using
2379         can_widen_reference_to if the C++ ABI is in use.
2380         (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2381         * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2382         type_isresolved, init_state, set_pc, state_get_pc,
2383         _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2384         (verify_fail): Report the current PC from the verifier context.
2385         (free_state): Remove #if 0 block to enable this function.
2386         (free_verifier_context): Call free_state on state_list iterator
2387         values before freeing them.
2388         * expr.c (pop_type_0): Pop correct type for error message when stack
2389         contains a multi-word type.
2390
2391 2005-03-07  Ranjit Mathew  <rmathew@hotmail.com>
2392
2393         * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2394         for known NULL array length access.
2395
2396 2005-03-07  Tom Tromey  <tromey@redhat.com>
2397
2398         * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2399
2400 2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
2401
2402         * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2403         typeck.c: Update copyright.
2404
2405 2005-03-06  Ranjit Mathew  <rmathew@hotmail.com>
2406
2407         Remove xref code.
2408         * xref.c, xref.h: Remove file.
2409         * Make-lang.in (java/xref.o): Remove.
2410         * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2411         * lang.c (flag_emit_xref): Remove definition.
2412         * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2413         * typeck.c (convert): Remove use of do_not_fold.
2414         * parse.y (do_not_fold): Remove definition.
2415         (parser grammar): Remove xref code.
2416         (maybe_create_class_interface_decl, create_class): Likewise.
2417         (register_fields, method_header, finish_method_declaration): Likewise.
2418         (declare_local_variables, source_end_java_method): Likewise.
2419         (java_complete_expand_classes): Do not set do_not_fold.
2420         (java_complete_expand_method): Remove xref code.
2421         (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2422         (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2423         (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2424         (patch_synchronized_statement, patch_throw_statement): Likewise.
2425         (maybe_build_class_init_for_field): Likewise.
2426
2427 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
2428
2429         * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2430         instead of IS_NON_TYPE_CODE_CLASS.
2431
2432 2005-03-04  Andrew Haley  <aph@redhat.com>
2433
2434         PR java/18362
2435         * class.c (set_method_index): Don't set method_index if it is
2436         NULL_TREE.
2437         (layout_class_method): Don't complain about "non-static method foo
2438         overrides static method" in the case of indirect dispatch.
2439
2440 2005-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2441
2442         * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2443         warning.
2444         * Make-lang.in: Don't elide warnings in jcf-io.c.
2445
2446 2005-03-01  Per Bothner  <per@bothner.com>
2447
2448         PR java/8608
2449         * check-init.c (wfl): Remove static.
2450         (final_assign_error, check_init): Replace calls to parse_error_context
2451         by plain error.
2452         (check_init): Save, set, and restore input_location for each exp.
2453
2454 2005-03-01  Per Bothner  <per@bothner.com>
2455
2456         * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2457         if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2458         * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2459
2460 2005-03-01  Per Bothner  <per@bothner.com>
2461
2462         * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2463
2464 2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>
2465
2466         PR libgcj/16923
2467         * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2468         JvVMOption.
2469
2470 2005-02-22  Tom Tromey  <tromey@redhat.com>
2471
2472         PR java/20056:
2473         * verify-impl.c (EITHER): New define.
2474         (types_compatible): Handle it.
2475         (check_field_constant): Use it.
2476
2477 2005-02-18  Tom Tromey  <tromey@redhat.com>
2478
2479         PR java/20056:
2480         * verify-impl.c (types_equal): Fixed test.
2481
2482         PR java/20056:
2483         * verify-glue.c (vfy_class_has_field): New function.
2484         * verify.h (vfy_class_has_field): Declare.
2485         * verify-impl.c (check_field_constant): Added 'putfield'
2486         argument.
2487         (verify_instructions_0): Updated.
2488         (types_equal): New function.
2489
2490 2005-02-14  Tom Tromey  <tromey@redhat.com>
2491
2492         PR java/19921:
2493         * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2494         stack effect of multianewarray.
2495
2496 2005-02-14  Andrew Haley  <aph@redhat.com>
2497
2498         PR java/19907
2499         * expr.c (expand_byte_code): Call promote_arguments().
2500         (promote_arguments): New function.
2501         * decl.c (check_local_unnamed_variable): Remove special case for
2502         new verifier.
2503         (find_local_variable): Promote all boolean types to int
2504         when searching for local variable decls.
2505
2506 2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
2507
2508         * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2509         parse-scan.y: Update copyright.
2510
2511 2005-02-11  Per Bothner  <per@bothner.com>
2512
2513         PR java/15543
2514         * parse-scan.y (input_location): Remove variable.
2515         (main_input_filename): New - replaces input_filename, which isn't
2516         settable if USE_MAPPED_LOCATION.
2517         * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2518         so we don't reference input_location or wfl_operator in that case.
2519         * jv-scan.c (expand_location): Remove - no longer used.
2520         (main): Set main_input_filename rather than input_filename.
2521
2522 2005-02-09  Richard Henderson  <rth@redhat.com>
2523
2524         * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2525         * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2526
2527 2005-02-08  Marcin Dalecki  <martin@dalecki.de>
2528
2529         * expr.c (add_type_assertion): Use the proper enumeration type,
2530         since this is what htab_find_slot() is expecting.
2531
2532 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
2533
2534         * gcj.texi: Update copyright dates.
2535
2536 2005-02-02  Tom Tromey  <tromey@redhat.com>
2537
2538         * gcj.texi (libgcj Runtime Properties): Default library_control
2539         to 'cache'.
2540
2541 2005-02-02  Ranjit Mathew  <rmathew@hotmail.com>
2542
2543         PR java/15543
2544         * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2545         (modifiers) when square brackets are present in a declaration for
2546         a final paramter.
2547         * jv-scan.c (main): Set input_filename and input_line.
2548
2549 2005-02-01  Tom Tromey  <tromey@redhat.com>
2550
2551         PR java/19742:
2552         * gjavah.c (get_field_name): Don't override name for JNI header.
2553
2554 2005-02-01  Roger Sayle  <roger@eyesopen.com>
2555
2556         * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2557         of unsigned types using iushr and lushr JVM bytecodes.
2558
2559 2005-02-01  Ranjit Mathew  <rmathew@hotmail.com>
2560
2561         PR java/19738
2562         * gjavah.c (jni_print_float): Do not emit floating-point
2563         initialiser for a static final field.
2564         (jni_print_double): Likewise.
2565
2566 2005-02-01  Mark Mitchell  <mark@codesourcery.com>
2567
2568         Revert:
2569         2005-01-31  Mark Mitchell  <mark@codesourcery.com>
2570         * gjavah.c (print_field_info): Mark static data members of
2571         floating-point type with "__extension__".
2572
2573 2005-01-31  Mark Mitchell  <mark@codesourcery.com>
2574
2575         * gjavah.c (print_field_info): Mark static data members of
2576         floating-point type with "__extension__".
2577
2578 2005-02-01  Ranjit Mathew  <rmathew@hotmail.com>
2579
2580         PR java/9157
2581         * parse.y (build_string_concatenation): Remove redundant if.
2582         (patch_conditional_expr): Attempt to patch_string() the condition
2583         of a ?: as well, in addition to its other operands.
2584
2585 2005-01-25  Tom Tromey  <tromey@redhat.com>
2586
2587         * Make-lang.in (java/java-tree-inline.o): Removed.
2588
2589 2005-01-25  Ranjit Mathew  <rmathew@hotmail.com>
2590
2591         PR java/19070
2592         * parse.y (patch_binop): Allow comparisons against NULL only
2593         if the other operand is of a reference type.
2594
2595 2005-01-24  Tom Tromey  <tromey@redhat.com>
2596
2597         * java-tree.h (gcj_abi_version): Declare.
2598         * class.c (make_class_data): Push gcj_abi_version into "next"
2599         field.  Renamed field.
2600         * decl.c (gcj_abi_version): New global.
2601         (parse_version): New function.
2602         (java_init_decl_processing): Call it.  Renamed 'next' field.
2603         Include version.h.
2604         (GCJ_BINARYCOMPAT_ADDITION): New define.
2605
2606 2005-01-24  Roger Sayle  <roger@eyesopen.com>
2607
2608         PR java/19295
2609         * jcf-write.c (generate_bytecode_insns): Conversions between
2610         integer types of the same precision shouldn't generate widening
2611         or narrowing conversion bytecodes.
2612
2613 2005-01-22  Kazu Hirata  <kazu@cs.umass.edu>
2614
2615         * java-except.h, java-tree.h: Remove unused prototypes.
2616
2617 2005-01-20  Andrew Pinski  <pinskia@gcc.gnu.org>
2618
2619         PR java/18091:
2620         * jcf-write.c (perform_relocations): Don't call memcpy if source
2621         and destination are the same.
2622
2623 2005-01-17  Tom Tromey  <tromey@redhat.com>
2624
2625         * verify-impl.c (get_short): Sign extend.
2626         (get_int): Likewise.
2627
2628 2005-01-12  Ranjit Mathew  <rmathew@hotmail.com>
2629
2630         * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2631         with TYPE_SIZE.
2632
2633 2005-01-10  Ranjit Mathew  <rmathew@hotmail.com>
2634
2635         * verify.c: Revert to the version before the BC-ABI merge.
2636
2637 2005-01-10  Ranjit Mathew  <rmathew@hotmail.com>
2638
2639         PR java/19277
2640         * check-init.c (check_init): Take care of references that do not
2641         have an explicit final variable declaration (e.g. array length
2642         access) for pre/post in/de-crement operators.
2643
2644 2005-01-08  Mark Wielaard  <mark@klomp.org>
2645
2646         * parse.y (process_imports): Allocate (and free) original_name only
2647         when not already defined.
2648         * jcf-parse.c (read_class): Free results of find_class() and
2649         lrealpath().
2650         (java_parse_file): Keep pointer to head of file_list and free when
2651         done. Free result of lrealpath().
2652
2653 2005-01-05  Tom Tromey  <tromey@redhat.com>
2654
2655         * gcj.texi (Standard Properties): java.ext.dirs is now used.
2656
2657 2004-12-20  Andrew Haley  <aph@redhat.com>
2658
2659         * typeck.c: Use fold_convert for ints and booleans.
2660
2661 2004-12-17  Andrew Haley  <aph@redhat.com>
2662
2663         PR java/18931
2664         * typeck.c (convert): Use a CONVERT_EXPR when converting to
2665         BOOLEAN_TYPE or CHAR_TYPE.
2666         (convert_to_boolean, convert_to_char) : Remove.
2667         * convert.h (convert_to_boolean, convert_to_char) : Remove.
2668         * expr.c (expand_load_internal): Do type conversion if type is not
2669         as required.
2670
2671 2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
2672
2673         PR target/18459
2674         * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
2675         Update comment.
2676
2677 2004-12-07  Andrew Haley  <aph@redhat.com>
2678
2679         PR java/18811:
2680         * jcf-parse.c (load_class): Remove sanity test for missing inner
2681         class file.
2682
2683 2004-12-06  Tom Tromey  <tromey@redhat.com>
2684
2685         * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
2686         (java.uninstall): Likewise.
2687         (java.maintainer-clean): Likewise.
2688         (.INTERMEDIATE): Likewise.
2689         (java.install-man): Likewise.
2690         (gcj-dbtool.pod): New target.
2691         * gcj.texi (Code Generation): Document -findirect-dispatch.
2692         (libgcj Runtime Properties): Document
2693         gnu.gcj.precompiled.db.path.
2694         (Top): Link to "Invoking gcj-dbtool".
2695
2696 2004-12-06  Tom Tromey  <tromey@redhat.com>
2697
2698         PR java/14853:
2699         * java-tree.h (extract_field_decl): Declare.
2700         * parse.y (extract_field_decl): Renamed from
2701         strip_out_static_field_access_decl.  No longer static.
2702         * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
2703
2704 2004-12-03  Tom Tromey  <tromey@redhat.com>
2705
2706         * lang.c (flag_new_verifier): Define.
2707         (java_post_options): Set flag_new_verifier if indirect dispatch
2708         is being used.
2709         * lang.opt (fnew-verifier): Removed.
2710
2711 2004-12-03  Tom Tromey  <tromey@redhat.com>
2712
2713         PR bootstrap/14614:
2714         * Make-lang.in (java.install-common): Only install transformed
2715         gcjh if gcj-cross exists.
2716
2717 2004-12-03  Andrew Haley  <aph@redhat.com>
2718
2719         PR java/18812
2720         * except.c (link_handler): Patch 'outer' field of siblings of the
2721         range we're demoting.
2722
2723 2004-12-03  Andrew Haley  <aph@redhat.com>
2724
2725         PR java/18697
2726         * class.c (layout_class_method): Don't fail to override a method
2727         simply because it has DECL_ARTIFICIAL set.
2728
2729 2004-12-02  Tom Tromey  <tromey@redhat.com>
2730
2731         PR java/16675:
2732         * parse.y (craft_constructor): Special case null_pointer_node.
2733
2734 2004-12-02  Tom Tromey  <tromey@redhat.com>
2735
2736         PR java/18741:
2737         * java-gimplify.c (java_gimplify_expr): Don't call
2738         SET_EXPR_LOCATION unless wrapped tree is an expression.
2739
2740 2004-11-27  Per Bothner  <per@bothner.com>
2741
2742         * jcf-parse.c (set_source_filename):  Improvement to Andrew's fix:
2743         Fix fencepost error in 'i', which got executed one too many times.
2744         Also, fold memcpy into explicit loop, as originally intended.
2745         Also, free temporary 'buf' which otherwise leaks.
2746
2747 2004-11-27  Per Bothner  <per@bothner.com>
2748
2749         * expr.c (build_expr_wfl): Only declare last_file and last_filenode
2750         local static variables if not USE_MAPPED_LOCATION.
2751
2752 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2753
2754         * class.c, decl.c, expr.c: Fix comment typos.
2755
2756 2004-11-26  Andrew Pinski  <pinskia@physics.uc.edu>
2757
2758         PR java/18305
2759         * decl.c (end_java_method): Call
2760         attach_init_test_initialization_flags on all the init_decls.
2761         * parse.y (attach_init_test_initialization_flags): Move to ...
2762         * expr.c (attach_init_test_initialization_flags): here and
2763         support BIND_EXPR also.
2764         * java-tree.h (attach_init_test_initialization_flags): Prototype.
2765         * jcf-parse.c (parse_class_file): Don't disable class init
2766         optimization.
2767
2768 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
2769
2770         * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
2771         in diagnostics.
2772
2773 2004-11-24  Richard Henderson  <rth@redhat.com>
2774
2775         * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
2776         vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
2777
2778 2004-11-24  Tom Tromey  <tromey@redhat.com>
2779
2780         * verify.c (defer_merging): Don't use C++-style comment.
2781         * verify.h (java_opcode): Added java_opcode_end.
2782         * class.c (build_class_ref): Remove C++ comment and old FIXME.
2783
2784         * verify-impl.c (vfy_push_type): Removed bogus "return".
2785         (initialize_stack): Use vfy_alloc and vfy_free.
2786         (verify_instructions_0): Likewise.
2787
2788         * Merged gcj-abi-2-dev-branch to trunk.
2789
2790 2004-11-24  Andrew Haley  <aph@redhat.com>
2791
2792         * jcf-parse.c (parse_class_file): Set file_start_location.
2793
2794 2004-11-10  Tom Tromey  <tromey@redhat.com>
2795
2796         * class.c (make_field_value): Don't call build_static_field_ref.
2797         (build_static_field_ref): Don't emit direct references when using
2798         indirect dispatch.
2799
2800         * gcj.texi (Invoking gij): Document -verbose.  Put -verbose and
2801         -verbose:class into man page synopsis.
2802
2803 2004-11-09  Tom Tromey  <tromey@redhat.com>
2804
2805         * expr.c (build_java_arraystore_check): Still generate check if
2806         element type is itself an array.
2807
2808 2004-11-08  Tom Tromey  <tromey@redhat.com>
2809
2810         * java-tree.h (soft_check_assignment_node): Removed.
2811         (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
2812         * decl.c (java_init_decl_processing): Don't initialize
2813         soft_check_assignment_node.
2814
2815 2004-11-05  Tom Tromey  <tromey@redhat.com>
2816
2817         * class.c (layout_class_methods): Don't add Miranda methods when
2818         using indirect dispatch.
2819
2820 2004-11-05  Bryce McKinlay  <mckinlay@redhat.com>
2821
2822         * class.c (make_class_data): Call emit_assertion_table to set the
2823         'assertion_table' field.
2824         (build_signature_for_libgcj): Move here from expr.c.
2825         (add_assertion_table_entry): New function. Callback for assertion
2826         hashtable traversal.
2827         (emit_assertion_table): New. Take class argument, and generate
2828         assertion table DECL based on the TYPE_ASSERTIONS hashtable.
2829         * decl.c (init_decl_processing): Define assertion_entry_type record.
2830         Push 'assertion_table' class field instead of 'verify'.
2831         * expr.c (type_assertion_eq): Compare 'assertion_code' field.
2832         (type_assertion_hash): Include 'assertion_code' in hash.
2833         (add_type_assertion): Rewritten. Take class and assertion_code
2834         arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
2835         (can_widen_reference_to): Use new add_type_assertion() arguments.
2836         * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
2837         JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
2838         (verify_identifier_node): Removed.
2839         (assertion_entry_type, assertion_table_type): New.
2840         (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
2841         assertion code definitions.
2842         (struct type_assertion): Add assertion_code. Rename 'source_type' and
2843         'target_type' to 'op1' and 'op2'.
2844         (add_type_assertion): Declare.
2845         (lang_printable_name_wls): Remove unused definition.
2846         * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
2847         to emit runtime assertion.
2848         (vfy_note_stack_type): Clean up non-C90 declarations.
2849         (vfy_note_local_type): Likewise.
2850         * verify.h (vfy_is_assignable_from): Declare.
2851         * verify-impl.c (is_assignable_from_slow): Remove unused function.
2852         (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
2853         instead of is_assignable_from_slow().
2854         (types_compatible): Reinstate ref_compatible() call.
2855
2856 2004-11-04  Tom Tromey  <tromey@redhat.com>
2857
2858         * class.c (build_static_field_ref): Reverted previous patch.
2859
2860         * class.c (build_static_field_ref): Don't emit direct references
2861         when using indirect dispatch.
2862
2863 2004-11-03  Tom Tromey  <tromey@redhat.com>
2864
2865         * expr.c (expand_java_arrayload): Set lhs_type_node.
2866         (expand_java_arraystore): Set rhs_type_node.
2867
2868 2004-11-02  Tom Tromey  <tromey@redhat.com>
2869
2870         * jcf-parse.c (compute_class_name): Use filename length from zip
2871         directory, not strlen.
2872
2873         * expr.c (expand_invoke): Mark new interface methods as abstract.
2874
2875 2004-11-01  Tom Tromey  <tromey@redhat.com>
2876
2877         * verify-impl.c (push_jump): Removed check for uninitialized
2878         objects.
2879         (push_exception_jump): Likewise.
2880         (handle_ret_insn): Likewise.
2881         (handle_jsr_insn): Likewise.
2882         (state_check_no_uninitialized_objects): Removed.
2883
2884         * decl.c (check_local_unnamed_variable): Recognize
2885         promoted-to-int parameters when using the new verifier.
2886         * expr.c (expand_java_arraystore): Explicitly request array type
2887         when using new verifier.
2888         (expand_java_arrayload): Likewise.
2889         (invoke_build_dtable): Don't pass object_type_node as
2890         expression argument to build_java_indirect_ref.
2891         (build_java_check_indexed_type): Do nothing.
2892         (build_java_arraystore_check): Handle case where array doesn't
2893         have array type.
2894         (build_java_array_length_access): Likewise.
2895         (expand_invoke): Handle case where interface overrides a method
2896         from Object.
2897         (pop_type_0): Always succeed for reference types.
2898         (process_jvm_instruction): Don't pop a value in a dead
2899         exception handler.
2900         (pop_arguments): Convert arguments to correct types.
2901
2902 2004-10-29  Andrew Haley  <aph@redhat.com>
2903
2904         * jcf-parse.c (give_name_to_class): Remove line that was
2905         incorrectly merged.
2906
2907 2004-10-29  Andrew Haley  <aph@redhat.com>
2908
2909         * jcf-parse.c (set_source_filename): Add code to build new sfname.
2910
2911 2004-10-20  Andrew Haley  <aph@redhat.com>
2912
2913         * decl.c (end_java_method): Don't expand if flag_syntax_only.
2914
2915 2004-10-26  Tom Tromey  <tromey@redhat.com>
2916
2917         * verify.h (vfy_notify_verified): Removed.
2918         * verify-glue.c (vfy_notify_verified): Removed.
2919
2920 2004-10-26  Tom Tromey  <tromey@redhat.com>
2921
2922         * verify-impl.c (debug_print_state): Declare `i' before code.
2923         (merge_types): Modify `t' when it is null_type.
2924
2925 2004-10-26  Tom Tromey  <tromey@redhat.com>
2926
2927         * verify-impl.c (type_print): Renamed from print.  Now static and
2928         takes an argument.
2929         (debug_print_state): Use type_print.
2930
2931 2004-10-25  Tom Tromey  <tromey@redhat.com>
2932
2933         * expr.c (build_invokeinterface): Compute correct offset for
2934         index into interface methods.
2935
2936 2004-10-20  Tom Tromey  <tromey@redhat.com>
2937
2938         * java-tree.h (verify_jvm_instructions_new): Declare.
2939
2940         * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
2941         command line.
2942
2943         * verify-impl.c (verify_instructions): Correctly handle wide
2944         types on the stack.
2945         * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
2946         (vfy_get_component_type): Strip pointer types.
2947         (vfy_find_class): Use get_type_from_signature.  Strip pointer
2948         types.
2949         Include java-except.h.
2950
2951 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
2952
2953         * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
2954         vfy_push_type_t, set_variable, add_new_state, merge_into,
2955         handle_jsr_insn, branch_prepass, check_class_constant,
2956         check_wide_constant, get_one_type, compute_static_types,
2957         verify_instructions_0): Clean up C99 declarations after statements.
2958
2959 2004-10-20  Tom Tromey  <tromey@redhat.com>
2960
2961         * verify-impl.c (merge_refs): Compare reference against iterator,
2962         not ref2.
2963
2964         * verify-glue.c (vfy_tag): Mask off resolved flag.
2965
2966 2004-10-19  Tom Tromey  <tromey@redhat.com>
2967
2968         * verify-impl.c (verify_instructions): Call vfy_note_local_type.
2969         (init_state_with_stack): Initialize `this_type' in state.
2970         (verify_method): Use debug_print.
2971         * verify-glue.c (vfy_is_primitive): Removed debugging print.
2972         (vfy_note_stack_depth): Reverted last patch.
2973         (vfy_note_stack_type): Note pointer to Object, not Object.
2974         (vfy_note_local_type): Likewise.
2975
2976         * verify.h (vfy_note_instruction_seen): Declare.
2977         * verify-glue.c (verify_jvm_instructions_new): Set
2978         BCODE_EXCEPTION_TARGET on target instruction.
2979         (vfy_note_instruction_seen): New function.
2980         * verify-impl.c (FLAG_INSN_SEEN): New define.
2981         (verify_instructions_0): Set flag on instruction.  Save state for
2982         PC=0 later.
2983         (verify_instructions): Call vfy_note_instruction_seen.
2984
2985         * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
2986         (verify_jvm_instructions_new): Call method_init_exceptions,
2987         add_handler, and handle_nested_ranges.
2988         * verify-impl.c (verify_method): Return 1 on success.
2989         (verify_instructions_0): Save the state at PC=0.
2990
2991         * verify-impl.c (init_type_from_class): Set is_resolved and
2992         ref_next on new ref_intersection.
2993         (init_type_from_string): Likewise.
2994
2995 2004-10-15  Bryce McKinlay  <mckinlay@redhat.com>
2996
2997         * expr.c (expand_bytecode): Use verify_jvm_instructions_new
2998         if flag_new_verifier is set.
2999         * java-tree.h (flag_new_verifier): Declare.
3000         * lang.opt (fnew-verifier): New option.
3001         * verify-impl.c: Work around namespace pollution by undef'ing
3002         'current_class'.
3003         (struct verifier_context): Make 'bytecode' const.
3004         (verify_fail_pc): Pass -1 PC argument to vfy_fail.
3005         (types_compatible): For the BC-ABI, always consider reference types
3006         compatible.
3007         (check_class_constant): Use vfr->current_class.
3008         (check_constant): Likewise.
3009         (check_wide_constant): Likewise.
3010         (check_field_constant): Check for 'L' at start of type name.
3011         (get_one_type): Return pointer instead of type. Set type result in
3012         caller via passed type pointer.
3013         (compute_argument_types): Update to use new get_one_type arguments.
3014         (compute_return_type): Likewise.
3015         (make_verifier_context): New. Allocate and initialize 'vfr'.
3016         (free_verifier_context): New. Free 'vfr' and its contents.
3017         (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
3018         and free_verifier_context.
3019
3020 2004-10-15  Tom Tromey  <tromey@redhat.com>
3021
3022         * verify-glue.c (vfy_note_local_type): Mark argument as unused.
3023         * verify.h (vfy_fail): Fixed formatting.
3024
3025         * verify-impl.c (vfr): Fixed comment formatting.
3026         (collapse_type): New function.
3027         (verify_instructions): Notify compiler about type map.
3028         * verify.h (vfy_note_stack_depth): Updated.
3029         (vfy_note_stack_type): Likewise.
3030         (vfy_note_local_type): Likewise.
3031         (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
3032         Declare.
3033         * verify-glue.c (vfy_note_stack_depth): Correctly size type
3034         state.  Added `method' argument.
3035         (vfy_note_stack_type): Renamed from vfy_note_type.  Added `method'
3036         argument.
3037         (vfy_note_local_type): New function.
3038         (vfy_unsuitable_type): Likewise.
3039         (vfy_return_address_type): Likewise.
3040         (vfy_null_type): Likewise.
3041
3042         * verify.h (VFY_IN_GCC): Removed.
3043         (VFY_WANT_TYPEMAP): Removed.
3044         * verify-impl.c (verify_instructions_0): Removed useless "\".
3045         (struct state) <next>: Uncomment.
3046
3047 2004-10-13  Bryce McKinlay  <mckinlay@redhat.com>
3048
3049         * verify-impl.c: Formatting fixes. Reformat C++-style comments to
3050         C-style.
3051
3052 2004-10-06  Bryce McKinlay  <mckinlay@redhat.com>
3053
3054         * Make-lang.in (verify.o): Re-enabled this target.
3055         * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
3056         (vfy_get_interface): Likewise.
3057         (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
3058         * verify.h (verify_jvm_instructions_new): Declare.
3059         * verify-impl.c (free_state): Temporarily comment out unused
3060         function.
3061
3062 2004-10-06  Tom Tromey  <tromey@redhat.com>
3063
3064         * java-tree.h (JV_STATE_READ): New enum value.
3065
3066 2004-10-06  Bryce McKinlay  <mckinlay@redhat.com>
3067
3068         * verify.h: New file.
3069
3070 2004-10-05  Bryce McKinlay  <mckinlay@redhat.com>
3071
3072         * verify-impl.c, verify-glue.c, verify.h: New files.
3073         * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
3074
3075 2004-09-24  Andrew Haley  <aph@redhat.com>
3076
3077         * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
3078         for a slot if it's of pointer type.
3079
3080 2004-09-14  Tom Tromey  <tromey@redhat.com>
3081
3082         * class.c (make_class_data): Correctly initialize "state" field.
3083         Initialize "engine" field.
3084         * decl.c (java_init_decl_processing): Add "engine" field.
3085
3086 2004-09-10  Andrew Haley  <aph@redhat.com>
3087
3088         PR java/12760
3089         * expr.c (build_invokeinterface): Use fast method for interface
3090         dispatch.
3091         * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
3092         JTI_ITABLE_PTR_TYPE.
3093         (struct lang_type): Add  itable_methods, itable_decl, itable_syms_decl.
3094         (emit_symbol_table): Add new arg, element_size.
3095         * decl.c (java_init_decl_processing): Initialize Class.itable.
3096         * class.c (GEN_TABLE): New macro.
3097         (gen_indirect_dispatch_tables): Use it.  Add itable.
3098         (make_class_data): Add new arg for emit_symbol_table().
3099         Emit itable.
3100         (add_miranda_methods): Make sure search_class has been parsed.
3101         (emit_symbol_table): Add new arg, element_size.
3102
3103 2004-09-06  Andrew Haley  <aph@redhat.com>
3104
3105         * verify.c (merge_types): Return Object for all merges of
3106         interfaces.
3107         * expr.c (add_type_assertion): Don't generate assertions when
3108         source type is array of Object.
3109
3110 2004-09-03  Andrew Haley  <aph@redhat.com>
3111
3112         * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3113
3114         * lang.c (java_post_options): Force flag_verify_invocations if
3115         we're not using indirect dispatch.
3116
3117         * expr.c (pop_type_0): Move test for interfaces before call to
3118         can_widen_reference_to().
3119         (build_signature_for_libgcj): Remove generation of canonical array
3120         type.
3121         (add_type_assertion): Canonicalize both arrays.
3122         Don't assert that type X can be assigned to Object.
3123         Don't assert that type X an be assigned to type X.
3124         Don't assert that Object can be assigned to type X.
3125         (can_widen_reference_to): Warn whenever we generate an assertion.
3126         (process_jvm_instruction): Use throwable_type_node for the type of
3127         an exception class.
3128
3129 2004-09-01  Andrew Haley  <aph@redhat.com>
3130
3131         * decl.c (java_init_decl_processing): Change
3132         verify_identifier_node to "__verify".
3133         * expr.c (add_type_assertion): Use verify_identifier_node for name.
3134         * java-tree.h (verify_identifier_node): Change to "__verify".
3135
3136         * expr.c (build_signature_for_libgcj): New function.
3137         (add_type_assertion): Use it to construct signatures for
3138         source_type and target_type.
3139
3140 2004-08-27  Andrew Haley  <aph@redhat.com>
3141
3142         * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
3143         (verify_identifier_node): New.
3144         (TYPE_VERIFY_METHOD): New.
3145         (struct type_assertion): New type.
3146         * expr.c (type_assertion_eq): New function.
3147         (type_assertion_hash): New function.
3148         (add_type_assertion): New function.
3149         (can_widen_reference_to): Call add_type_assertion().
3150         * decl.c (java_init_decl_processing): Add verify_identifier_node.
3151         * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
3152         (finish_class): Output TYPE_VERIFY_METHOD (type).
3153
3154         * decl.c (end_java_method): Nullify unused fields.
3155
3156 2004-08-17  Andrew Haley  <aph@redhat.com>
3157
3158         * verify.c (defer_merging): Quieten.
3159         * jcf-parse.c (load_class): Only try to open a class file if it's
3160         java.lang.Object or if it's part of the current compilation.
3161         Check that the class we just tried to load is the class we just
3162         loaded.  Quieten.
3163         (java_parse_file): Set flag_verify_invocations off if we're
3164         compiling from .class.
3165         (parse_zip_file_entries): Abort if we try to read a dummy class.
3166         * expr.c (can_widen_reference_to): Quieten.
3167         (build_invokevirtual): Abort if we try to invokevirtual an
3168         interface.
3169         (expand_invoke): Don't build a non-interface call to an interface.
3170         (build_instanceof): Don't do premature optimization if
3171         flag_verify_invocations is not set.
3172         * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
3173         from superclass.
3174         (build_static_field_ref): Add correct type conversion for
3175         field_address.
3176         (add_miranda_methods): Disable generation of Miranda methods for
3177         dummy classes.
3178         (layout_class_method): Don't complain about non-static method
3179         overrides static method with dummy classes.
3180
3181 2004-08-13  Tom Tromey  <tromey@redhat.com>
3182
3183         * class.c (build_static_field_ref): Re-enable atable lookups for
3184         static fields.
3185
3186         * parse.y (strip_out_static_field_access_decl): Indentation fix.
3187
3188 2004-08-11  Tom Tromey  <tromey@redhat.com>
3189
3190         * gcj.texi (libgcj Runtime Properties): Document new properties.
3191
3192 2004-08-06  Andrew Haley  <aph@redhat.com>
3193
3194         * jcf-parse.c (load_class): Check that we really have loaded the
3195         class we're looking for.
3196
3197 2004-07-19  Andrew Haley  <aph@redhat.com>
3198
3199         * verify.c (verify_jvm_instructions): Comment change only.
3200
3201         * typeck.c (build_java_array_type): Add size field to array name.
3202
3203         * java-tree.h (LOCAL_SLOT_P): New.
3204         (update_aliases): Add PC argument.
3205         (pushdecl_function_level): New function.
3206
3207         * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
3208         MODIFY_EXPR, and SAVE_EXPR.
3209         (java_gimplify_modify_expr): New function.
3210
3211         * expr.c (push_type_0): Call find_stack_slot() to create temporary.
3212         (expand_iinc): Pass PC to update_aliases().
3213         (STORE_INTERNAL): Likewise.
3214         (process_jvm_instruction): Likewise.
3215
3216         * decl.c (base_decl_map): New variable.
3217         (uniq): New variable.
3218         (update_aliases): Rewrite with more thorough checking.
3219         (debug_variable_p): New function.
3220         (push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
3221         (check_local_named_variable): Delete whole function.
3222         (initialize_local_variable): New function.
3223         (check_local_unnamed_variable): Add checks and comments.
3224         (find_local_variable): Rewrite.
3225         (java_replace_reference): New function.
3226         (function_binding_level): New variable.
3227         (pushdecl_function_level): New function.
3228         (maybe_pushlevels): Set DECL_LOCAL_END_PC.
3229         (maybe_pushlevels): Call pushdecl() on each of the new decls.
3230         (start_java_method): Reset uniq.  Create base_decl_map.  Set
3231         function_binding_level.
3232         (end_java_method): Null unused fields to save memory.
3233
3234 2004-06-29  Andrew Haley  <aph@redhat.com>
3235
3236         * except.c (expand_start_java_handler): Push a new binding level.
3237         Don't build a TRY_CATCH_EXPR now, we'll do it later.  Call
3238         register_exception_range() to register where we'll do it.
3239         (expand_end_java_handler): Remove old bogus code.  Replace with
3240         new logic that simply builds TRY_CATCH_EXPRs and inserts them at
3241         the top of the expression we're curently building.
3242         (maybe_end_try): Delete.
3243         * decl.c (binding_level.exception_range): New field.
3244         (clear_binding_level): Add field exception_range.  Reformat.
3245         (poplevel): Call expand_end_java_handler().
3246         (poplevel): Call java_add_stmt only if functionbody is false.
3247         (maybe_poplevels): Don't call maybe_end_try() from here.
3248         (end_java_method): Clear no longer used trees in function decl.
3249         (register_exception_range): New function.
3250         * java-tree.h (register_exception_range, struct eh_range): Declare.
3251
3252 2004-06-22  Andrew Haley  <aph@redhat.com>
3253
3254         * class.c (gen_indirect_dispatch_tables): Set the DECL_OWNER of
3255         the otable.
3256         * check-init.c (get_variable_decl): Teach check-init about
3257         FIELD_DECLs addressed via the otable.
3258         * jcf-parse.c (load_class): Check CLASS_LOADED_P, not
3259         CLASS_PARSED_P.
3260
3261 2004-05-28  Andrew Haley  <aph@redhat.com>
3262
3263         * jcf-parse.c (load_class): Don't try to read a class that we've
3264         already read.
3265
3266         * expr.c (build_invokeinterface): Use the old-fashioned way of
3267         doing indirect dispatch: look up interfaces by name.
3268         * java-tree.h (enum java_tree_index): Add
3269         JTI_SOFT_LOOKUPINTERFACEMETHODBYNAME_NODE
3270         * decl.c (java_init_decl_processing): Add
3271         soft_lookupinterfacemethodbyname_node.
3272
3273         * gjavah.c (print_method_info): Final methods have vtable entries,
3274         so gjavah needs to output them.
3275         * class.c (layout_class_method): Generate vtable entries for final
3276         methods.
3277         * parse.y (invocation_mode): Use INVOKE_VIRTUAL for indirect
3278         dispatch, even if a method is final.
3279
3280 2004-05-25  Andrew Haley  <aph@redhat.com>
3281
3282         * class.c (build_symbol_entry): Convert the names of constructors
3283         to init_identifier_node when generating an entry for the indirect
3284         dispatch table.
3285
3286         * expr.c (build_known_method_ref): Generate indirect calls for
3287         all methods marked DECL_EXTERNAL or TREE_PUBLIC.
3288
3289 2004-05-24  Andrew Haley  <aph@redhat.com>
3290
3291         * expr.c (build_known_method_ref): Make sure ARRAY_REF access to
3292         atable element is of the right type.
3293
3294         * class.c (build_static_field_ref): Cast pointer to correct type
3295         for field.
3296
3297 2004-04-20  Bryce McKinlay  <mckinlay@redhat.com>
3298
3299         * Merged with HEAD as of 20040514. Diff against
3300         gcj-abi-2-merge-20040514.
3301
3302 2004-04-16  Andrew Haley  <aph@redhat.com>
3303
3304         * verify.c (check_pending_block): Disable subroutine checks.
3305         (defer_merging): New function.
3306         (merge_types): If types are dummy, use defer_merging to combine them.
3307         (verify_jvm_instructions): If invocation is invokeinterface and
3308         target is dummy, assume target really is an interface.
3309
3310         * parse.y (patch_invoke): Break out call to java_create_object.
3311
3312         * lang.c (flag_verify_invocations): New.
3313
3314         * jcf-parse.c (load_class): If we've already failed to load a
3315         class, don't try again.
3316         (load_class): If we can't find a .class file, don't fail, but emit
3317         a warning.
3318         (parse_class_file): Don't act on dummy methods.
3319
3320         * java-tree.h (flag_verify_invocations): New.
3321         (TYPE_DUMMY): New.
3322         (lang_type.dummy_class): New field.
3323         (java_create_object): New function.
3324         (METHOD_DUMMY): New.
3325
3326         * expr.c (build_field_ref): Widen field offset.
3327         (pop_type_0): If the type in stack_type_map is a TREE_LIST, check
3328         that each of its elements is compatible with the one we're
3329         popping.
3330         (pop_type_0): Issue a warning to say that we need to generate a
3331         runtime check.
3332         (java_create_object): New function.
3333         (build_field_ref): Only generate hard refs if we're not using
3334         indirect dispatch.
3335         (expand_java_field_op): If we're using !verify_invocations and we
3336         see a missing field, generate a decl for it.
3337
3338         (expand_invoke): If a class doesn't have the method we seek and
3339         we're using !flag_verify_invocations, generate a decl for the
3340         method now.
3341
3342         (build_known_method_ref): Always use indirect dispatch via the
3343         atable for static methods.
3344
3345         (expand_java_NEW): Break out object creation into new function,
3346         java_create_object.
3347
3348         (can_widen_reference_to): Issue a warning to say that we need to
3349         generate a runtime check.
3350
3351         * class.c (set_super_info): Inherit TYPE_DUMMY from sureclass.
3352         (make_method_value): Also use index for interfaces.
3353         (make_class_data): Skip dummy field for inherited data.
3354         Don't build method array for dummy methods.
3355         Set size_in_byte to -1 when using inirect dispatch
3356         Don't build a hard class ref if we don't have a hard ref to our
3357         superclass, or if we're using inirect dispatch.
3358         Null out dispatch tables.
3359
3360         (layout_class_method): Don't complain about non-static method
3361         overrides static method is method is artificial.
3362
3363         (build_static_field_ref): Disable atable references to static
3364         fields for the time being.
3365
3366         (layout_class_methods): Check for CLASS_INTERFACE as
3367         well as CLASS_ABSTRACT.
3368
3369 2004-11-24  Steven Bosscher  <stevenb@suse.de>
3370
3371         * class.c (make_class_data): Don't check flag_inline_functions.
3372         * lang.c (flag_really_inline): Remove unused flag.
3373         (java_handle_option): Don't set it here.  Remove special handling
3374         of flag_inline_functions for Java.
3375         (java_init): Don't set flag_inline_trees here.  Already done...
3376         (java_post_options): ...here.  Don't clear flag_inline_functions.
3377
3378 2004-11-24  Steven Bosscher  <stevenb@suse.de>
3379
3380         * java-gimplify.c (java_gimplify_labeled_block_expr): New function.
3381         (java_gimplify_exit_block_expr): New function.
3382         (java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
3383         LABELED_BLOCK_EXPR.
3384         * java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
3385         (EXIT_BLOCK_EXPR): Likewise.
3386         * java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
3387         (LABELED_BLOCK_BODY): Likewise.
3388         (EXIT_BLOCK_LABELED_BLOCK): Likewise.
3389         * jcf-write.c (generate_bytecode_insns): Don't handle the unused
3390         EXIT_BLOCK_RETURN operand.  Use EXIT_BLOCK_LABELED_BLOCK instead of
3391         TREE_OPERAND.
3392         * lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
3393         (java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
3394         EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND.  Don't handle the
3395         second operand of EXIT_BLOCK_EXPR.
3396         * parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
3397         TREE_OPERAND.
3398         (build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
3399
3400 2004-11-23  Ben Elliston  <bje@au.ibm.com>
3401
3402         * xref.h (xref_flag_value): Remove.
3403         (xref_set_data, xref_get_data): Likewise.
3404         (xref_set_current_fp): Likewise.
3405         (XREF_NONE): Likewise.
3406         (XREF_GET_DATA): Likewise.
3407         * xref.c (xref_flag_value): Remove.
3408         (xref_set_data, xref_get_data): Likewise.
3409         (xref_set_current_fp): Likewise.
3410
3411 2004-11-23  Ben Elliston  <bje@au.ibm.com>
3412
3413         * gjavah.c (output_directory): Make static.
3414         (temp_directory): Likewise.
3415
3416 2004-11-15  Tom Tromey  <tromey@redhat.com>
3417
3418         * decl.c (instn_ptr_type_node): Removed.
3419         (lineNumbers_ptr_type_node): Removed.
3420         (jint_type): Removed.
3421         (jint_ptr_type): Removed.
3422
3423 2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
3424
3425         PR java/15576
3426         * check-init.c (check_init): Ignore DECL_EXPR.
3427         * expr.c (always_initialize_class_p): Reenable.
3428         (build_class_init): Use a variable to store the decl.  Also use
3429         boolean_false_node instead of integer_zero_node.
3430         * parse.y (attach_init_test_initialization_flags): Add a decl_expr
3431         to the block.
3432
3433 2004-11-08  Tom Tromey  <tromey@redhat.com>
3434
3435         PR java/16843:
3436         * gjavah.c (HANDLE_END_FIELD): Call print_field_info when
3437         generating a JNI header.
3438         (print_field_info): Handle JNI headers.
3439         (jni_print_float): Likewise.
3440         (jni_print_double): Likewise.
3441
3442 2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
3443
3444         * decl.c (end_java_method): Remove duplicated code.
3445
3446 2004-11-06  Zack Weinberg  <zack@codesourcery.com>
3447             Gerald Pfeifer  <gerald@pfeifer.com>
3448