OSDN Git Service

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