OSDN Git Service

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