OSDN Git Service

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