1 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3 * Make-lang.in (jvspec.o): Fix dependencies.
5 2008-07-06 Tom Tromey <tromey@redhat.com>
7 * Make-lang.in (java/parse.o-warn): Remove.
8 (java/jcf-io.o-warn): Remove.
10 2008-07-05 Tom Tromey <tromey@redhat.com>
12 * jcf-io.c: Don't include fnmatch.h. Don't use JCF_USE_SCANDIR.
13 (compare_path): Remove.
14 (java_or_class_file): Likewise.
15 (memoized_dirlist_entry): Likewise.
16 (memoized_dirlist_hash): Likewise.
17 (memoized_dirlist_lookup_eq): Likewise.
18 (memoized_dirlists): Likewise.
19 (caching_stat): Likewise.
20 (find_class): Use stat.
21 * jcf.h (JCF_USE_SCANDIR): Remove.
23 2008-06-30 Joshua Sumali <jsumali@redhat.com>
25 * Make-lang.in (JAVA_MANFILES): Add doc/aot-compile.1 and
27 (java.uninstall): Likewise.
28 (java.maintainer-clean): Likewise.
29 (aot-compile.pod): New rule.
30 (rebuild-gcj-db.pod): New rule.
31 (java.install-man): Install doc/aot-compile.1 and doc/rebuild-gcj-db.1
32 * gcj.texi: Add new sections for aot-compile and rebuild-gcj-db.
34 2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
36 * Make-lang.in (java/jcf-io.o-warn): New.
38 2008-06-24 Tom Tromey <tromey@redhat.com>
40 * jcf-path.c (jcf_path_init): Don't name variable 'try'.
41 * expr.c (add_type_assertion): Rename argument.
42 (build_java_arrayaccess): Don't name variable 'throw'.
43 (ARRAY_NEW_MULTI): Don't name variable 'class'.
44 * jcf-io.c (find_class): Don't name variable 'class'.
45 * mangle.c (compression_table_add): Don't name variable 'new'.
46 * constants.c (cpool_for_class): Rename argument.
47 (alloc_constant_fieldref): Likewise.
48 * jcf-parse.c (handle_innerclass_attribute): Don't name variable
50 (read_class): Likewise.
51 (parse_zip_file_entries): Likewise.
52 (process_zip_dir): Likewise.
53 * decl.c (java_mark_class_local): Rename argument.
54 * class.c (GEN_TABLE): Use type_name, not typename.
55 (gen_indirect_dispatch_tables): Likewise.
56 (add_field): Rename argument.
57 (is_compiled_class): Likewise.
58 (safe_layout_class): Likewise.
59 (emit_assertion_table): Likewise.
60 * typeck.c (has_method): Rename argument.
62 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
64 * class.c (ident_subst, mangled_classname, unmangle_classname,
65 gen_indirect_dispatch_tables, add_method_1,
66 build_fieldref_cache_entry, make_local_function_alias,
67 layout_class, java_treetreehash_find, java_treetreehash_new,
68 split_qualified_name): Fix for -Wc++-compat.
69 * constants.c (set_constant_entry, cpool_for_class): Likewise.
70 * decl.c (make_binding_level, java_dup_lang_specific_decl,
71 start_java_method): Likewise.
72 * except.c (prepare_eh_table_type): Likewise.
73 * expr.c (type_assertion_hash, note_instructions): Likewise.
74 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC,
75 MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
76 * jcf-io.c (jcf_filbuf_from_stdio, opendir_in_zip, find_class):
78 * jcf-parse.c (reverse, java_read_sourcefilenames,
79 annotation_grow, rewrite_reflection_indexes, java_parse_file,
80 process_zip_dir): Likewise.
81 * jcf-path.c (add_entry, add_path, jcf_path_init,
82 jcf_path_extdirs_arg): Likewise.
83 * jcf-reader.c (jcf_parse_constant_pool): Likewise.
84 * jvgenmain.c (do_mangle_classname): Likewise.
85 * lang.c (put_decl_string): Likewise.
86 * verify-impl.c (make_state_copy, make_state, add_new_state):
89 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
91 * gcj.texi: Expand TABs, remove whitespace from blank lines.
93 2008-06-14 Tom Tromey <tromey@redhat.com>
96 * class.c (build_class_ref): Initialize this_classdollar when
99 2008-05-23 Andrew Haley <aph@redhat.com>
101 * jcf-parse.c (give_name_to_class): Call find_sourcefile to find full
102 pathname of source file.
104 2008-05-12 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
106 * jcf-dump.c (print_constant): Use
107 HOST_LONG_LONG_FORMAT.
109 2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
111 * decl.c (java_init_decl_processing): Change DECL_IS_PURE to
114 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
116 * class.c (build_utf8_ref): Don't set TREE_INVARIANT.
117 (build_classdollar_field): Don't set TREE_INVARIANT.
118 (get_dispatch_table): Don't set TREE_INVARIANT.
119 (make_class_data): Don't set TREE_INVARIANT.
120 (build_symbol_entry): Don't set TREE_INVARIANT.
121 (emit_symbol_table): Don't set TREE_INVARIANT.
122 * constants.c (build_constant_data_ref): Don't set TREE_INVARIANT.
123 (build_ref_from_constant_pool): Don't set TREE_INVARIANT.
124 * resource.c (compile_resource_data): Don't set TREE_INVARIANT.
125 * expr.c (cache_cpool_data_ref): Don't set TREE_INVARIANT.
127 2008-04-03 Tom Tromey <tromey@redhat.com>
129 * Make-lang.in (java_OBJS): New variable.
131 2008-04-03 Paolo Bonzini <bonzini@gnu.org>
133 * java-tree.h (insert_block): Kill.
134 * decl.c (insert_block): Kill.
136 2008-04-01 Joseph Myers <joseph@codesourcery.com>
138 * gcj.texi: Include gpl_v3.texi instead of gpl.texi
139 * Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
142 2008-03-27 Tom Tromey <tromey@redhat.com>
144 * Make-lang.in: Revert automatic dependency patch.
146 2008-03-25 Tom Tromey <tromey@redhat.com>
148 * Make-lang.in: Removed most explicit .o targets.
149 (java/jvspec.o): Reduce to variable setting. Moved to java/.
150 ($(GCJ)$(exeext)): Update.
151 (JAVA_OBJS): New variable.
152 (JCFDUMP_OBJS): Reformat.
153 (java_OBJS): New variable.
154 (java/jvspec.o-warn): Update.
155 (java/parse.o-warn): Remove.
156 (JAVA_TREE_H): Remove.
157 (java/jcf-io.o): Reduce to variable setting.
158 (ALL_CPPFLAGS): Likewise.
160 2008-03-12 Paolo Bonzini <bonzini@gnu.org>
162 * mangle.c (java_mangle_decl): Remove dead check.
164 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
166 * jcf-parse.c (java_parse_file): Assert binding levels are
168 * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
171 2008-03-02 Jakub Jelinek <jakub@redhat.com>
173 * jcf-dump.c (version): Update copyright notice dates.
175 2008-02-29 Tom Tromey <tromey@redhat.com>
177 * expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
179 * java-tree.h (struct lang_decl_func): Remove obsolete comment.
181 2008-02-26 Tom Tromey <tromey@redhat.com>
183 * lang.c (java_post_options): Remove conditional.
184 * expr.c (expand_byte_code): Remove old location code.
185 * jcf-parse.c (set_source_filename): Remove old location code.
186 (give_name_to_class): Likewise.
187 (jcf_parse): Likewise.
188 (duplicate_class_warning): Likewise.
189 (parse_class_file): Likewise.
190 (java_parse_file): Likewise.
191 * decl.c (finish_method): Remove old location code.
192 * class.c (push_class): Remove old location code.
194 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
197 * Make-lang.in (jc1): Add $(GMPLIBS).
199 2008-01-23 David Daney <ddaney@avtrex.com>
201 * class.c (hide) Rename to...
202 (java_hide_decl) ... this throughout, and make public.
203 * resource.c (Jr_count): Remove.
204 (compile_resource_data): Call java_mangle_resource_name to generate
205 decl name. Make resource decl public and hidden.
206 * mangle.c (java_mangle_resource_name): New function.
207 * java-tree.h (java_hide_decl, java_mangle_resource_name): Declare
210 2008-01-04 Andrew Haley <aph@redhat.com>
213 * jcf-parse.c (parse_zip_file_entries): Move decl to compile on
216 2008-01-03 Andrew Haley <aph@redhat.com>
219 * jcf-parse.c (parse_zip_file_entries): Unset TYPE_ALIAS_SET if
220 we're about to re-layout the type.
222 2007-12-20 Alexandre Oliva <aoliva@redhat.com>
224 * lang.c (java_classify_record): Don't return
225 RECORD_IS_INTERFACE for now.
227 2007-12-18 Andrew Haley <aph@redhat.com>
230 * jcf-parse.c (java_parse_file): Remove call to
231 java_mark_class_local.
232 (parse_class_file): Reinstate call to java_mark_class_local here.
233 * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
234 already set, call java_mangle_decl() and make_decl_rtl() to
235 rewrite its name as a hidden alias.
237 2007-12-15 Alexandre Oliva <aoliva@redhat.com>
240 * lang.c (java_classify_record): New.
241 (LANG_HOOKS_CLASSIFY_RECORD): Override.
243 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
246 * decl.c (finish_method): Pass 'false' for the new
247 allocate_struct_function parameter.
249 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
251 * expr.c (build_jni_stub): Use the computed jni func type for
254 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
256 * class.c (JAVA_TREEHASHHASH_H): Use TYPE_UID.
258 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
260 * expr.c (type_assertion_hash): Hash type uids rather than
263 2007-11-17 David Daney <ddaney@avtrex.com>
264 Andrew Haley <aph@redhat.com>
266 * constants.c (build_constants_constructor): Use POINTER_SIZE
267 insead of BITS_PER_WORD in big-endian work around.
269 2007-11-07 Tom Tromey <tromey@redhat.com>
272 * gcj.texi (Input Options): Add missing noun.
274 2007-11-02 Tom Tromey <tromey@redhat.com>
277 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
278 * zipfile.h (ZIPEMPTYMAGIC): New define.
280 2007-11-01 Tom Tromey <tromey@redhat.com>
282 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
283 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
284 (java/jcf-io.o): Depend on zipfile.h.
286 2007-10-17 Richard Guenther <rguenther@suse.de>
288 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
291 2007-10-03 Andrew Haley <aph@redhat.com>
294 * class.c (mangled_classname): Detect and replace illegal
295 characters in assembly language symbols.
296 (gen_indirect_dispatch_tables): Call mangled_classname() on
299 2007-09-27 Jakub Jelinek <jakub@redhat.com>
301 * lang.c (java_print_error_function): Add third argument.
303 2007-09-15 Tom Tromey <tromey@redhat.com>
305 * java-tree.h (struct lang_decl_func) <function_decl_body>:
307 <init_final>: Likewise.
308 * lang.c (java_dump_tree): Update.
309 * java-tree.h (DECL_FUNCTION_BODY): Remove.
311 2007-09-11 Jan Hubicka <jh@suse.cz>
313 * decl.c (java_expand_body): Kill.
314 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
316 2007-09-06 Tom Tromey <tromey@redhat.com>
318 * jcf-parse.c (parse_class_file): Re-enter the current file.
320 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
322 * boehm.c (mark_reference_fields): Move misaligned pointer check
323 after JREFERENCE_TYPE_P test
325 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
327 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
328 if pointer is misaligned.
330 2007-09-06 Tom Tromey <tromey@redhat.com>
332 * lang.c (java_post_options): Update.
333 * jcf-parse.c (set_source_filename): Update.
334 (give_name_to_class): Update.
336 (duplicate_class_warning): Update.
337 (parse_class_file): Update.
338 (java_parse_file): Update.
339 * expr.c (expand_byte_code): Update.
341 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
343 * decl.c (finish_method): Use set_cfun.
345 2007-09-04 Andrew Haley <aph@redhat.com>
347 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
348 when using the ARM EABI.
350 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
352 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
354 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
356 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
358 * jcf.h (JCF_FINISH): Likewise.
360 2007-08-28 Tom Tromey <tromey@redhat.com>
362 * Make-lang.in (java.tags): Don't tag '*.y' files.
364 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
366 * lang.c (java_decl_ok_for_sibcall): Likewise.
368 2007-08-21 Paul Brook <paul@codesourcery.com>
369 Nathan Sidwell <nathan@codesourcery.com>
370 Mark Mitchell <mark@codesourcery.com>
371 Joseph Myers <joseph@codesourcery.com>
373 * jcf-dump.c (version): Use pkgversion_string. Update copyright
376 2007-08-20 Richard Guenther <rguenther@suse.de>
378 * lang.c (java_tree_inlining_walk_subtrees): Remove.
379 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
381 2007-08-17 Tom Tromey <tromey@redhat.com>
383 * typeck.c (find_method_in_interfaces): Update.
384 * jcf-parse.c (load_class): Update.
385 * java-gimplify.c (java_gimplify_component_ref): Removed.
386 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
388 (java_gimplify_expr): Update.
389 * decl.c (java_init_decl_processing): Update.
390 * class.c (set_constant_value): Update.
391 (make_class_data): Update.
392 (finish_class): Update.
393 (build_static_field_ref): Update.
394 (is_compiled_class): Update.
395 (maybe_layout_super_class): Update.
396 (layout_class): Update.
397 (layout_class_method): Update.
398 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
399 (lang_decl_var) <am, final_iud, cif>: Removed fields.
400 (lang_decl_func) <init_calls_this>: Removed field.
401 (lang_type) <dot_class, verify_method>: Removed fields.
402 (FIELD_NESTED_ACCESS): Removed.
403 (FIELD_NESTED_ACCESS_P): Removed.
404 (DECL_FIELD_FINAL_IUD): Removed.
405 (DECL_LOCAL_FINAL_IUD): Removed
406 (LOCAL_FINAL_P): Removed.
407 (FINAL_VARIABLE_P): Removed.
408 (CLASS_FINAL_VARIABLE_P): Removed.
409 (DECL_BIT_INDEX): Removed.
410 (DECL_INIT_CALLS_THIS): Removed.
411 (FIELD_LOCAL_ALIAS): Removed.
412 (FIELD_LOCAL_ALIAS_USED): Removed.
413 (FIELD_THISN): Removed.
414 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
415 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
416 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
417 (TYPE_DOT_CLASS): Removed.
418 (TYPE_VERIFY_METHOD): Removed.
419 (ID_CLASSDOLLAR_P): Removed.
420 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
422 (classdollar_identifier_node): Removed.
423 (TYPE_UNKNOWN): Removed.
424 (CLASS_FROM_SOURCE_P): Removed.
425 * expr.c (build_jni_stub): Update.
426 (force_evaluation_order): Update.
427 (build_java_empty_stmt): Update.
428 (build_class_init): Update.
429 (java_stack_swap): Update.
430 (build_jni_stub): Update.
432 2007-08-17 Tom Tromey <tromey@redhat.com>
434 * java-tree.h (LABEL_TYPE_STATE): Removed.
435 (load_type_state): Removed.
437 (LABEL_VERIFIED): Removed.
438 (type_states): Declare.
439 * expr.c (type_states): New global.
440 (load_type_state): Now static. Use type_states. Changed
442 (lookup_label): Don't set LABEL_PC.
443 (expand_byte_code): Don't use LABEL_VERIFIED.
444 (note_instructions): Initialize type_states.
445 * verify-glue.c (vfy_note_stack_depth): Rewrote.
446 (vfy_note_stack_type): Use type_states.
447 (vfy_note_local_type): Likewise.
449 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
451 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
452 * jcf.h (JCF_FINISH): Likewise.
454 2007-07-31 Nick Clifton <nickc@redhat.com>
456 * java-gimplify.c: Change copyright header to refer to version 3
457 of the GNU General Public License and to point readers at the
458 COPYING3 file and the FSF's license web page.
459 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
460 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
461 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
462 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
463 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
464 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
465 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
467 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
469 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
471 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
473 * lang.c (java_get_callee_fndecl): Constify.
475 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
477 * mangle.c (set_type_package_list): Constify.
478 * verify-glue.c (vfy_make_string): Delete.
479 * verify.h (vfy_make_string): Likewise.
481 2007-07-26 Tom Tromey <tromey@redhat.com>
483 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
484 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
485 EXIT_BLOCK_LABELED_BLOCK): Likewise.
486 * lang.c (java_tree_inlining_walk_subtrees): Update.
487 (java_dump_tree): Likewise.
488 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
490 * decl.c (push_labeled_block, pop_labeled_block): Remove.
491 * java-gimplify.c (java_gimplify_labeled_block_expr,
492 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
493 (java_gimplify_expr): Update.
495 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
497 * class.c (java_treetreehash_hash, java_treetreehash_compare):
499 * expr.c (type_assertion_eq): Likewise.
500 * jcf-io.c (compare_path): Likewise.
501 * jcf-parse.c (cmpstringp): Likewise.
502 * verify-impl.c (get_one_type, compute_argument_types,
503 compute_return_type): Likewise.
505 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
509 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
511 2007-07-12 Richard Guenther <rguenther@suse.de>
513 * expr.c (expand_java_return): RETURN_EXPR has void type.
514 (build_jni_stub): Likewise. Use a comparison against zero
515 for null-pointer test in COND_EXPR.
516 (build_field_ref): Build POINTER_PLUS_EXPR with correct
517 type. Convert result instead.
518 (build_invokevirtual): Likewise.
520 2007-07-09 Geoffrey Keating <geoffk@apple.com>
523 * lang.c (java_init): Remove setting of force_align_functions_log.
524 * class.c (add_method_1): Set DECL_ALIGN of non-static method
525 to cope with ptrmemfunc_vbit_in_pfn.
527 2007-07-03 David Daney <ddaney@avtrex.com>
529 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
533 (java/index.html): Same.
535 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
537 * class.c (make_class_data): Build the index in sizetype.
538 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
539 adding to a pointer type.
540 (build_symbol_entry): Likewise.
541 * expr.c (build_java_arrayaccess): Likewise.
542 (build_field_ref): Likewise.
543 (build_known_method_ref): Likewise.
544 (build_invokevirtual): Likewise.
545 * except.c (build_exception_object_ref): Do a
546 NEGATIVE and then a POINTER_PLUS_EXPR instead
549 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
551 * typeck.c (java_signed_type): Remove.
552 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
553 * java-tree.h (java_signed_type): Remove.
555 2007-05-18 Geoffrey Keating <geoffk@apple.com>
557 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
558 (print_constant): Likewise.
560 2007-05-14 Rafael Avila de Espindola <espindola@google.com>
562 * expr.c (build_java_binop): Use unsigned_type_for instead of
564 * java-tree.h (java_unsigned_type): Remove.
565 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
566 * typeck.c (java_unsigned_type): Remove.
568 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
570 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
571 instead of checking GIMPLE_STMT_P in chain_next.
573 2007-04-06 Colin Walters <walters@redhat.com>
575 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
576 * jcf-io.c (open_class): Copy 'filename'.
578 2007-04-03 Andrew Haley <aph@redhat.com>
580 * jvgenmain.c (main): Change main to use class$, not class$$.
581 (do_mangle_classname): Likewise.
582 * class.c (hide): New function.
583 (add_field): Hide everything that shouldn't be visible outside a
585 (build_static_class_ref): Likewise.
586 (build_classdollar_field): Likewise.
587 (make_class_data): Likewise.
588 (layout_class_method): Likewise.
589 * expr.c (special_method_p): New function.
591 * class.c (push_class): Don't bogusly guess the source filename.
592 * jcf-parse.c (give_name_to_class): Don't set input_location from
593 DECL_ARTIFICIAL decls.
595 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
597 * typeck.c (java_signed_or_unsigned_type): Removed.
598 (java_signed_type): use get_signed_or_unsigned_type instead of
599 java_signed_or_unsigned_type.
600 (java_unsigned_type): Ditto.
601 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
602 * java-tree.h (java_signed_or_unsigned_type): Removed.
604 2007-03-26 Tom Tromey <tromey@redhat.com>
606 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
607 (java.maintainer-clean): Likewise.
608 (java.install-man): Likewise.
609 (.INTERMEDIATE): Removed grmiregistry.pod.
610 (grmiregistry.pod): Removed.
611 * gcj.texi (Invoking gcjh): Removed.
612 (Invoking gjnih): Likewise.
613 (Invoking grmiregistry): Likewise.
616 (which-gcj): Removed.
618 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
620 * Make-lang.in: Add install-pdf target as copied from
621 automake v1.10 rules.
623 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
625 * gcj.texi: Standardize title page.
627 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
629 * class.c: Fix a comment typo.
631 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
632 Brooks Moses <brooks.moses@codesourcery.com>
633 Lee Millward <lee.millward@codesourcery.com>
635 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
637 (BUILD_MONITOR_EXIT): Likewise.
639 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
640 (java_gimplify_modify_expr): Likewise.
642 * class.c (cache_this_class_ref): Use build_call_expr.
643 (build_static_field_ref): Likewise.
644 (emit_indirect_register_classes): Likewise.
645 (emit_register_classes): Likewise.
647 * resource.c (write_resource_constructor): Use build_call_expr.
649 * builtins.c (builtin_creator_function): Change interpretation of
650 the second parameter to be the whole CALL_EXPR instead of the arglist.
651 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
652 (min_builtin): Likewise.
653 (abs_builtin): Likewise.
654 (java_build_function_call_expr): Likewise.
655 (convert_real): Likewise.
656 (UNMARSHAL3): Likewise.
657 (UNMARSHAL4): Likewise.
658 (UNMARSHAL5): Likewise.
659 (build_arglist_for_builtin): Delete. Fix callers to use
660 build_call_expr instead.
661 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
663 (compareAndSwapInt_builtin): Likewise.
664 (compareAndSwapLong_builtin): Likewise.
665 (compareAndSwapObject_builtin): Likewise.
666 (putVolatile_builtin): Likewise.
667 (getVolatile_builtin): Likewise.
668 (VMSupportsCS8_builtin): Likewise.
669 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
672 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
673 (build_java_throw_out_of_bounds_exception): Likewise.
674 (java_check_reference): Likewise.
675 (build_java_arraystore_check): Likewise.
676 (build_newarray): Likewise.
677 (build_anewarray): Likewise.
678 (expand_java_multinewarray): Use build_call_list instead of build3.
679 (build_java_monitor): Use build_call_nary instead of build3.
680 (java_create_object): Likewise.
681 (expand_java_NEW): Likewise.
682 (build_instanceof): Likewise.
683 (expand_java_CHECKCAST): Likewise.
684 (build_java_soft_divmod): Likewise.
685 (build_java_binop): Likewise.
686 (build_field_ref): Likewise.
687 (build_class_init): Likewise.
688 (rewrite_arglist_getcaller): Use build_call_expr.
689 (build_invokeinterface): Use build_call_nary instead of build3.
690 (expand_invoke): Use build_call_list instead of build3.
691 (build_jni_stub): Use build_call_nary, build_call_list, or
692 build_call_expr instead of build3.
693 (expand_java_field_op): Use build_call_expr instead of build3.
694 (force_evaluation_order): Use new CALL_EXPR accessors.
696 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
698 2007-02-15 David Daney <ddaney@avtrex.com>
700 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
701 (java.maintainer-clean):Add gc-analyze.1.
702 (.INTERMEDIATE): Add gc-analyze.pod.
703 (gc-analyze.pod): New rule.
704 (java.install-man): Install gc-analyze.1
705 * gcj.texi: Add new section for the gc-analyze program.
707 2007-02-07 Andrew Haley <aph@redhat.com>
709 * class.c (uncache_this_class_ref): New.
710 * expr.c (build_jni_stub): Initialize the class.
711 (expand_byte_code): Call uncache_this_class_ref after generating
714 2007-02-06 Tom Tromey <tromey@redhat.com>
717 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
719 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
721 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
723 2007-02-02 Andrew Haley <aph@redhat.com>
725 * expr.c (expand_byte_code): Call cache_this_class_ref() and
726 cache_cpool_data_ref().
727 Set TYPE_CPOOL_DATA_REF.
728 (cache_cpool_data_ref): New function.
729 * constants.c (build_ref_from_constant_pool): Remove special-case
730 code for flag_indirect_classes.
731 (build_constant_data_ref): Move special-case code for
732 flag_indirect_classes here from build_ref_from_constant_pool.
733 * decl.c (finish_method): Move class initialization from here to
734 cache_this_class_ref.
735 * class.c (cache_this_class_ref): New function.
736 (build_class_ref): Use this_classdollar for the ouput class.
738 2007-02-02 David Daney <ddaney@avtrex.com>
740 * class.c (is_compiled_class): Move check to avoid reloading
742 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
745 2007-02-01 Andrew Haley <aph@redhat.com>
748 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
750 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
752 * class.c, jcf-parse.c: Fix comment typos.
754 2007-01-30 Tom Tromey <tromey@redhat.com>
756 * gcj.texi (Strings): Fix documentation for JvNewString.
758 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
760 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
763 2007-01-30 Ben Elliston <bje@au.ibm.com>
765 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
767 2007-01-29 Tom Tromey <tromey@redhat.com>
770 * jvspec.c (lang_specific_driver): Handle separate -I argument.
771 * lang.opt (-I): Add 'Separate'.
773 2007-01-29 Andrew Haley <aph@redhat.com>
775 * class.c (add_method_1): Mark fndecl as external unless we are
776 compiling it into this object file.
778 2007-01-24 Andrew Haley <aph@redhat.com>
780 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
781 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
783 2007-01-22 Andrew Haley <aph@redhat.com>
785 * builtins.c (VMSupportsCS8_builtin): New function.
787 2007-01-23 Andrew Pinski <pinskia@gmail.com>
790 * jcf-io.c (opendir_in_zip): Close the file
791 and free zipf before returning after an error.
793 2007-01-16 Tom Tromey <tromey@redhat.com>
795 * java-tree.def: Added copyright header.
797 2007-01-15 Tom Tromey <tromey@redhat.com>
799 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
801 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
803 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
804 (EXPR_WFL_NODE): Likewise.
805 (EXPR_WFL_LINECOL): Likewise.
806 (EXPR_WFL_FILENAME): Likewise.
807 (EXPR_WFL_LINENO): Likewise.
808 (build_expr_wfl, expr_add_location): Don't declare.
809 (build_unknown_wfl): Removed.
810 (EXPR_WFL_FILENAME_NODE): Removed.
811 (EXPR_WFL_COLNO): Removed.
812 (EXPR_WFL_SET_LINECOL): Removed.
813 (DECL_FUNCTION_WFL): Removed.
814 (DECL_FIELD_FINAL_WFL): Removed.
815 (struct lang_decl_func) <wfl>: Removed field.
816 <called_constructor>: Likewise.
817 <inner_access>: Likewise.
818 (struct lang_decl_var) <wfl>: Removed field.
819 (DECL_CONSTRUCTOR_CALLS): Removed.
820 (DECL_FUNCTION_ACCESS_DECL): Likewise.
821 (DECL_FUNCTION_INNER_ACCESS): Likewise.
822 (DECL_SPECIFIC_COUNT): Likewise.
823 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
824 * expr.c (build_expr_wfl): Removed.
825 (expr_add_location): Likewise.
827 2007-01-12 Tom Tromey <tromey@redhat.com>
829 * jcf-dump.c (main): Updated call to find_class.
830 * lang.c (java_init): Removed dead code.
831 * jcf-parse.c (read_class): Don't use java_source field. Removed
833 (parse_zip_file_entries): Don't use java_source field.
834 (process_zip_dir): Likewise.
835 (jcf_parse): Removed dead code.
836 (java_parse_file): Likewise.
837 (read_class): Updated call to find_class.
838 * jcf-io.c (find_class): Don't use java_source field. Removed
839 'source_ok' argument, .java logic.
840 * jcf.h (JCF) <java_source>: Removed field.
841 (JCF_ZERO): Updated. (find_class): Updated.
842 * decl.c: Removed dead code.
843 * class.c: Removed dead code.
845 2007-01-11 Tom Tromey <tromey@redhat.com>
847 * typeck.c (convert): Don't use flag_emit_class_files.
848 * lang.c (java_post_options): Don't use flag_emit_class_files.
849 (java_handle_option): Don't use flag_extraneous_semicolon or
851 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
852 flag_emit_class_files.
853 (load_class): Likewise.
854 * java-tree.h (flag_emit_class_files): Don't declare.
855 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
856 (flag_extraneous_semicolon): Don't declare.
857 (flag_not_overriding): Likewise.
858 (flag_static_local_jdk1_1): Likewise.
859 (flag_redundant): Likewise.
860 * expr.c (build_newarray): Don't use flag_emit_class_files.
861 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
862 flag_emit_class_files.
863 (build_class_ref): Likewise.
864 * builtins.c (check_for_builtin): Don't use
865 flag_emit_class_files.
867 2007-01-10 Tom Tromey <tromey@redhat.com>
869 * lang.c (java_can_use_bit_fields_p): Removed.
870 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
872 2007-01-09 Andrew Haley <aph@redhat.com>
874 * expr.c (build_java_arrayaccess): Rewrite to generate array
875 access in canonical form.
876 (expand_java_arraystore): Use build_fold_addr_expr() on address of
879 2007-01-03 Andrew Haley <aph@redhat.com>
882 * expr.c (expand_java_field_op): If we're initializing a field's
883 declaring interface we should not also initialize the class
884 context in which it was referenced.
886 2007-01-02 Tom Tromey <tromey@redhat.com>
888 * java-tree.h (compiling_from_source, current_encoding,
889 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
890 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
891 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
892 JTI_WFL_OPERATOR): Removed
893 (finit_identifier_node, instinit_identifier_node,
894 length_identifier_node, super_identifier_node,
895 continue_identifier_node, access0_identifier_node, wfl_operator):
897 (cyclic_inheritance_report,
898 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
899 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
900 DECL_FIXED_CONSTRUCTOR_P): Removed.
901 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
903 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
904 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
905 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
906 import_list, import_demand_list>: Removed.
907 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
908 cxx_keyword_p): Removed.
909 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
910 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
911 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
912 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
913 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
914 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
915 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
916 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
917 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
918 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
919 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
920 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
921 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
922 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
923 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
924 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
925 java_parse_abort_on_error, extract_field_decl): Removed.
927 * lang.c: (compiling_from_source, current_encoding): Removed.
928 (java_handle_option): Ignore -fencoding.
929 * parse.h: Don't include lex.h.
930 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
931 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
932 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
933 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
934 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
935 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
936 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
937 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
938 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
939 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
940 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
941 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
942 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
943 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
944 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
945 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
946 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
947 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
948 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
949 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
950 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
951 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
952 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
953 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
954 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
955 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
956 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
957 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
958 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
959 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
960 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
961 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
962 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
963 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
964 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
965 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
966 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
967 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
968 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
969 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
970 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
971 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
972 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
973 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
974 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
975 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
976 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
977 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
978 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
979 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
980 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
981 SET_CPC_STATIC_INITIALIZER_STMT,
982 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
983 java_complete_class, java_check_circular_reference,
984 java_fix_constructors, java_layout_classes, java_reorder_fields,
985 java_method_add_stmt, java_get_line_col, reset_report,
986 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
987 java_finish_classes, ctxp, ctxp_for_generation,
988 ctxp_for_generation_last): Removed.
989 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
990 * mangle.c (utf8_cmp): New function.
991 (cxx_keywords): New global.
992 (cxx_keyword_p): New function.
993 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
994 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
995 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
996 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
997 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
998 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
999 * Make-lang.in (java.srcextra): Do nothing.
1000 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
1001 (JAVA_OBJS): Don't mention deleted files.
1002 (java.mostlyclean): Likewise.
1003 (java.clean): Likewise.
1004 (JAVA_LEX_C): Removed.
1005 (buffer.o, check-init.o, parse.o): Remove unused targets.
1006 (typeck.o): Updated.
1007 * jcf-parse.c (read_class): Comment out unused code.
1008 (java_layout_seen_class_methods): New function.
1009 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
1011 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
1012 (init_jcf_parse): Removed.
1013 * config-lang.in (gtfiles): Remove deleted files.
1014 * decl.c (java_init_decl_processing): Don't initialize
1015 finit_identifier_node, instinit_identifier_node,
1016 length_identifier_node, super_identifier_node,
1017 continue_identifier_node, access0_identifier_node. Don't call
1019 * class.c (cyclic_inheritance_report): New global.
1020 (add_method_1): Don't use
1021 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
1022 (maybe_layout_super_class): Comment out code.
1023 (safe_layout_class): New function.
1024 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
1025 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
1026 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
1027 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
1028 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
1029 (java_gimplify_case_expr): Removed.
1030 (java_gimplify_default_expr): Likewise.
1031 (java_gimplify_new_array_init): Likewise.
1033 * keyword.gperf, keyword.h: Removed.
1034 * chartables.h: Removed.
1035 * check-init.c: Removed.
1036 * buffer.c, buffer.h: Removed.
1037 * convert.h: Removed.
1038 * gen-table.pl: Removed.
1039 * lex.c, lex.h: Removed.
1041 2007-01-02 Andrew Haley <aph@redhat.com>
1043 * expr.c (expand_java_arraystore): Make sure we perform a bounds
1044 check at runtime before we perform a type check.
1046 2006-12-19 Andrew Haley <aph@redhat.com>
1048 * decl.c: Bump minor BC ABI version.
1050 2006-12-13 Gary Benson <gbenson@redhat.com>
1052 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
1054 2006-12-12 Tom Tromey <tromey@redhat.com>
1056 * lang-specs.h: Pass -M options to jc1.
1057 * jcf-depend.c (jcf_dependency_add_file): Don't emit
1060 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
1062 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
1064 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
1066 * lang-specs.h: Pass '%U'-based options as separate arguments.
1068 2006-12-05 Tom Tromey <tromey@redhat.com>
1071 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
1073 * class.c (add_field): Handle ACC_SYNTHETIC.
1074 (add_method_1): Likewise. Handle bridge and varargs.
1075 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
1077 (set_class_decl_access_flags): Handle synthetic and annotation.
1078 * java-tree.h (METHOD_BRIDGE): New macro.
1079 (METHOD_VARARGS): Likewise.
1080 (TYPE_SYNTHETIC): Likewise.
1081 (TYPE_ANNOTATION): Likewise.
1082 (lang_type): New fields 'synthetic' and 'annotation'.
1083 (lang_decl_func): New fields 'varargs' and 'bridge'.
1085 2006-12-04 Andrew Haley <aph@redhat.com>
1087 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
1090 2006-11-29 Gary Benson <gbenson@redhat.com>
1092 * expr.c (rewrite_arglist_getcaller): Reorder.
1094 2006-11-29 Andrew Haley <aph@redhat.com>
1096 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
1097 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
1099 2006-11-23 Andrew Haley <aph@redhat.com>
1101 * expr.c (rewrite_arglist_getcaller): New.
1102 (rewrite_arglist_getclass): Fix indentation.
1103 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
1104 gnu.classpath.VMStackWalker.getCallingClassLoader().
1105 * builtins.c (initialize_builtins): Remove duplicate def'n of
1107 Add __builtin_return_address.
1109 2006-11-22 Andrew Haley <aph@redhat.com>
1111 * jcf-reader.c (get_attribute): Mark attr_type unused.
1113 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
1115 2007-01-08 Richard Guenther <rguenther@suse.de>
1117 * lex.c (do_java_lex): Use build_int_cst_wide_type.
1118 * jcf-parse.c (get_constant): Likewise.
1120 2006-11-12 Jan Hubicka <jh@suse.cz>
1122 * resource.c (compile_resource_data): Update for new varpool names.
1123 * java/class.c (build_utf8_ref): Likewise.
1125 2006-11-12 David Daney <ddaney@avtrex.com>
1128 * typeck.c (build_java_array_type): Increase buffer sizes.
1130 2006-11-11 Richard Guenther <rguenther@suse.de>
1132 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
1133 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
1135 2006-11-06 Andrew Haley <aph@redhat.com>
1137 * java-tree.h (CONSTANT_LazyFlag): New.
1138 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
1139 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
1141 (handle_constant): Return 0 for dummy cpool entries.
1142 Handle constants of kind Class.
1143 Handle constants of kind NameAndType.
1144 (handle_enclosingmethod_attribute): New.
1145 (handle_signature_attribute): New.
1146 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
1147 (HANDLE_SIGNATURE_ATTRIBUTE): New.
1148 (handle_constant): Use unmangle_classname()rather than calling
1149 identifier_subst() directly.
1151 2006-11-02 Andrew Haley <aph@redhat.com>
1153 * java-tree.h (FIELD_ENUM): New.
1154 (lang_decl_var.field_enum): New.
1155 (lang_type.enum_class): New.
1157 * class.c (set_class_decl_access_flags): Handle enum types.
1158 (add_field): Handle enum fields.
1159 (get_access_flags_from_decl): Likewise.
1161 * class.c (make_class_data): Put reflection_data into rodata.
1163 2006-11-01 Andrew Haley <aph@redhat.com>
1165 * jcf-parse.c (field_offsets, bit_obstack): New variables.
1166 (jcf_parse): Write end marker to annotation_data.
1167 (java_parse_file): Create field_offsets bitmap. Destroy it.
1168 (annotation_grow, annotation_rewrite_byte)
1169 (annotation_rewrite_short, annotation_rewrite_int)
1170 (annotation_read_short, annotation_write_byte)
1171 (annotation_write_short, annotation_write_int)
1172 (handle_long_constant, handle_constant, handle_element_value)
1173 (handle_annotation, handle_annotations)
1174 (handle_annotation_attribute, rewrite_reflection_indexes)
1175 (handle_member_annotations, handle_parameter_annotations)
1176 (handle_default_annotation): New functions.
1177 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
1178 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
1179 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1180 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1181 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
1182 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
1183 (TYPE_REFLECTION_DATA): New.
1184 (TYPE_REFLECTION_DATASIZE): New.
1185 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
1187 * jcf-reader.c (get_attribute): Pass field/method index and
1188 attribute type to get_attribute().
1189 * constants.c (find_class_or_string_constant): Make nonstatic.
1190 (cpool_for_class): Likewise.
1191 (build_constants_constructor): Separate string and scalar types.
1192 * class.c (make_class_data): Generate field_indexes permutation.
1193 Pass it to rewrite_reflection_indexes().
1194 (make_class_data): Generate constructor for reflection_data field.
1196 2006-10-20 Tom Tromey <tromey@redhat.com>
1198 * gcj.texi (Top): Don't mention jv-scan.
1199 (Invoking gcj): Likewise.
1200 (Invoking gcjh): Likewise.
1201 (Invoking gjnih): Likewise.
1202 (Invoking gij): Likewise.
1203 (Invoking gcj-dbtool): Likewise.
1204 (Invoking jv-scan): Removed.
1205 * parse-scan.y: Removed.
1206 * jv-scan.c: Removed.
1207 * config-lang.in (stagestuff): Don't mention jv-scan.
1208 * Make-lang.in (java): Removed jv-scan.
1209 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1210 (JVSCAN_OBJS): Removed.
1211 (jv-scan$(exeext)): Likewise.
1212 (JAVA_MANFILES): Removed jv-scan.1.
1213 (java.uninstall): Don't mention jv-scan.
1214 (java.mostlyclean): Likewise.
1215 (java.maintainer-clean): Likewise.
1216 (.INTERMEDIATE): Likewise.
1217 (java/jv-scan.o): Removed.
1218 (jv-scan.pod): Likewise.
1219 (java.srcextra): Don't mention parse-scan.c.
1220 (java.mostlyclean): Likewise.
1221 (java/parse-scan.c): Removed.
1222 (java/parse-scan.o-warn): Removed.
1223 (java/parse-scan.o): Removed.
1225 2006-10-20 Tom Tromey <tromey@redhat.com>
1227 * lang.c (java_handle_option): Don't use
1228 jcf_write_base_directory.
1229 * jcf.h (jcf_write_base_directory): Removed.
1230 * parse.y (java_expand_classes): Don't call write_classfile.
1231 * config-lang.in (gtfiles): Removed jcf-write.c.
1232 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
1233 (java/jcf-write.o): Removed.
1234 * jcf-parse.c (parse_class_file): Don't call write_classfile.
1235 * java-tree.h (write_classfile): Removed declaration.
1236 * jcf-write.c: Removed.
1238 2006-10-20 Tom Tromey <tromey@redhat.com>
1240 * Make-lang.in (java): Removed gjnih, gcjh.
1241 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1242 (GCJH_OBJS): Removed.
1243 (GJNIH_OBJS): Likewise.
1244 (gjnih$(exeext)): Likewise.
1245 (gcjh$(exeext)): Likewise.
1246 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
1247 (java.install-common): Don't special case gcjh.
1248 (java.uninstall): Don't mention gcjh, gjnih.
1249 (java.mostlyclean): Likewise.
1250 (java.maintainer-clean): Likewise.
1251 (.INTERMEDIATE): Likewise.
1252 (gcjh.pod): Removed.
1253 (gjnih.pod): Likewise.
1254 (GCJH_TARGET_INSTALL_NAME): Removed.
1255 (java/gjavah-jni.o): Removed.
1256 (java/gjavah.o): Likewise.
1257 * config-lang.in (stagestuff): Removed gjnih, gcjh.
1258 * gjavah.c: Removed.
1260 2006-10-17 Tom Tromey <tromey@redhat.com>
1262 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
1265 2006-10-17 Tom Tromey <tromey@redhat.com>
1267 * jvgenmain.c (main): Handle -findirect-dispatch.
1268 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1271 2006-10-06 Andrew Haley <aph@redhat.com>
1273 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1274 have a compare_and_swap builtin.
1275 (compareAndSwapLong_builtin): Likewise.
1276 (compareAndSwapObject_builtin): Likewise.
1278 2006-10-04 Andrew Haley <aph@redhat.com>
1280 * builtins.c (java_builtins): Add compareAndSwapInt,
1281 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1282 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1283 putObjectVolatile, getObjectVolatile, getIntVolatile,
1284 getLongVolatile, getLong.
1285 (UNMARSHAL3): New macro.
1286 (UNMARSHAL4): Likewise.
1287 (UNMARSHAL5): Likewise.
1288 (build_arglist_for_builtin): New function.
1289 (build_addr_sum, build_check_this): New functions.
1290 (putObject_builtin. compareAndSwapInt_builtin,
1291 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1292 putVolatile_builtin, getVolatile_builtin): New builtins.
1294 2006-06-08 Andrew Haley <aph@redhat.com>
1296 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1297 get_symbol_table_index().
1298 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1300 (build_known_method_ref): New arg: special. Pass it to
1301 get_symbol_table_index.
1302 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1304 (build_invokevirtual): New arg: special. Pass it to
1305 get_symbol_table_index.
1306 (expand_invoke): New variable: special.
1307 Pass it to maybe_rewrite_invocation().
1308 Pass it to build_known_method_ref().
1309 * class.c (build_symbol_entry): Add new arg: special. Use it to
1310 build the symbol table conbstructor.
1311 (emit_symbol_table): Extract SPECIAL from the method list and pass
1312 it to build_symbol_entry().
1313 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1314 special accordingly.
1316 2006-09-08 Andrew Haley <aph@redhat.com>
1318 * class.c (layout_class_method): Use build_java_signature, not
1319 build_java_argument_signature. Use lookup_java_method, not
1320 lookup_argument_method.
1322 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1323 Bryce McKinlay <bryce@mckinlay.net.nz>
1325 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1327 2006-07-18 Tom Tromey <tromey@redhat.com>
1329 * lang.opt: Added missing -W options.
1331 2006-07-12 Tom Tromey <tromey@redhat.com>
1334 * lang-specs.h: Pass '%U'-based options as separate arguments.
1335 Use -faux-classpath.
1336 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1337 * lang.opt (faux-classpath): New option.
1339 2006-07-07 Tom Tromey <tromey@redhat.com>
1341 * class.c (make_class_data): Set value for reflection_data field.
1342 * decl.c (java_init_decl_processing): Add reflection_data field.
1344 2006-07-07 Tom Tromey <tromey@redhat.com>
1346 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1348 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1350 2006-07-07 Andrew Haley <aph@redhat.com>
1352 * jcf-parse.c (set_source_filename): Don't check for
1353 CLASS_FROM_CURRENTLY_COMPILED_P.
1356 2006-07-07 Andrew Haley <aph@redhat.com>
1358 * java-tree.h (java_read_sourcefilenames): Declare.
1359 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1360 * lang.opt (fsource-filename): New opt.
1361 * lang-specs.h: Add -fsource-filename.
1362 * jcf-parse.c (num_files, filenames): New variables.
1363 (reverse, cmpstringp, java_read_sourcefilenames,
1364 find_sourcefile): New.
1365 (set_source_filename): Call find_sourcefile to find the real name
1368 2006-06-27 Tom Tromey <tromey@redhat.com>
1370 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1371 Signature, LocalVariableTypeTable, annotation attributes.
1372 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1373 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1374 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1375 (HANDLE_METHOD): Likewise.
1376 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1377 (print_annotation): New function.
1378 (print_element_value): Likewise.
1380 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1381 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1382 (print_parameter_annotations): New function.
1383 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1384 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1386 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1387 (print_annotations): New function.
1389 2006-06-23 Tom Tromey <tromey@redhat.com>
1391 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1392 emitting class files, always use 1.5.
1393 * gcj.texi (Input Options): Document -fsource.
1394 (Code Generation): Document -ftarget.
1396 2006-06-21 Tom Tromey <tromey@redhat.com>
1399 * expr.c (expand_java_field_op): Initialize field's declaring
1402 2006-06-20 Tom Tromey <tromey@redhat.com>
1404 * expr.c (push_value): Always flush quick stack.
1406 2006-06-19 Tom Tromey <tromey@redhat.com>
1408 * expr.c (push_value): Also flush quick stack if value is a
1411 2006-06-19 Tom Tromey <tromey@redhat.com>
1413 * expr.c (push_value): Flush quick stack if value has side
1416 2006-06-13 Tom Tromey <tromey@redhat.com>
1418 * class.c (is_compiled_class): Explicitly check for current
1421 2006-06-09 Tom Tromey <tromey@redhat.com>
1423 * gjavah.c (decompile_method): Don't decompile a static field
1426 2006-06-06 Tom Tromey <tromey@redhat.com>
1428 * lang-specs.h <jc1>: Add .jar file to command line if
1429 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1431 2006-06-05 Tom Tromey <tromey@redhat.com>
1433 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1434 synthetic, enum, annotation.
1435 * jcf.h (ACC_BRIDGE): New macro.
1436 (ACC_VARARGS): Likewise.
1437 (ACC_SYNTHETIC): Likewise.
1438 (ACC_ENUM): Likewise.
1439 (ACC_ANNOTATION): Likewise.
1441 2006-06-04 Tom Tromey <tromey@redhat.com>
1443 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1444 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1446 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1447 when needed. Handle classpath-setting.
1448 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1449 * lang-specs.h: Rewrote.
1451 2006-06-04 Tom Tromey <tromey@redhat.com>
1453 * jcf-io.c (find_class): Set source_ok to 0.
1454 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1455 (parse_class_file): Don't call java_mark_class_local.
1456 (java_parse_file): Skip .java files. Call java_mark_class_local
1457 before lowering any code.
1458 (parse_zip_file_entries): Don't call duplicate_class_warning
1460 (process_zip_dir): ... call it here.
1461 * class.c (add_field): Don't mark field external if it is being
1462 compiled into this object.
1463 (make_class_data): Handle situation where class_dtable_decl is
1464 created before Class is compiled.
1465 (is_compiled_class): Don't assume files in zip are compiled into
1467 (layout_class_method): Don't mark method external if it is being
1468 compiled into this object.
1470 2006-06-04 Tom Tromey <tromey@redhat.com>
1472 * jcf-path.c (jcf_path_compute): New function.
1473 * jcf.h (jcf_path_compute): Declare.
1475 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1477 * decl.c: Include langhooks.h.
1478 (builtin_function): Remove.
1479 (java_init_decl_processing): Replace calls to builtin_function
1480 with add_builtin_function.
1481 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1482 (java/decl.o): Depend on langhooks.h.
1483 * java-tree.h (builtin_function): Remove.
1485 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1487 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1489 2006-09-12 Tom Tromey <tromey@redhat.com>
1491 * expr.c (push_value): Always flush quick stack.
1493 2006-09-12 Tom Tromey <tromey@redhat.com>
1496 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1497 the push of the called method's return result.
1499 2006-09-12 Tom Tromey <tromey@redhat.com>
1501 * jvspec.c (lang_specific_driver): Read spec file even if
1504 2006-09-12 Tom Tromey <tromey@redhat.com>
1507 * expr.c (expand_java_field_op): Initialize field's declaring
1508 interface if necessary.
1510 2006-09-12 Tom Tromey <tromey@redhat.com>
1513 * expr.c (expand_java_field_op): No error for assignments not in
1514 class initializer or constructor.
1516 2006-08-22 Andrew Haley <aph@redhat.com>
1518 * decl.c (java_add_stmt): Give the statement list a type.
1520 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1521 Bryce McKinlay <bryce@mckinlay.net.nz>
1523 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1525 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1528 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1529 or '--' is used with a constant operand.
1530 (java_complete_lhs): When processing a '++' or '--' expression,
1531 don't call java_complete_tree but java_complete_lhs, so that a
1532 static final variable operand is never replaced by its value. This
1533 avoids an ICE later on.
1534 (patch_unaryop): Fixed typo in comment.
1536 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1538 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1540 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1542 * builtins.c (check_for_builtin): If a builtin could result in a
1543 direct call being generated, don't use it if flag_indirect_dispatch
1546 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1548 * gcj.texi (Invocation): Corrections for Invocation API example.
1550 2006-07-04 Andrew Haley <aph@redhat.com>
1552 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1555 2006-06-21 Andrew Haley <aph@redhat.com>
1557 * java-tree.h (update_aliases): Remove
1558 * expr.c (expand_iinc): Remove call to update_aliases().
1559 (STORE_INTERNAL): Likewise.
1560 * decl.c (update_aliases, initialize_local_variable)
1561 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1563 2006-06-19 Andrew Haley <aph@redhat.com>
1567 * expr.c (java_modify_addr_for_volatile): New function.
1568 (expand_java_field_op): Handle volatile fields.
1569 * java-gimplify.c (java_gimplify_component_ref): Call
1570 java_modify_addr_for_volatile to give the field_ref the correct
1572 (java_gimplify_modify_expr): Likewise.
1573 * java-tree.h (java_modify_addr_for_volatile): New decl.
1575 2006-06-17 Karl Berry <karl@gnu.org>
1577 * gcj.texi (@dircategory): Use "Software development" instead
1578 of "Programming", following the Free Software Directory.
1580 2006-06-16 Andrew Haley <aph@redhat.com>
1582 * class.c (make_class_data): When using flag_indirect_classes,
1583 don't initialize the vtable of Class instances.
1585 2006-06-09 Andrew Haley <aph@redhat.com>
1589 * builtins.c (initialize_builtins): Add __sync_synchronize().
1590 * class.c (add_field): Mark volatile fields.
1591 * java-gimplify.c (java_gimplify_expr): Call new functions to
1592 handle self-modifying exprs and COMPONENT_REFs.
1593 (java_gimplify_component_ref): New.
1594 (java_gimplify_modify_expr): Add handling for volatiles.
1596 2006-06-08 Tom Tromey <tromey@redhat.com>
1598 * gcj.texi (libgcj Runtime Properties): Document
1599 gnu.gcj.user.realname.
1601 2006-06-08 Andrew Haley <aph@redhat.com>
1603 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1604 get_symbol_table_index().
1605 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1607 (build_known_method_ref): New arg: special. Pass it to
1608 get_symbol_table_index.
1609 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1611 (build_invokevirtual): New arg: special. Pass it to
1612 get_symbol_table_index.
1613 (expand_invoke): New variable: special.
1614 Pass it to maybe_rewrite_invocation().
1615 Pass it to build_known_method_ref().
1616 * class.c (build_symbol_entry): Add new arg: special. Use it to
1617 build the symbol table conbstructor.
1618 (emit_symbol_table): Extract SPECIAL from the method list and pass
1619 it to build_symbol_entry().
1620 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1621 special accordingly.
1623 2006-06-06 David Daney <ddaney@avtrex.com>
1625 * gcj.texi (libgcj Runtime Properties): Document
1626 gnu.gcj.runtime.NameFinder.show_raw and
1627 gnu.gcj.runtime.NameFinder.remove_unknown.
1629 2006-06-06 Tom Tromey <tromey@redhat.com>
1631 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1632 synthetic, enum, annotation.
1633 * jcf.h (ACC_BRIDGE): New macro.
1634 (ACC_VARARGS): Likewise.
1635 (ACC_SYNTHETIC): Likewise.
1636 (ACC_ENUM): Likewise.
1637 (ACC_ANNOTATION): Likewise.
1639 2006-06-06 Mike Stump <mrs@apple.com>
1641 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1642 installing during build.
1644 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1646 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1647 classname-to-library resolution mechanism.
1648 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1649 mechanism deprecated.
1650 (libgcj Runtime Properties): Document
1651 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1653 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1655 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1657 (jword): Define to uint64 on 64-bit arches.
1658 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1660 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1662 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1665 2006-05-26 Tom Tromey <tromey@redhat.com>
1667 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1668 * verify-glue.c (vfy_class_type): New function.
1669 * verify-impl.c (check_constant): Allow 'ldc class'.
1670 * verify.h (vfy_class_type): Declare.
1672 2006-05-25 Andrew Haley <aph@redhat.com>
1675 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1676 update all lifetimes, not just the first one.
1678 2006-05-24 Tom Tromey <tromey@redhat.com>
1680 * java-tree.h: Fixed flag documentation.
1682 2006-05-24 Tom Tromey <tromey@redhat.com>
1685 * jcf.h (ACC_INVISIBLE): Changed value.
1687 2006-05-24 Andrew Haley <aph@redhat.com>
1690 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1693 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1695 * lang.opt (femit-class-file): Remove VarExists.
1697 2006-05-16 Tom Tromey <tromey@redhat.com>
1699 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1702 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1705 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1708 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1710 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1711 (java/expr.o): Replace target.h with $(TARGET_H).
1712 (java/parse.o): Likewise.
1714 2006-05-10 Andrew Haley <aph@redhat.com>
1716 * class.c (emit_indirect_register_classes): Fix comment.
1718 2006-05-04 Tom Tromey <tromey@redhat.com>
1720 * java-tree.h (uses_jv_markobj_p): Declare.
1721 * class.c (uses_jv_markobj_p): Removed.
1722 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1723 (get_boehm_type_descriptor): Use it.
1724 (uses_jv_markobj_p): Moved from class.c. Return bool.
1726 2006-05-04 Tom Tromey <tromey@redhat.com>
1728 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1730 2006-05-04 Andrew Haley <aph@redhat.com>
1732 * class.c (make_field_value): Always build_address_of fdecl if
1733 there is an initializer.
1735 2006-05-03 Andrew Haley <aph@redhat.com>
1738 * expr.c (maybe_rewrite_invocation): New function.
1739 (rewrite_arglist_getclass): Likewise.
1741 (expand_invoke): Call maybe_rewrite_invocation.
1742 * parse.y (patch_invoke): Likewise.
1743 * java-tree.h: (maybe_rewrite_invocation): New function.
1745 2006-04-21 Andrew Haley <aph@redhat.com>
1747 * lang.c (java_init): Handle flag_indirect_classes.
1748 * jvgenmain.c: Use "class$$" instead of "class$".
1749 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1751 (mangle_class_field): Special case "class$$" as well as "class$".
1752 * constants.c (build_ref_from_constant_pool): If
1753 flag_indirect_classes, generate a ref into the heap.
1754 * decl.c (constants_field_decl_node,
1755 constants_data_field_decl_node): New.
1756 * class.c (build_static_class_ref): New.
1757 (build_classdollar_field): Factor out from build_class_ref().
1758 (make_field_value): Handle static fields in heap.
1759 (make_class_data): Make sure we get a static ref to class.
1760 Make class initializer const if flag_indirect_classes.
1761 (register_class): Build a class_ref for initialization if
1762 flag_indirect_classes.
1763 (emit_indirect_register_classes): New.
1765 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1767 * expr.c, gjavah.c: Fix comment typos.
1769 2006-04-03 Andrew Haley <aph@redhat.com>
1772 * expr.c (build_field_ref): Don't check the field offset if
1775 2006-03-30 Andrew Haley <aph@redhat.com>
1778 * lang.c (java_attribute_table): New.
1779 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1780 * expr.c (build_field_ref): Add a null pointer check for all
1781 fields of offset > 4k. Don't do so for accesses via the this
1782 pointer, which we know can never be null.
1783 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1786 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1788 * Make-lang.in: Rename docdir to gcc_docdir.
1790 2006-03-30 Tom Tromey <tromey@redhat.com>
1793 * parse.y (java_reorder_fields): Reset superclass field's size as
1796 2006-03-28 Tom Tromey <tromey@redhat.com>
1799 * parse.y (find_most_specific_methods_list): Added 'class'
1801 (lookup_method_invoke): Updated.
1803 2006-03-15 Tom Tromey <tromey@redhat.com>
1805 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1806 non-static method calls.
1808 2006-03-15 David Daney <ddaney@avtrex.com>
1810 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1813 2006-03-15 David Daney <ddaney@avtrex.com>
1815 * lang.opt (-freduced-reflection): New option.
1816 * lang.c (java_post_options): Generate an error if
1817 -freduced-reflection used with -fjni or -findirect-dispatch.
1818 * java-tree.h (flag_reduced_reflection): Declare new variable.
1819 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1820 if bitmap overflows and flag_reduced_reflection set.
1821 * class.c (uses_jv_markobj_p): New function.
1822 (make_class_data): Moved generation of vtable to before
1823 reflection data, generate less reflection data if
1824 flag_reduced_reflection set.
1825 * gcj.texi: Document -freduced-reflection.
1827 2006-03-15 Tom Tromey <tromey@redhat.com>
1830 * class.c (get_interface_method_index): Don't put <clinit> into
1833 2006-03-15 Tom Tromey <tromey@redhat.com>
1835 * parse.y (analyze_clinit_body): Ignore empty statements.
1837 2006-03-08 David Daney <ddaney@avtrex.com>
1839 * gcj.texi: Document -static-libgcj option.
1841 2006-02-20 Andrew Haley <aph@redhat.com>
1843 * jcf-parse.c (parse_class_file): Set input_location from
1846 2006-02-15 Andrew Haley <aph@redhat.com>
1848 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1849 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1850 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1852 2006-02-09 Andrew Haley <aph@redhat.com>
1855 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1856 in their superclass.
1858 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1861 2006-02-08 Tom Tromey <tromey@redhat.com>
1864 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1865 * builtins.c (convert_real): New function.
1866 (java_builtins): Handle Float.intBitsToFloat,
1867 Float.floatToRawIntBits, Double.longBitsToDouble,
1868 Double.doubleToRawLongBits.
1870 2006-02-07 Andrew Haley <aph@redhat.com>
1872 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1873 class other than the one in which we expected to find it, ignore
1877 * constants.c (build_constants_constructor): move initializer into
1878 first halfword on a 64-bit big-endian machine.
1880 2006-02-04 Tom Tromey <tromey@redhat.com>
1883 * builtins.c (max_builtin): Skip floating point 'max'.
1884 (min_builtin): Skip floating point 'min'.
1885 (check_for_builtin): Never return NULL_TREE.
1887 2006-02-04 Tom Tromey <tromey@redhat.com>
1890 * expr.c (push_type): Avoid side effect in gcc_assert.
1892 2006-02-04 Roger Sayle <roger@eyesopen.com>
1894 * decl.c (java_init_decl_processing): Create char_type_node as a
1895 regular INTEGER_TYPE node.
1896 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1897 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1898 test for char_type_node and promoted_char_type_node as special
1899 instances of INTEGER_TYPE tree codes.
1900 (promote_type,build_java_signature): Likewise.
1901 * jcf-write.c (adjust_typed_op): Likewise.
1902 * mangle.c (mangle_type): Likewise.
1903 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1904 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1906 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1908 * expr.c (java_stack_swap): Revert gcc_assert patch.
1910 2006-02-03 Ben Elliston <bje@au.ibm.com>
1912 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1913 * typeck.c: Likewise.
1914 * verify-impl.c: Likewise.
1915 * class.c: Likewise.
1917 * jcf-parse.c: Likewise.
1918 * constants.c: Likewise.
1919 * check-init.c: Likewise.
1920 * jcf-write.c: Likewise.
1921 * verify-glue.c: Likewise.
1922 * mangle.c: Likewise.
1925 * boehm.c: Likewise.
1927 2006-02-01 Jan Hubicka <jh@suse.cz>
1929 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1930 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1932 2006-01-30 Andrew Haley <aph@redhat.com>
1935 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1937 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1939 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1940 Update copyright notice dates.
1942 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1944 * jvspec.c (lang_specific_spec_functions): Remove.
1946 2006-01-06 Tom Tromey <tromey@redhat.com>
1948 * gcj.texi (Arrays): Added more documentation for
1950 (Primitive types): Correct information about primitive classes.
1951 (Reference types): New node.
1954 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1956 * jcf-parse.c (set_source_filename): Set the decl source location
1957 even when returning early.
1959 2005-12-15 Tom Tromey <tromey@redhat.com>
1960 Andrew Haley <aph@redhat.com>
1963 * parse.y (resolve_expression_name): Don't generate accessor
1964 methods for constant fields.
1966 2005-12-13 Andrew Haley <aph@redhat.com>
1970 * class.c (maybe_layout_super_class): Update current_class before
1971 calling do_resolve_class.
1973 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1976 * jcf-write.c (write_classfile): Use PID in temporary class
1977 file. Save/restore errno when reporting error.
1979 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1982 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1983 to bare_function_type and including the return type
1984 * builtins.c (initialize_builtins) : Change builtin mangled name
1985 constants to conform to new mangling scheme
1987 2005-12-08 Andrew Haley <aph@redhat.com>
1990 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1991 (soft_abstractmethod_node): New.
1992 * expr.c (build_field_ref): Add in-line check for missing field.
1993 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1995 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1997 * Make-lang.in (java.all.build, java.install-normal): Remove.
1999 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2001 * Make-lang.in: Remove all dependencies on s-gtype, except for
2004 2005-12-07 Richard Sandiford <richard@codesourcery.com>
2006 * class.c (build_utf8_ref, emit_register_classes): Use
2007 switch_to_section and get_section.
2009 2005-12-06 Tom Tromey <tromey@redhat.com>
2012 * parse.y (patch_new_array_init): Revert previous patch.
2013 (lookup_method_invoke): Use size-less array type when creating an
2014 anonymous constructor.
2016 2005-12-05 Tom Tromey <tromey@redhat.com>
2018 * parse.y (patch_new_array_init): Don't set length on array.
2020 2005-12-02 Richard Guenther <rguenther@suse.de>
2022 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
2023 buildN instead of build.
2024 * class.c (finish_class): Likewise.
2025 * expr.c (java_create_object): Likewise.
2027 2005-11-28 Tom Tromey <tromey@redhat.com>
2030 * expr.c (build_jni_stub): Unwrap the return value.
2031 * java-tree.h (soft_unwrapjni_node): New define.
2032 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
2033 * decl.c (java_init_decl_processing): Initialize
2034 soft_unwrapjni_node.
2036 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
2038 * gcj.texi (gij options): Add -Xss documentation.
2040 2005-11-08 Wil Mahan <wmahan@gmail.com>
2043 * zextract.c (read_zip_archive): Fix out of memory error when
2044 reading jar files with zip-style comments.
2046 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
2048 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
2050 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
2052 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
2053 Wil Mahan <wmahan@gmail.com>
2056 * class.c (make_class): Create empty binfo here.
2057 (set_super_info): Only create binfo if we have superclasses.
2059 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
2062 * parse.y (method_header): Make the result of the rule a NULL_TREE
2063 when a parsing error occurs.
2065 2005-09-29 Tom Tromey <tromey@redhat.com>
2068 * jcf-io.c (memoized_dirlist_hash): New function.
2069 (caching_stat): Use it.
2071 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
2074 * class.c (inherits_from_p): Try to lay out super class
2075 if it is not already laid out.
2076 (maybe_layout_super_class): Handle the case where SUPER_CLASS
2079 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
2081 * builtins.c (max_builtin, min_builtin, abs_builtin,
2082 java_build_function_call_expr): Use fold_buildN.
2083 * class.c (layout_class_method): Likewise.
2084 * expr.c (java_truthvalue_conversion, build_java_jsr,
2085 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
2086 build_java_binop, build_field_ref, expand_compare,
2087 build_known_method_ref, build_invokevirtual,
2088 process_jvm_instruction): Likewise.
2089 * parse.y (patch_binop, patch_exit_expr): Likewise.
2090 * typeck.c (convert_ieee_real_to_integer): Likewise.
2091 (convert): Don't call fold after convert_ieee_real_to_integer.
2093 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
2096 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
2097 the newly created type. Set import lists here, not in create_class.
2098 (jdep_resolve_class): Set current_class.
2099 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
2100 the current package context, not ctxp->package.
2101 (cicp_cache): Removed.
2102 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
2103 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
2104 * java-tree.h (TYPE_PACKAGE): New macro.
2105 (struct lang_type): New member 'package'.
2107 2005-09-09 Andrew Haley <aph@redhat.com>
2110 * expr.c (pop_type_0): If the expected type is object or ptr
2111 (i.e. void*), return the type of the object we just popped from
2114 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
2116 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
2117 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
2119 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
2121 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
2122 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
2123 typos. Follow spelling conventions.
2125 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
2128 * typeck.c (lookup_do): Look up interfaces for the original class,
2130 * parse.y (java_check_regular_methods): Fix diagnostic message for
2131 more restrictive overriding of a method from an interface.
2133 2005-08-16 Tom Tromey <tromey@redhat.com>
2135 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
2136 class' initial state.
2138 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2141 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
2142 `literal_token' for large numeric input tokens.
2144 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2147 * parse.y (nested_field_access_p): Rename to nested_member_access_p
2148 and expand to handle method accesses across nested classes.
2149 (build_outer_method_access_method): Rename to
2150 build_nested_method_access_method. Minor adjustments to comments.
2151 (resolve_expression_name): Use the newly-renamed
2152 nested_member_access_p method.
2153 (resolve_qualified_expression_name): Likewise.
2154 (patch_method_invocation): Also consider static methods for access
2155 method generation. Minor adjustments to comments.
2156 (maybe_use_access_method): Use the more general
2157 nested_memeber_access_p to determine access across nested class
2158 boundaries. Allow THIS_ARG to be NULL (for static methods).
2160 2005-08-15 Tom Tromey <tromey@redhat.com>
2163 * expr.c (build_field_ref): Don't generate otable reference when
2164 DECL_FIELD_OFFSET is 0.
2165 * class.c (maybe_layout_super_class): Pass outer class to
2168 2005-08-15 Tom Tromey <tromey@redhat.com>
2170 * java-tree.h (LABEL_IN_SUBR): Removed.
2171 (LABEL_IN_SUBR): Likewise.
2172 (LABEL_IS_SUBR_START): Likewise.
2173 (LABEL_SUBR_START): Likewise.
2174 (LABEL_SUBR_CONTEXT): Likewise.
2175 (LABEL_CHANGED): Likewise.
2176 (LABEL_RETURN_LABEL): Likewise.
2177 (LABEL_RETURN_TYPE_STATE): Likewise.
2178 (LABEL_RETURN_LABELS): Likewise.
2179 (RETURN_MAP_ADJUSTED): Likewise.
2180 (LABEL_PENDING_CHAIN): Likewise.
2182 2005-08-15 Tom Tromey <tromey@redhat.com>
2184 * Make-lang.in (JAVA_OBJS): Removed verify.o
2185 (java/verify.o): Removed.
2186 * verify.c: Removed.
2187 * lang.c (flag_new_verifier): Removed.
2188 (java_post_options): Updated.
2189 * java-tree.h (flag_new_verifier): Removed.
2190 (verify_jvm_instructions): Removed.
2191 * expr.c (pop_type_0): Assume flag_new_verifier is true.
2192 (build_java_check_indexed_type): Likewise.
2193 (expand_java_arraystore): Likewise.
2194 (expand_java_arrayload): Likewise.
2195 (pop_arguments): Likewise.
2196 (expand_byte_code): Likewise.
2197 (process_jvm_instruction): Likewise.
2199 2005-08-10 Andrew Haley <aph@redhat.com>
2201 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
2202 type mismatches to make legal GIMPLE.
2204 2005-08-10 Robin Green <greenrd@greenrd.org>
2207 * parse.y (maybe_use_access_method): Generalize check from
2208 java.lang.Object to any superclass of current_class
2210 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2212 * class.c (build_class_ref): Wrap the primary class type in a
2214 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
2215 primary class type from the NOP_EXPR in which it was placed.
2217 2005-07-28 Diego Novillo <dnovillo@redhat.com>
2219 * expr.c (expand_load_internal): Fix missing parens in
2222 2005-07-28 Andrew Haley <aph@redhat.com>
2224 * expr.c (expand_load_internal): Convert to destination type.
2226 2005-07-22 Manfred Hollstein <mh@suse.com>
2228 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
2229 (check_constant): Likewise.
2230 (check_wide_constant): Likewise.
2232 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2234 Make CONSTRUCTOR use VEC to store initializers.
2235 * check-init.c (check_init): Update to cope with VEC in
2237 * class.c (make_field_value, make_method_value, get_dispatch_table,
2238 make_class_data, emit_symbol_table, emit_catch_table,
2239 emit_assertion_table): Use build_constructor_from_list instead of
2241 * constants.c (build_constants_constructor): Likewise.
2242 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
2243 VEC in CONSTRUCTOR_ELTS.
2244 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
2245 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
2247 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
2249 * parse.y (build_new_array_init): Use build_constructor_from_list
2250 instead of build_constructor.
2251 (patch_new_array_init): Update to cope with VEC in
2253 (array_constructor_check_entry): Likewise.
2255 2005-07-12 Tom Tromey <tromey@redhat.com>
2257 * jvspec.c (lang_specific_driver): Put filelist_filename first on
2260 2005-07-12 Tom Tromey <tromey@redhat.com>
2263 * parse-scan.y (interface_member_declaration): Added
2266 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2268 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2269 (LABEL_PENDING_CHAIN): Ditto.
2271 (DECL_BIT_INDEX): Ditto.
2273 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2276 * parse.y (inner_class_accessible): New function. Logic moved from
2277 check_inner_class_access.
2278 (check_inner_class_access): Use inner_class_accessible.
2279 (resolve_inner_class): Simplify arguments. Create circularity hash
2280 here. Keep looking for classes if we found one that was inaccessible.
2281 Return the inaccessible class only if there is no other match.
2282 (do_resolve_class): Update for new resolve_inner_class arguments.
2283 Don't create circularity_hash here.
2285 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2288 * parse.y (add_exception_to_throws): New function.
2289 (purge_unchecked_exceptions): Removed.
2290 (get_constructor_super): Renamed from verify_constructor_super. Now
2291 returns the super constructor after verification.
2292 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2293 or save/restore the exception list.
2294 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2295 class initializers and constructors to the throws clause of the method.
2297 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2300 * parse.y (interface_member_declaration): Allow empty statements in
2301 interface declarations.
2303 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2305 * Makefile.in (parse.o): Adjust dependencies.
2306 * parse.y: Include tree-dump.h.
2308 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2310 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2313 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2315 * parse.y (issue_warning_error_from_context): Call
2316 pp_output_formatted_text to be able to get the buffer.
2318 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2320 * parse.y (issue_warning_error_from_context): Update for the
2321 renaming of pp_format_text to pp_format.
2323 2005-06-28 Paul Brook <paul@codesourcery.com>
2325 * decl.c (java_init_decl_processing): Call
2326 default_init_unwind_resume_libfunc.
2328 2005-06-27 Tom Tromey <tromey@redhat.com>
2330 PR java/21540, PR java/13788:
2331 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2332 fold_constant_for_init.
2333 (patch_binop): Added 'folding' argument. Updated all callers.
2334 (patch_unaryop) <NOP_EXPR>: New case.
2335 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2336 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2338 2005-06-25 Jan Hubicka <jh@suse.cz>
2340 * builtins.c (define_builtin): Accept new flags parameter.
2341 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2343 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2345 * all files: Update FSF address in copyright headers.
2347 2005-06-24 Tom Tromey <tromey@redhat.com>
2349 * verify-impl.c (verify_instructions_0): Correctly handle
2350 situation where PC falls off end.
2352 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2355 * parse.y (find_most_specific_methods_list): Remove special case for
2358 2005-06-15 Tom Tromey <tromey@redhat.com>
2361 * class.c (make_method_value): Use soft_abstractmethod_node for
2363 * java-tree.h (soft_abstractmethod_node): New define.
2364 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2365 * decl.c (java_init_decl_processing): Initialize
2366 soft_abstractmethod_node.
2368 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2370 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2372 2005-06-13 Per Bothner <per@bothner.com>
2374 * expr.c (int highest_label_pc_this_method,
2375 start_label_pc_this_method): New globals.
2376 (lookup_label): Add start_label_pc_this_method to pc for label, and
2377 update highest_label_pc_this_method. This prevents conflicts between
2378 labels from different methods.
2379 * java-tree.h: Declare new globals.
2380 * jcf-parse.c (parse_class_file): If needed bump
2381 start_label_pc_this_method and reset highest_label_pc_this_method.
2383 2005-06-13 Tom Tromey <tromey@redhat.com>
2386 * parse.y (nested_field_access_p): Handle case where outer field
2387 is inherited by enclosing class.
2389 2005-06-12 Per Bothner <per@bothner.com>
2391 * class.c (inherits_from_p): Do load_class if needed.
2393 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2395 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2396 * java-tree.h (parse_error_context): Move...
2397 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2398 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2399 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2401 2005-06-08 Roger Sayle <roger@eyesopen.com>
2403 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2405 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2407 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2408 msgid for argument name.
2409 * gjavah.c (error): Likewise.
2410 * java-tree.h (parse_error_context): Likewise.
2411 * parse.y (parse_error_context, parse_warning_context,
2412 issue_warning_error_from_context): Likewise.
2414 2005-06-01 Tom Tromey <tromey@redhat.com>
2417 * class.c (build_static_field_ref): Don't fold constant fields if
2418 current class is from a .class file and we're using indirect
2421 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2423 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2424 * java/Make-lang.in: Updates dependencies.
2426 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2429 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2430 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2431 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2432 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2433 * jcf-write.c (generate_classfile): Use
2434 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2435 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2436 * parse.y (build_outer_field_access): Rename to
2437 build_nested_field_access. Support static fields and outer-to-inner
2439 (outer_field_access_p): Rename to nested_field_access_p. Support
2440 static fields and generalise to outer-to-inner class and sibling
2441 inner class accesses.
2442 (outer_field_expanded_access_p): Rename to
2443 nested_field_expanded_access_p and support static fields.
2444 (outer_field_access_fix): Rename to nested_field_access_fix and
2445 support static fields.
2446 (build_outer_field_access_expr): Rename to
2447 build_nested_field_access_expr and support static fields.
2448 (build_outer_field_access_methods): Rename to
2449 build_nested_field_access_methods and support static fields. For
2450 static fields, generate accessors without class instance parameters.
2451 (build_outer_field_access_method): Rename to
2452 build_nested_field_access_method and support static fields.
2453 (build_outer_method_access_method): Use
2454 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2455 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2456 (resolve_expression_name): Consider static field accesses across
2458 (resolve_qualified_expression_name): Likewise.
2459 (java_complete_lhs): Use nested_field_access_fix instead of
2460 outer_field_access_fix.
2461 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2462 Use nested_field_expanded_access_p instead of
2463 outer_field_expanded_access_p. Use nested_field_access_fix instead
2464 of outer_field_access_fix.
2465 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2466 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2468 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2470 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2471 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2472 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2473 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2474 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2475 (parse_version): Calculate version ID using new method. Use bit-flags
2476 for flag_indirect_dispatch and flag_bootstrap_classes.
2478 2005-05-25 Richard Henderson <rth@redhat.com>
2481 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2482 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2483 DECL_CONTEXT; avoid pushdecl_top_level.
2484 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2485 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2486 (layout_class_method): Likewise.
2487 * decl.c (java_mark_cni_decl_local): New.
2488 (java_mark_class_local): Use it.
2489 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2490 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2491 (struct lang_decl_func): Add local_cni;
2492 (struct lang_decl_var): Add class_field, vtable.
2493 (java_mangle_decl): Declare.
2494 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2495 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2496 (mangle_obstack_1): New.
2497 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2498 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2499 lhd_set_decl_assembler_name for things that don't need mangling.
2500 (mangle_class_field): Rename from java_mangle_class_field, make
2501 static, don't call init_mangling or finish_mangling.
2502 (mangle_vtable): Similarly.
2503 (mangle_local_cni_method_decl): New.
2504 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2505 gcc_assert, and MANGLE_RAW_STRING.
2506 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2508 2005-05-25 DJ Delorie <dj@redhat.com>
2510 * class.c (set_constant_value): Move warning control from if() to
2513 2005-05-24 Richard Henderson <rth@redhat.com>
2515 * builtins.c (define_builtin): Don't call make_decl_rtl.
2516 * constants.c (build_constant_data_ref): Likewise.
2517 * class.c (build_utf8_ref): Likewise.
2518 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2519 (get_dispatch_table, layout_class_method): Likewise.
2520 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2522 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2523 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2524 to determine if we need a non-zero address.
2525 * decl.c (builtin_function): Don't call make_decl_rtl.
2526 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2527 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2528 * resource.c (compile_resource_data): Likewise.
2529 * parse.y (resolve_field_access): Re-word comment to avoid
2532 2005-05-24 Richard Henderson <rth@redhat.com>
2534 * class.c (registered_class): Take it out of class_roots; turn into
2536 (register_class): Make static. Don't duplicate decl node. Use
2538 (emit_register_classes): Use VEC_iterate. Use output_constant
2539 instead of assemble_integer. Don't call mark_decl_referenced
2541 * java-tree.h (register_class): Remove decl.
2543 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2547 * parse.y (register_package, package_list): Remove.
2548 (package_declaration): Do not call register_package.
2549 (do_resolve_class): Do not use package_list.
2551 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2553 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2556 2005-05-15 Tom Tromey <tromey@redhat.com>
2559 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2562 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2564 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2566 2005-05-11 Tom Tromey <tromey@redhat.com>
2568 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2569 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2570 (parse_version): Use it.
2571 * lang.opt (-fbootstrap-classes): New option.
2573 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2576 * class.c (maybe_layout_super_class): Look for imports in this_class.
2577 * parse.h (ctxp_for_generation_last): New.
2578 (do_resolve_class): Add a parameter.
2579 * parse.y (ctxp_for_generation_last): New.
2580 (java_pop_parser_context): Add at end of list.
2581 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2582 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2583 the given type are NULL.
2584 (do_resolve_class): Look into the imports of the new second parameter.
2585 Adjust recursive calls.
2586 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2587 calls to do_resolve_class.
2588 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2589 (java_complete_class): Do not do that here.
2591 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2594 * Make-lang.in (java): Add gjnih.
2595 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2596 (GJNIH_OBJS): New variable.
2597 (gjnih$(exeext)): New target.
2598 (JAVA_MANFILES): Add gjnih.1.
2599 (java.uninstall): Add gjnih.1.
2600 (java.mostlyclean): Add gjnih.
2601 (java.maintainer-clean): Add gjnih.1.
2602 (java/gjavah-jni.o): New target.
2603 (.INTERMEDIATE): Add gjnih.pod.
2604 (gjnih.pod): New target.
2605 * config-lang.in (stagestuff): Add gjnih.
2606 * gcj.texi (Top): Add gjnih node.
2607 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2608 -bootclasspath options.
2609 (Invoking gjnih): New node.
2610 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2611 (TOOLNAME): New macro.
2612 (error): Replace hard-coded gcjh with TOOLNAME.
2613 (process_file): Likewise.
2615 (version): Likewise.
2616 (help): Likewise. Add help output for -force, -old, -trace and -J
2618 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2619 (options): Add force, old, trace and J fields.
2620 (main): Handle -force, -old, -trace and -J options.
2622 2005-05-03 Tom Tromey <tromey@redhat.com>
2625 * gjavah.c (main): Unlink output file on error.
2627 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2629 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2632 2005-04-29 Tom Tromey <tromey@redhat.com>
2634 * expr.c (build_jni_stub): Updated for change to build_block.
2636 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2638 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2640 2005-04-28 Andrew Haley <aph@redhat.com>
2643 * java-tree.h (soft_resolvepoolentry_node): New.
2644 (alloc_constant_fieldref): Declare.
2645 * expr.c (expand_java_field_op): Don't call class_init for
2646 accesses to static fields with indirect dispatch.
2647 * builtins.c (initialize_builtins): Add "__builtin_expect".
2648 * decl.c (soft_resolvepoolentry_node): New variable.
2649 (java_init_decl_processing): Create a decl for
2650 "_Jv_ResolvePoolEntry".
2651 * class.c (build_fieldref_cache_entry): New function.
2652 (build_static_field_ref): Rewrite for indirect dispatch.
2653 * constants.c (find_name_and_type_constant_tree): New function.
2654 (alloc_constant_fieldref): Likewise.
2655 (build_constants_constructor): Handle CONSTANT_Fieldref and
2656 CONSTANT_NameAndType.
2659 * expr.c (force_evaluation_order): Convert outgoing args smaller
2662 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2664 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2665 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2666 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2668 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2670 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2671 to `unlock_stream' with `unlock_std_streams'.
2673 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2675 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2676 instead of just expr.h.
2678 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2680 * gjavah.c (main): Unlock the stdio streams.
2681 * jcf-dump.c (main): Likewise.
2682 * jv-scan.c (main): Likewise.
2683 * jvgenmain.c (main): Likewise.
2685 2005-04-23 DJ Delorie <dj@redhat.com>
2687 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2688 parse.y: Adjust warning() callers.
2690 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2692 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2695 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2697 * gcj.texi: Fix typos and bogus example.
2699 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2701 * except.c: Fix a comment typo.
2703 2005-04-19 Julian Brown <julian@codesourcery.com>
2705 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2706 indirect dispatch with PIC.
2708 2005-04-18 Andrew Haley <aph@redhat.com>
2710 * java-except.h (struct eh_range.handler): Remove unused field.
2711 (handle_nested_ranges): Remove function declaration.
2712 (sanity_check_exception_range): Add function declaration.
2713 * verify.c (verify_jvm_instructions): Remove call to
2714 handle_nested_ranges.
2715 * verify-glue.c (verify_jvm_instructions_new): Call
2716 sanity_check_exception_range.
2717 * except.c (link_handler, eh_range_freelist, link_handler,
2718 handle_nested_ranges): Remove.
2719 (add_handler): Rewrite.
2720 (sanity_check_exception_range): New function.
2721 (print_ranges): New function.
2723 2005-04-13 Julian Brown <julian@codesourcery.com>
2725 * decl.c (finish_method): Give methods once-only linkage.
2727 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2729 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2731 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2733 * java-tree.h: Don't use PARAMS().
2735 2005-04-07 Per Bothner <per@bothner.com>
2737 * class.c (push_class): By default, suppress debug output.
2738 (finish_class): Enable debug output for classes we're emitting.
2740 2005-04-07 Andrew Haley <aph@redhat.com>
2742 * gcj.texi: Correct gcj-dbtool instructions.
2744 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2746 * gcj.texi: Fix a typo.
2747 * lang.c: Fix a comment typo.
2749 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2751 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2752 Mention recognized-and-ignored compatibility options.
2753 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2755 (About CNI): Add Memory allocation section.
2757 2005-04-01 Tom Tromey <tromey@redhat.com>
2759 * decl.c (java_init_decl_processing): Fix types of
2760 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2761 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2762 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2764 2005-03-31 Jan Hubicka <jh@suse.cz>
2766 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2767 * class.c: Include cgraph.h
2768 (make_local_functoin_alias): Mark aslias as needed.
2769 * resource.c: Include cgraph.h
2770 (compile_resource_data): Go via cgraph interface.
2772 2005-03-30 Ian Lance Taylor <ian@airs.com>
2774 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2776 2005-03-30 Tom Tromey <tromey@redhat.com>
2778 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2779 inner_class_info_index==0 or outer_class_info_index==0.
2781 2005-03-29 Tom Tromey <tromey@redhat.com>
2783 * gcj.texi (libgcj Runtime Properties): Document
2784 gnu.gcj.runtime.endorsed.dirs.
2786 2005-03-24 Anthony Green <green@redhat.com>
2788 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2791 2005-03-23 Tom Tromey <tromey@redhat.com>
2793 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2794 (parse_version): Use it.
2796 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2798 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2800 2005-03-18 Andrew Haley <aph@redhat.com>
2803 * decl.c (update_aliases): Don't update variables that are about
2805 (maybe_poplevels): Add comment.
2807 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2810 * jcf-parse.c (duplicate_class_warning): New function.
2811 (java_parse_file): Call duplicate_class_warning if
2812 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2813 (parse_zip_file_entries): Likewise. Also set
2814 CLASS_FROM_CURRENTLY_COMPILED_P.
2816 2005-03-16 Andrew Haley <aph@redhat.com>
2818 * expr.c (expand_java_arrayload): Don't generate a
2819 NullPointerException based on the type of the node.
2820 (build_java_array_length_access): Likewise.
2822 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2824 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2826 2005-03-11 Tom Tromey <tromey@redhat.com>
2828 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2829 (libgcj Runtime Properties): Document the default .db.
2831 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2834 * parse.y (checks_throws_clauses): Check exceptions list even when
2835 the base class does not come from a source file being compiled.
2836 (java_complete_lhs): Remove unused variable 'wfl'.
2838 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2841 * decl.c (finish_method): Emit _Jv_InitClass for private static
2842 methods inside inner classes as well.
2844 2005-03-08 Julian Brown <julian@codesourcery.com>
2845 * Revert patch from 2005-03-08 for causing bootstrap failure on
2848 2005-03-08 Julian Brown <julian@codesourcery.com>
2850 * decl.c (finish_method): Give methods once-only linkage.
2852 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2854 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2856 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2858 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2859 can_widen_reference_to if the C++ ABI is in use.
2860 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2861 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2862 type_isresolved, init_state, set_pc, state_get_pc,
2863 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2864 (verify_fail): Report the current PC from the verifier context.
2865 (free_state): Remove #if 0 block to enable this function.
2866 (free_verifier_context): Call free_state on state_list iterator
2867 values before freeing them.
2868 * expr.c (pop_type_0): Pop correct type for error message when stack
2869 contains a multi-word type.
2871 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2873 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2874 for known NULL array length access.
2876 2005-03-07 Tom Tromey <tromey@redhat.com>
2878 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2880 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2882 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2883 typeck.c: Update copyright.
2885 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2888 * xref.c, xref.h: Remove file.
2889 * Make-lang.in (java/xref.o): Remove.
2890 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2891 * lang.c (flag_emit_xref): Remove definition.
2892 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2893 * typeck.c (convert): Remove use of do_not_fold.
2894 * parse.y (do_not_fold): Remove definition.
2895 (parser grammar): Remove xref code.
2896 (maybe_create_class_interface_decl, create_class): Likewise.
2897 (register_fields, method_header, finish_method_declaration): Likewise.
2898 (declare_local_variables, source_end_java_method): Likewise.
2899 (java_complete_expand_classes): Do not set do_not_fold.
2900 (java_complete_expand_method): Remove xref code.
2901 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2902 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2903 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2904 (patch_synchronized_statement, patch_throw_statement): Likewise.
2905 (maybe_build_class_init_for_field): Likewise.
2907 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2909 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2910 instead of IS_NON_TYPE_CODE_CLASS.
2912 2005-03-04 Andrew Haley <aph@redhat.com>
2915 * class.c (set_method_index): Don't set method_index if it is
2917 (layout_class_method): Don't complain about "non-static method foo
2918 overrides static method" in the case of indirect dispatch.
2920 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2922 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2924 * Make-lang.in: Don't elide warnings in jcf-io.c.
2926 2005-03-01 Per Bothner <per@bothner.com>
2929 * check-init.c (wfl): Remove static.
2930 (final_assign_error, check_init): Replace calls to parse_error_context
2932 (check_init): Save, set, and restore input_location for each exp.
2934 2005-03-01 Per Bothner <per@bothner.com>
2936 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2937 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2938 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2940 2005-03-01 Per Bothner <per@bothner.com>
2942 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2944 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2947 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2950 2005-02-22 Tom Tromey <tromey@redhat.com>
2953 * verify-impl.c (EITHER): New define.
2954 (types_compatible): Handle it.
2955 (check_field_constant): Use it.
2957 2005-02-18 Tom Tromey <tromey@redhat.com>
2960 * verify-impl.c (types_equal): Fixed test.
2963 * verify-glue.c (vfy_class_has_field): New function.
2964 * verify.h (vfy_class_has_field): Declare.
2965 * verify-impl.c (check_field_constant): Added 'putfield'
2967 (verify_instructions_0): Updated.
2968 (types_equal): New function.
2970 2005-02-14 Tom Tromey <tromey@redhat.com>
2973 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2974 stack effect of multianewarray.
2976 2005-02-14 Andrew Haley <aph@redhat.com>
2979 * expr.c (expand_byte_code): Call promote_arguments().
2980 (promote_arguments): New function.
2981 * decl.c (check_local_unnamed_variable): Remove special case for
2983 (find_local_variable): Promote all boolean types to int
2984 when searching for local variable decls.
2986 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2988 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2989 parse-scan.y: Update copyright.
2991 2005-02-11 Per Bothner <per@bothner.com>
2994 * parse-scan.y (input_location): Remove variable.
2995 (main_input_filename): New - replaces input_filename, which isn't
2996 settable if USE_MAPPED_LOCATION.
2997 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2998 so we don't reference input_location or wfl_operator in that case.
2999 * jv-scan.c (expand_location): Remove - no longer used.
3000 (main): Set main_input_filename rather than input_filename.
3002 2005-02-09 Richard Henderson <rth@redhat.com>
3004 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
3005 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
3007 2005-02-08 Marcin Dalecki <martin@dalecki.de>
3009 * expr.c (add_type_assertion): Use the proper enumeration type,
3010 since this is what htab_find_slot() is expecting.
3012 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
3014 * gcj.texi: Update copyright dates.
3016 2005-02-02 Tom Tromey <tromey@redhat.com>
3018 * gcj.texi (libgcj Runtime Properties): Default library_control
3021 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
3024 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
3025 (modifiers) when square brackets are present in a declaration for
3027 * jv-scan.c (main): Set input_filename and input_line.
3029 2005-02-01 Tom Tromey <tromey@redhat.com>
3032 * gjavah.c (get_field_name): Don't override name for JNI header.
3034 2005-02-01 Roger Sayle <roger@eyesopen.com>
3036 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
3037 of unsigned types using iushr and lushr JVM bytecodes.
3039 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3042 * gjavah.c (jni_print_float): Do not emit floating-point
3043 initialiser for a static final field.
3044 (jni_print_double): Likewise.
3046 2005-02-01 Mark Mitchell <mark@codesourcery.com>
3049 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3050 * gjavah.c (print_field_info): Mark static data members of
3051 floating-point type with "__extension__".
3053 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3055 * gjavah.c (print_field_info): Mark static data members of
3056 floating-point type with "__extension__".
3058 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3061 * parse.y (build_string_concatenation): Remove redundant if.
3062 (patch_conditional_expr): Attempt to patch_string() the condition
3063 of a ?: as well, in addition to its other operands.
3065 2005-01-25 Tom Tromey <tromey@redhat.com>
3067 * Make-lang.in (java/java-tree-inline.o): Removed.
3069 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
3072 * parse.y (patch_binop): Allow comparisons against NULL only
3073 if the other operand is of a reference type.
3075 2005-01-24 Tom Tromey <tromey@redhat.com>
3077 * java-tree.h (gcj_abi_version): Declare.
3078 * class.c (make_class_data): Push gcj_abi_version into "next"
3079 field. Renamed field.
3080 * decl.c (gcj_abi_version): New global.
3081 (parse_version): New function.
3082 (java_init_decl_processing): Call it. Renamed 'next' field.
3084 (GCJ_BINARYCOMPAT_ADDITION): New define.
3086 2005-01-24 Roger Sayle <roger@eyesopen.com>
3089 * jcf-write.c (generate_bytecode_insns): Conversions between
3090 integer types of the same precision shouldn't generate widening
3091 or narrowing conversion bytecodes.
3093 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
3095 * java-except.h, java-tree.h: Remove unused prototypes.
3097 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
3100 * jcf-write.c (perform_relocations): Don't call memcpy if source
3101 and destination are the same.
3103 2005-01-17 Tom Tromey <tromey@redhat.com>
3105 * verify-impl.c (get_short): Sign extend.
3106 (get_int): Likewise.
3108 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
3110 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
3113 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3115 * verify.c: Revert to the version before the BC-ABI merge.
3117 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3120 * check-init.c (check_init): Take care of references that do not
3121 have an explicit final variable declaration (e.g. array length
3122 access) for pre/post in/de-crement operators.
3124 2005-01-08 Mark Wielaard <mark@klomp.org>
3126 * parse.y (process_imports): Allocate (and free) original_name only
3127 when not already defined.
3128 * jcf-parse.c (read_class): Free results of find_class() and
3130 (java_parse_file): Keep pointer to head of file_list and free when
3131 done. Free result of lrealpath().
3133 2005-01-05 Tom Tromey <tromey@redhat.com>
3135 * gcj.texi (Standard Properties): java.ext.dirs is now used.
3137 2004-12-20 Andrew Haley <aph@redhat.com>
3139 * typeck.c: Use fold_convert for ints and booleans.
3141 2004-12-17 Andrew Haley <aph@redhat.com>
3144 * typeck.c (convert): Use a CONVERT_EXPR when converting to
3145 BOOLEAN_TYPE or CHAR_TYPE.
3146 (convert_to_boolean, convert_to_char) : Remove.
3147 * convert.h (convert_to_boolean, convert_to_char) : Remove.
3148 * expr.c (expand_load_internal): Do type conversion if type is not
3151 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
3154 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
3157 2004-12-07 Andrew Haley <aph@redhat.com>
3160 * jcf-parse.c (load_class): Remove sanity test for missing inner
3163 2004-12-06 Tom Tromey <tromey@redhat.com>
3165 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
3166 (java.uninstall): Likewise.
3167 (java.maintainer-clean): Likewise.
3168 (.INTERMEDIATE): Likewise.
3169 (java.install-man): Likewise.
3170 (gcj-dbtool.pod): New target.
3171 * gcj.texi (Code Generation): Document -findirect-dispatch.
3172 (libgcj Runtime Properties): Document
3173 gnu.gcj.precompiled.db.path.
3174 (Top): Link to "Invoking gcj-dbtool".
3176 2004-12-06 Tom Tromey <tromey@redhat.com>
3179 * java-tree.h (extract_field_decl): Declare.
3180 * parse.y (extract_field_decl): Renamed from
3181 strip_out_static_field_access_decl. No longer static.
3182 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
3184 2004-12-03 Tom Tromey <tromey@redhat.com>
3186 * lang.c (flag_new_verifier): Define.
3187 (java_post_options): Set flag_new_verifier if indirect dispatch
3189 * lang.opt (fnew-verifier): Removed.
3191 2004-12-03 Tom Tromey <tromey@redhat.com>
3194 * Make-lang.in (java.install-common): Only install transformed
3195 gcjh if gcj-cross exists.
3197 2004-12-03 Andrew Haley <aph@redhat.com>
3200 * except.c (link_handler): Patch 'outer' field of siblings of the
3201 range we're demoting.
3203 2004-12-03 Andrew Haley <aph@redhat.com>
3206 * class.c (layout_class_method): Don't fail to override a method
3207 simply because it has DECL_ARTIFICIAL set.
3209 2004-12-02 Tom Tromey <tromey@redhat.com>
3212 * parse.y (craft_constructor): Special case null_pointer_node.
3214 2004-12-02 Tom Tromey <tromey@redhat.com>
3217 * java-gimplify.c (java_gimplify_expr): Don't call
3218 SET_EXPR_LOCATION unless wrapped tree is an expression.
3220 2004-11-27 Per Bothner <per@bothner.com>
3222 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
3223 Fix fencepost error in 'i', which got executed one too many times.
3224 Also, fold memcpy into explicit loop, as originally intended.
3225 Also, free temporary 'buf' which otherwise leaks.
3227 2004-11-27 Per Bothner <per@bothner.com>
3229 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
3230 local static variables if not USE_MAPPED_LOCATION.
3232 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
3234 * class.c, decl.c, expr.c: Fix comment typos.
3236 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
3239 * decl.c (end_java_method): Call
3240 attach_init_test_initialization_flags on all the init_decls.
3241 * parse.y (attach_init_test_initialization_flags): Move to ...
3242 * expr.c (attach_init_test_initialization_flags): here and
3243 support BIND_EXPR also.
3244 * java-tree.h (attach_init_test_initialization_flags): Prototype.
3245 * jcf-parse.c (parse_class_file): Don't disable class init
3248 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
3250 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
3253 2004-11-24 Richard Henderson <rth@redhat.com>
3255 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
3256 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
3258 2004-11-24 Tom Tromey <tromey@redhat.com>
3260 * verify.c (defer_merging): Don't use C++-style comment.
3261 * verify.h (java_opcode): Added java_opcode_end.
3262 * class.c (build_class_ref): Remove C++ comment and old FIXME.
3264 * verify-impl.c (vfy_push_type): Removed bogus "return".
3265 (initialize_stack): Use vfy_alloc and vfy_free.
3266 (verify_instructions_0): Likewise.
3268 * Merged gcj-abi-2-dev-branch to trunk.
3270 2004-11-24 Andrew Haley <aph@redhat.com>
3272 * jcf-parse.c (parse_class_file): Set file_start_location.
3274 2004-11-10 Tom Tromey <tromey@redhat.com>
3276 * class.c (make_field_value): Don't call build_static_field_ref.
3277 (build_static_field_ref): Don't emit direct references when using
3280 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3281 -verbose:class into man page synopsis.
3283 2004-11-09 Tom Tromey <tromey@redhat.com>
3285 * expr.c (build_java_arraystore_check): Still generate check if
3286 element type is itself an array.
3288 2004-11-08 Tom Tromey <tromey@redhat.com>
3290 * java-tree.h (soft_check_assignment_node): Removed.
3291 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3292 * decl.c (java_init_decl_processing): Don't initialize
3293 soft_check_assignment_node.
3295 2004-11-05 Tom Tromey <tromey@redhat.com>
3297 * class.c (layout_class_methods): Don't add Miranda methods when
3298 using indirect dispatch.
3300 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3302 * class.c (make_class_data): Call emit_assertion_table to set the
3303 'assertion_table' field.
3304 (build_signature_for_libgcj): Move here from expr.c.
3305 (add_assertion_table_entry): New function. Callback for assertion
3306 hashtable traversal.
3307 (emit_assertion_table): New. Take class argument, and generate
3308 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3309 * decl.c (init_decl_processing): Define assertion_entry_type record.
3310 Push 'assertion_table' class field instead of 'verify'.
3311 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3312 (type_assertion_hash): Include 'assertion_code' in hash.
3313 (add_type_assertion): Rewritten. Take class and assertion_code
3314 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3315 (can_widen_reference_to): Use new add_type_assertion() arguments.
3316 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3317 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3318 (verify_identifier_node): Removed.
3319 (assertion_entry_type, assertion_table_type): New.
3320 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3321 assertion code definitions.
3322 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3323 'target_type' to 'op1' and 'op2'.
3324 (add_type_assertion): Declare.
3325 (lang_printable_name_wls): Remove unused definition.
3326 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3327 to emit runtime assertion.
3328 (vfy_note_stack_type): Clean up non-C90 declarations.
3329 (vfy_note_local_type): Likewise.
3330 * verify.h (vfy_is_assignable_from): Declare.
3331 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3332 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3333 instead of is_assignable_from_slow().
3334 (types_compatible): Reinstate ref_compatible() call.
3336 2004-11-04 Tom Tromey <tromey@redhat.com>
3338 * class.c (build_static_field_ref): Reverted previous patch.
3340 * class.c (build_static_field_ref): Don't emit direct references
3341 when using indirect dispatch.
3343 2004-11-03 Tom Tromey <tromey@redhat.com>
3345 * expr.c (expand_java_arrayload): Set lhs_type_node.
3346 (expand_java_arraystore): Set rhs_type_node.
3348 2004-11-02 Tom Tromey <tromey@redhat.com>
3350 * jcf-parse.c (compute_class_name): Use filename length from zip
3351 directory, not strlen.
3353 * expr.c (expand_invoke): Mark new interface methods as abstract.
3355 2004-11-01 Tom Tromey <tromey@redhat.com>
3357 * verify-impl.c (push_jump): Removed check for uninitialized
3359 (push_exception_jump): Likewise.
3360 (handle_ret_insn): Likewise.
3361 (handle_jsr_insn): Likewise.
3362 (state_check_no_uninitialized_objects): Removed.
3364 * decl.c (check_local_unnamed_variable): Recognize
3365 promoted-to-int parameters when using the new verifier.
3366 * expr.c (expand_java_arraystore): Explicitly request array type
3367 when using new verifier.
3368 (expand_java_arrayload): Likewise.
3369 (invoke_build_dtable): Don't pass object_type_node as
3370 expression argument to build_java_indirect_ref.
3371 (build_java_check_indexed_type): Do nothing.
3372 (build_java_arraystore_check): Handle case where array doesn't
3374 (build_java_array_length_access): Likewise.
3375 (expand_invoke): Handle case where interface overrides a method
3377 (pop_type_0): Always succeed for reference types.
3378 (process_jvm_instruction): Don't pop a value in a dead
3380 (pop_arguments): Convert arguments to correct types.
3382 2004-10-29 Andrew Haley <aph@redhat.com>
3384 * jcf-parse.c (give_name_to_class): Remove line that was
3387 2004-10-29 Andrew Haley <aph@redhat.com>
3389 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3391 2004-10-20 Andrew Haley <aph@redhat.com>
3393 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3395 2004-10-26 Tom Tromey <tromey@redhat.com>
3397 * verify.h (vfy_notify_verified): Removed.
3398 * verify-glue.c (vfy_notify_verified): Removed.
3400 2004-10-26 Tom Tromey <tromey@redhat.com>
3402 * verify-impl.c (debug_print_state): Declare `i' before code.
3403 (merge_types): Modify `t' when it is null_type.
3405 2004-10-26 Tom Tromey <tromey@redhat.com>
3407 * verify-impl.c (type_print): Renamed from print. Now static and
3409 (debug_print_state): Use type_print.
3411 2004-10-25 Tom Tromey <tromey@redhat.com>
3413 * expr.c (build_invokeinterface): Compute correct offset for
3414 index into interface methods.
3416 2004-10-20 Tom Tromey <tromey@redhat.com>
3418 * java-tree.h (verify_jvm_instructions_new): Declare.
3420 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
3423 * verify-impl.c (verify_instructions): Correctly handle wide
3425 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
3426 (vfy_get_component_type): Strip pointer types.
3427 (vfy_find_class): Use get_type_from_signature. Strip pointer
3429 Include java-except.h.
3431 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3433 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
3434 vfy_push_type_t, set_variable, add_new_state, merge_into,
3435 handle_jsr_insn, branch_prepass, check_class_constant,
3436 check_wide_constant, get_one_type, compute_static_types,
3437 verify_instructions_0): Clean up C99 declarations after statements.
3439 2004-10-20 Tom Tromey <tromey@redhat.com>
3441 * verify-impl.c (merge_refs): Compare reference against iterator,
3444 * verify-glue.c (vfy_tag): Mask off resolved flag.
3446 2004-10-19 Tom Tromey <tromey@redhat.com>
3448 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3449 (init_state_with_stack): Initialize `this_type' in state.
3450 (verify_method): Use debug_print.
3451 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3452 (vfy_note_stack_depth): Reverted last patch.
3453 (vfy_note_stack_type): Note pointer to Object, not Object.
3454 (vfy_note_local_type): Likewise.
3456 * verify.h (vfy_note_instruction_seen): Declare.
3457 * verify-glue.c (verify_jvm_instructions_new): Set
3458 BCODE_EXCEPTION_TARGET on target instruction.
3459 (vfy_note_instruction_seen): New function.
3460 * verify-impl.c (FLAG_INSN_SEEN): New define.
3461 (verify_instructions_0): Set flag on instruction. Save state for
3463 (verify_instructions): Call vfy_note_instruction_seen.
3465 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3466 (verify_jvm_instructions_new): Call method_init_exceptions,
3467 add_handler, and handle_nested_ranges.
3468 * verify-impl.c (verify_method): Return 1 on success.
3469 (verify_instructions_0): Save the state at PC=0.
3471 * verify-impl.c (init_type_from_class): Set is_resolved and