OSDN Git Service

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