OSDN Git Service

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