OSDN Git Service

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