OSDN Git Service

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