OSDN Git Service

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