OSDN Git Service

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