OSDN Git Service

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