OSDN Git Service

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