OSDN Git Service

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