OSDN Git Service

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