1 2008-07-06 Tom Tromey <tromey@redhat.com>
3 * Make-lang.in (java/parse.o-warn): Remove.
4 (java/jcf-io.o-warn): Remove.
6 2008-07-05 Tom Tromey <tromey@redhat.com>
8 * jcf-io.c: Don't include fnmatch.h. Don't use JCF_USE_SCANDIR.
9 (compare_path): Remove.
10 (java_or_class_file): Likewise.
11 (memoized_dirlist_entry): Likewise.
12 (memoized_dirlist_hash): Likewise.
13 (memoized_dirlist_lookup_eq): Likewise.
14 (memoized_dirlists): Likewise.
15 (caching_stat): Likewise.
16 (find_class): Use stat.
17 * jcf.h (JCF_USE_SCANDIR): Remove.
19 2008-06-30 Joshua Sumali <jsumali@redhat.com>
21 * Make-lang.in (JAVA_MANFILES): Add doc/aot-compile.1 and
23 (java.uninstall): Likewise.
24 (java.maintainer-clean): Likewise.
25 (aot-compile.pod): New rule.
26 (rebuild-gcj-db.pod): New rule.
27 (java.install-man): Install doc/aot-compile.1 and doc/rebuild-gcj-db.1
28 * gcj.texi: Add new sections for aot-compile and rebuild-gcj-db.
30 2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
32 * Make-lang.in (java/jcf-io.o-warn): New.
34 2008-06-24 Tom Tromey <tromey@redhat.com>
36 * jcf-path.c (jcf_path_init): Don't name variable 'try'.
37 * expr.c (add_type_assertion): Rename argument.
38 (build_java_arrayaccess): Don't name variable 'throw'.
39 (ARRAY_NEW_MULTI): Don't name variable 'class'.
40 * jcf-io.c (find_class): Don't name variable 'class'.
41 * mangle.c (compression_table_add): Don't name variable 'new'.
42 * constants.c (cpool_for_class): Rename argument.
43 (alloc_constant_fieldref): Likewise.
44 * jcf-parse.c (handle_innerclass_attribute): Don't name variable
46 (read_class): Likewise.
47 (parse_zip_file_entries): Likewise.
48 (process_zip_dir): Likewise.
49 * decl.c (java_mark_class_local): Rename argument.
50 * class.c (GEN_TABLE): Use type_name, not typename.
51 (gen_indirect_dispatch_tables): Likewise.
52 (add_field): Rename argument.
53 (is_compiled_class): Likewise.
54 (safe_layout_class): Likewise.
55 (emit_assertion_table): Likewise.
56 * typeck.c (has_method): Rename argument.
58 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
60 * class.c (ident_subst, mangled_classname, unmangle_classname,
61 gen_indirect_dispatch_tables, add_method_1,
62 build_fieldref_cache_entry, make_local_function_alias,
63 layout_class, java_treetreehash_find, java_treetreehash_new,
64 split_qualified_name): Fix for -Wc++-compat.
65 * constants.c (set_constant_entry, cpool_for_class): Likewise.
66 * decl.c (make_binding_level, java_dup_lang_specific_decl,
67 start_java_method): Likewise.
68 * except.c (prepare_eh_table_type): Likewise.
69 * expr.c (type_assertion_hash, note_instructions): Likewise.
70 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC,
71 MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
72 * jcf-io.c (jcf_filbuf_from_stdio, opendir_in_zip, find_class):
74 * jcf-parse.c (reverse, java_read_sourcefilenames,
75 annotation_grow, rewrite_reflection_indexes, java_parse_file,
76 process_zip_dir): Likewise.
77 * jcf-path.c (add_entry, add_path, jcf_path_init,
78 jcf_path_extdirs_arg): Likewise.
79 * jcf-reader.c (jcf_parse_constant_pool): Likewise.
80 * jvgenmain.c (do_mangle_classname): Likewise.
81 * lang.c (put_decl_string): Likewise.
82 * verify-impl.c (make_state_copy, make_state, add_new_state):
85 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
87 * gcj.texi: Expand TABs, remove whitespace from blank lines.
89 2008-06-14 Tom Tromey <tromey@redhat.com>
92 * class.c (build_class_ref): Initialize this_classdollar when
95 2008-05-23 Andrew Haley <aph@redhat.com>
97 * jcf-parse.c (give_name_to_class): Call find_sourcefile to find full
98 pathname of source file.
100 2008-05-12 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
102 * jcf-dump.c (print_constant): Use
103 HOST_LONG_LONG_FORMAT.
105 2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
107 * decl.c (java_init_decl_processing): Change DECL_IS_PURE to
110 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
112 * class.c (build_utf8_ref): Don't set TREE_INVARIANT.
113 (build_classdollar_field): Don't set TREE_INVARIANT.
114 (get_dispatch_table): Don't set TREE_INVARIANT.
115 (make_class_data): Don't set TREE_INVARIANT.
116 (build_symbol_entry): Don't set TREE_INVARIANT.
117 (emit_symbol_table): Don't set TREE_INVARIANT.
118 * constants.c (build_constant_data_ref): Don't set TREE_INVARIANT.
119 (build_ref_from_constant_pool): Don't set TREE_INVARIANT.
120 * resource.c (compile_resource_data): Don't set TREE_INVARIANT.
121 * expr.c (cache_cpool_data_ref): Don't set TREE_INVARIANT.
123 2008-04-03 Tom Tromey <tromey@redhat.com>
125 * Make-lang.in (java_OBJS): New variable.
127 2008-04-03 Paolo Bonzini <bonzini@gnu.org>
129 * java-tree.h (insert_block): Kill.
130 * decl.c (insert_block): Kill.
132 2008-04-01 Joseph Myers <joseph@codesourcery.com>
134 * gcj.texi: Include gpl_v3.texi instead of gpl.texi
135 * Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
138 2008-03-27 Tom Tromey <tromey@redhat.com>
140 * Make-lang.in: Revert automatic dependency patch.
142 2008-03-25 Tom Tromey <tromey@redhat.com>
144 * Make-lang.in: Removed most explicit .o targets.
145 (java/jvspec.o): Reduce to variable setting. Moved to java/.
146 ($(GCJ)$(exeext)): Update.
147 (JAVA_OBJS): New variable.
148 (JCFDUMP_OBJS): Reformat.
149 (java_OBJS): New variable.
150 (java/jvspec.o-warn): Update.
151 (java/parse.o-warn): Remove.
152 (JAVA_TREE_H): Remove.
153 (java/jcf-io.o): Reduce to variable setting.
154 (ALL_CPPFLAGS): Likewise.
156 2008-03-12 Paolo Bonzini <bonzini@gnu.org>
158 * mangle.c (java_mangle_decl): Remove dead check.
160 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
162 * jcf-parse.c (java_parse_file): Assert binding levels are
164 * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
167 2008-03-02 Jakub Jelinek <jakub@redhat.com>
169 * jcf-dump.c (version): Update copyright notice dates.
171 2008-02-29 Tom Tromey <tromey@redhat.com>
173 * expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
175 * java-tree.h (struct lang_decl_func): Remove obsolete comment.
177 2008-02-26 Tom Tromey <tromey@redhat.com>
179 * lang.c (java_post_options): Remove conditional.
180 * expr.c (expand_byte_code): Remove old location code.
181 * jcf-parse.c (set_source_filename): Remove old location code.
182 (give_name_to_class): Likewise.
183 (jcf_parse): Likewise.
184 (duplicate_class_warning): Likewise.
185 (parse_class_file): Likewise.
186 (java_parse_file): Likewise.
187 * decl.c (finish_method): Remove old location code.
188 * class.c (push_class): Remove old location code.
190 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
193 * Make-lang.in (jc1): Add $(GMPLIBS).
195 2008-01-23 David Daney <ddaney@avtrex.com>
197 * class.c (hide) Rename to...
198 (java_hide_decl) ... this throughout, and make public.
199 * resource.c (Jr_count): Remove.
200 (compile_resource_data): Call java_mangle_resource_name to generate
201 decl name. Make resource decl public and hidden.
202 * mangle.c (java_mangle_resource_name): New function.
203 * java-tree.h (java_hide_decl, java_mangle_resource_name): Declare
206 2008-01-04 Andrew Haley <aph@redhat.com>
209 * jcf-parse.c (parse_zip_file_entries): Move decl to compile on
212 2008-01-03 Andrew Haley <aph@redhat.com>
215 * jcf-parse.c (parse_zip_file_entries): Unset TYPE_ALIAS_SET if
216 we're about to re-layout the type.
218 2007-12-20 Alexandre Oliva <aoliva@redhat.com>
220 * lang.c (java_classify_record): Don't return
221 RECORD_IS_INTERFACE for now.
223 2007-12-18 Andrew Haley <aph@redhat.com>
226 * jcf-parse.c (java_parse_file): Remove call to
227 java_mark_class_local.
228 (parse_class_file): Reinstate call to java_mark_class_local here.
229 * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
230 already set, call java_mangle_decl() and make_decl_rtl() to
231 rewrite its name as a hidden alias.
233 2007-12-15 Alexandre Oliva <aoliva@redhat.com>
236 * lang.c (java_classify_record): New.
237 (LANG_HOOKS_CLASSIFY_RECORD): Override.
239 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
242 * decl.c (finish_method): Pass 'false' for the new
243 allocate_struct_function parameter.
245 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
247 * expr.c (build_jni_stub): Use the computed jni func type for
250 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
252 * class.c (JAVA_TREEHASHHASH_H): Use TYPE_UID.
254 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
256 * expr.c (type_assertion_hash): Hash type uids rather than
259 2007-11-17 David Daney <ddaney@avtrex.com>
260 Andrew Haley <aph@redhat.com>
262 * constants.c (build_constants_constructor): Use POINTER_SIZE
263 insead of BITS_PER_WORD in big-endian work around.
265 2007-11-07 Tom Tromey <tromey@redhat.com>
268 * gcj.texi (Input Options): Add missing noun.
270 2007-11-02 Tom Tromey <tromey@redhat.com>
273 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
274 * zipfile.h (ZIPEMPTYMAGIC): New define.
276 2007-11-01 Tom Tromey <tromey@redhat.com>
278 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
279 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
280 (java/jcf-io.o): Depend on zipfile.h.
282 2007-10-17 Richard Guenther <rguenther@suse.de>
284 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
287 2007-10-03 Andrew Haley <aph@redhat.com>
290 * class.c (mangled_classname): Detect and replace illegal
291 characters in assembly language symbols.
292 (gen_indirect_dispatch_tables): Call mangled_classname() on
295 2007-09-27 Jakub Jelinek <jakub@redhat.com>
297 * lang.c (java_print_error_function): Add third argument.
299 2007-09-15 Tom Tromey <tromey@redhat.com>
301 * java-tree.h (struct lang_decl_func) <function_decl_body>:
303 <init_final>: Likewise.
304 * lang.c (java_dump_tree): Update.
305 * java-tree.h (DECL_FUNCTION_BODY): Remove.
307 2007-09-11 Jan Hubicka <jh@suse.cz>
309 * decl.c (java_expand_body): Kill.
310 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
312 2007-09-06 Tom Tromey <tromey@redhat.com>
314 * jcf-parse.c (parse_class_file): Re-enter the current file.
316 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
318 * boehm.c (mark_reference_fields): Move misaligned pointer check
319 after JREFERENCE_TYPE_P test
321 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
323 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
324 if pointer is misaligned.
326 2007-09-06 Tom Tromey <tromey@redhat.com>
328 * lang.c (java_post_options): Update.
329 * jcf-parse.c (set_source_filename): Update.
330 (give_name_to_class): Update.
332 (duplicate_class_warning): Update.
333 (parse_class_file): Update.
334 (java_parse_file): Update.
335 * expr.c (expand_byte_code): Update.
337 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
339 * decl.c (finish_method): Use set_cfun.
341 2007-09-04 Andrew Haley <aph@redhat.com>
343 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
344 when using the ARM EABI.
346 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
348 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
350 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
352 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
354 * jcf.h (JCF_FINISH): Likewise.
356 2007-08-28 Tom Tromey <tromey@redhat.com>
358 * Make-lang.in (java.tags): Don't tag '*.y' files.
360 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
362 * lang.c (java_decl_ok_for_sibcall): Likewise.
364 2007-08-21 Paul Brook <paul@codesourcery.com>
365 Nathan Sidwell <nathan@codesourcery.com>
366 Mark Mitchell <mark@codesourcery.com>
367 Joseph Myers <joseph@codesourcery.com>
369 * jcf-dump.c (version): Use pkgversion_string. Update copyright
372 2007-08-20 Richard Guenther <rguenther@suse.de>
374 * lang.c (java_tree_inlining_walk_subtrees): Remove.
375 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
377 2007-08-17 Tom Tromey <tromey@redhat.com>
379 * typeck.c (find_method_in_interfaces): Update.
380 * jcf-parse.c (load_class): Update.
381 * java-gimplify.c (java_gimplify_component_ref): Removed.
382 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
384 (java_gimplify_expr): Update.
385 * decl.c (java_init_decl_processing): Update.
386 * class.c (set_constant_value): Update.
387 (make_class_data): Update.
388 (finish_class): Update.
389 (build_static_field_ref): Update.
390 (is_compiled_class): Update.
391 (maybe_layout_super_class): Update.
392 (layout_class): Update.
393 (layout_class_method): Update.
394 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
395 (lang_decl_var) <am, final_iud, cif>: Removed fields.
396 (lang_decl_func) <init_calls_this>: Removed field.
397 (lang_type) <dot_class, verify_method>: Removed fields.
398 (FIELD_NESTED_ACCESS): Removed.
399 (FIELD_NESTED_ACCESS_P): Removed.
400 (DECL_FIELD_FINAL_IUD): Removed.
401 (DECL_LOCAL_FINAL_IUD): Removed
402 (LOCAL_FINAL_P): Removed.
403 (FINAL_VARIABLE_P): Removed.
404 (CLASS_FINAL_VARIABLE_P): Removed.
405 (DECL_BIT_INDEX): Removed.
406 (DECL_INIT_CALLS_THIS): Removed.
407 (FIELD_LOCAL_ALIAS): Removed.
408 (FIELD_LOCAL_ALIAS_USED): Removed.
409 (FIELD_THISN): Removed.
410 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
411 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
412 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
413 (TYPE_DOT_CLASS): Removed.
414 (TYPE_VERIFY_METHOD): Removed.
415 (ID_CLASSDOLLAR_P): Removed.
416 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
418 (classdollar_identifier_node): Removed.
419 (TYPE_UNKNOWN): Removed.
420 (CLASS_FROM_SOURCE_P): Removed.
421 * expr.c (build_jni_stub): Update.
422 (force_evaluation_order): Update.
423 (build_java_empty_stmt): Update.
424 (build_class_init): Update.
425 (java_stack_swap): Update.
426 (build_jni_stub): Update.
428 2007-08-17 Tom Tromey <tromey@redhat.com>
430 * java-tree.h (LABEL_TYPE_STATE): Removed.
431 (load_type_state): Removed.
433 (LABEL_VERIFIED): Removed.
434 (type_states): Declare.
435 * expr.c (type_states): New global.
436 (load_type_state): Now static. Use type_states. Changed
438 (lookup_label): Don't set LABEL_PC.
439 (expand_byte_code): Don't use LABEL_VERIFIED.
440 (note_instructions): Initialize type_states.
441 * verify-glue.c (vfy_note_stack_depth): Rewrote.
442 (vfy_note_stack_type): Use type_states.
443 (vfy_note_local_type): Likewise.
445 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
447 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
448 * jcf.h (JCF_FINISH): Likewise.
450 2007-07-31 Nick Clifton <nickc@redhat.com>
452 * java-gimplify.c: Change copyright header to refer to version 3
453 of the GNU General Public License and to point readers at the
454 COPYING3 file and the FSF's license web page.
455 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
456 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
457 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
458 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
459 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
460 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
461 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
463 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
465 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
467 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
469 * lang.c (java_get_callee_fndecl): Constify.
471 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
473 * mangle.c (set_type_package_list): Constify.
474 * verify-glue.c (vfy_make_string): Delete.
475 * verify.h (vfy_make_string): Likewise.
477 2007-07-26 Tom Tromey <tromey@redhat.com>
479 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
480 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
481 EXIT_BLOCK_LABELED_BLOCK): Likewise.
482 * lang.c (java_tree_inlining_walk_subtrees): Update.
483 (java_dump_tree): Likewise.
484 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
486 * decl.c (push_labeled_block, pop_labeled_block): Remove.
487 * java-gimplify.c (java_gimplify_labeled_block_expr,
488 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
489 (java_gimplify_expr): Update.
491 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
493 * class.c (java_treetreehash_hash, java_treetreehash_compare):
495 * expr.c (type_assertion_eq): Likewise.
496 * jcf-io.c (compare_path): Likewise.
497 * jcf-parse.c (cmpstringp): Likewise.
498 * verify-impl.c (get_one_type, compute_argument_types,
499 compute_return_type): Likewise.
501 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
505 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
507 2007-07-12 Richard Guenther <rguenther@suse.de>
509 * expr.c (expand_java_return): RETURN_EXPR has void type.
510 (build_jni_stub): Likewise. Use a comparison against zero
511 for null-pointer test in COND_EXPR.
512 (build_field_ref): Build POINTER_PLUS_EXPR with correct
513 type. Convert result instead.
514 (build_invokevirtual): Likewise.
516 2007-07-09 Geoffrey Keating <geoffk@apple.com>
519 * lang.c (java_init): Remove setting of force_align_functions_log.
520 * class.c (add_method_1): Set DECL_ALIGN of non-static method
521 to cope with ptrmemfunc_vbit_in_pfn.
523 2007-07-03 David Daney <ddaney@avtrex.com>
525 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
529 (java/index.html): Same.
531 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
533 * class.c (make_class_data): Build the index in sizetype.
534 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
535 adding to a pointer type.
536 (build_symbol_entry): Likewise.
537 * expr.c (build_java_arrayaccess): Likewise.
538 (build_field_ref): Likewise.
539 (build_known_method_ref): Likewise.
540 (build_invokevirtual): Likewise.
541 * except.c (build_exception_object_ref): Do a
542 NEGATIVE and then a POINTER_PLUS_EXPR instead
545 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
547 * typeck.c (java_signed_type): Remove.
548 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
549 * java-tree.h (java_signed_type): Remove.
551 2007-05-18 Geoffrey Keating <geoffk@apple.com>
553 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
554 (print_constant): Likewise.
556 2007-05-14 Rafael Avila de Espindola <espindola@google.com>
558 * expr.c (build_java_binop): Use unsigned_type_for instead of
560 * java-tree.h (java_unsigned_type): Remove.
561 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
562 * typeck.c (java_unsigned_type): Remove.
564 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
566 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
567 instead of checking GIMPLE_STMT_P in chain_next.
569 2007-04-06 Colin Walters <walters@redhat.com>
571 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
572 * jcf-io.c (open_class): Copy 'filename'.
574 2007-04-03 Andrew Haley <aph@redhat.com>
576 * jvgenmain.c (main): Change main to use class$, not class$$.
577 (do_mangle_classname): Likewise.
578 * class.c (hide): New function.
579 (add_field): Hide everything that shouldn't be visible outside a
581 (build_static_class_ref): Likewise.
582 (build_classdollar_field): Likewise.
583 (make_class_data): Likewise.
584 (layout_class_method): Likewise.
585 * expr.c (special_method_p): New function.
587 * class.c (push_class): Don't bogusly guess the source filename.
588 * jcf-parse.c (give_name_to_class): Don't set input_location from
589 DECL_ARTIFICIAL decls.
591 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
593 * typeck.c (java_signed_or_unsigned_type): Removed.
594 (java_signed_type): use get_signed_or_unsigned_type instead of
595 java_signed_or_unsigned_type.
596 (java_unsigned_type): Ditto.
597 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
598 * java-tree.h (java_signed_or_unsigned_type): Removed.
600 2007-03-26 Tom Tromey <tromey@redhat.com>
602 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
603 (java.maintainer-clean): Likewise.
604 (java.install-man): Likewise.
605 (.INTERMEDIATE): Removed grmiregistry.pod.
606 (grmiregistry.pod): Removed.
607 * gcj.texi (Invoking gcjh): Removed.
608 (Invoking gjnih): Likewise.
609 (Invoking grmiregistry): Likewise.
612 (which-gcj): Removed.
614 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
616 * Make-lang.in: Add install-pdf target as copied from
617 automake v1.10 rules.
619 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
621 * gcj.texi: Standardize title page.
623 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
625 * class.c: Fix a comment typo.
627 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
628 Brooks Moses <brooks.moses@codesourcery.com>
629 Lee Millward <lee.millward@codesourcery.com>
631 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
633 (BUILD_MONITOR_EXIT): Likewise.
635 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
636 (java_gimplify_modify_expr): Likewise.
638 * class.c (cache_this_class_ref): Use build_call_expr.
639 (build_static_field_ref): Likewise.
640 (emit_indirect_register_classes): Likewise.
641 (emit_register_classes): Likewise.
643 * resource.c (write_resource_constructor): Use build_call_expr.
645 * builtins.c (builtin_creator_function): Change interpretation of
646 the second parameter to be the whole CALL_EXPR instead of the arglist.
647 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
648 (min_builtin): Likewise.
649 (abs_builtin): Likewise.
650 (java_build_function_call_expr): Likewise.
651 (convert_real): Likewise.
652 (UNMARSHAL3): Likewise.
653 (UNMARSHAL4): Likewise.
654 (UNMARSHAL5): Likewise.
655 (build_arglist_for_builtin): Delete. Fix callers to use
656 build_call_expr instead.
657 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
659 (compareAndSwapInt_builtin): Likewise.
660 (compareAndSwapLong_builtin): Likewise.
661 (compareAndSwapObject_builtin): Likewise.
662 (putVolatile_builtin): Likewise.
663 (getVolatile_builtin): Likewise.
664 (VMSupportsCS8_builtin): Likewise.
665 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
668 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
669 (build_java_throw_out_of_bounds_exception): Likewise.
670 (java_check_reference): Likewise.
671 (build_java_arraystore_check): Likewise.
672 (build_newarray): Likewise.
673 (build_anewarray): Likewise.
674 (expand_java_multinewarray): Use build_call_list instead of build3.
675 (build_java_monitor): Use build_call_nary instead of build3.
676 (java_create_object): Likewise.
677 (expand_java_NEW): Likewise.
678 (build_instanceof): Likewise.
679 (expand_java_CHECKCAST): Likewise.
680 (build_java_soft_divmod): Likewise.
681 (build_java_binop): Likewise.
682 (build_field_ref): Likewise.
683 (build_class_init): Likewise.
684 (rewrite_arglist_getcaller): Use build_call_expr.
685 (build_invokeinterface): Use build_call_nary instead of build3.
686 (expand_invoke): Use build_call_list instead of build3.
687 (build_jni_stub): Use build_call_nary, build_call_list, or
688 build_call_expr instead of build3.
689 (expand_java_field_op): Use build_call_expr instead of build3.
690 (force_evaluation_order): Use new CALL_EXPR accessors.
692 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
694 2007-02-15 David Daney <ddaney@avtrex.com>
696 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
697 (java.maintainer-clean):Add gc-analyze.1.
698 (.INTERMEDIATE): Add gc-analyze.pod.
699 (gc-analyze.pod): New rule.
700 (java.install-man): Install gc-analyze.1
701 * gcj.texi: Add new section for the gc-analyze program.
703 2007-02-07 Andrew Haley <aph@redhat.com>
705 * class.c (uncache_this_class_ref): New.
706 * expr.c (build_jni_stub): Initialize the class.
707 (expand_byte_code): Call uncache_this_class_ref after generating
710 2007-02-06 Tom Tromey <tromey@redhat.com>
713 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
715 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
717 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
719 2007-02-02 Andrew Haley <aph@redhat.com>
721 * expr.c (expand_byte_code): Call cache_this_class_ref() and
722 cache_cpool_data_ref().
723 Set TYPE_CPOOL_DATA_REF.
724 (cache_cpool_data_ref): New function.
725 * constants.c (build_ref_from_constant_pool): Remove special-case
726 code for flag_indirect_classes.
727 (build_constant_data_ref): Move special-case code for
728 flag_indirect_classes here from build_ref_from_constant_pool.
729 * decl.c (finish_method): Move class initialization from here to
730 cache_this_class_ref.
731 * class.c (cache_this_class_ref): New function.
732 (build_class_ref): Use this_classdollar for the ouput class.
734 2007-02-02 David Daney <ddaney@avtrex.com>
736 * class.c (is_compiled_class): Move check to avoid reloading
738 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
741 2007-02-01 Andrew Haley <aph@redhat.com>
744 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
746 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
748 * class.c, jcf-parse.c: Fix comment typos.
750 2007-01-30 Tom Tromey <tromey@redhat.com>
752 * gcj.texi (Strings): Fix documentation for JvNewString.
754 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
756 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
759 2007-01-30 Ben Elliston <bje@au.ibm.com>
761 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
763 2007-01-29 Tom Tromey <tromey@redhat.com>
766 * jvspec.c (lang_specific_driver): Handle separate -I argument.
767 * lang.opt (-I): Add 'Separate'.
769 2007-01-29 Andrew Haley <aph@redhat.com>
771 * class.c (add_method_1): Mark fndecl as external unless we are
772 compiling it into this object file.
774 2007-01-24 Andrew Haley <aph@redhat.com>
776 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
777 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
779 2007-01-22 Andrew Haley <aph@redhat.com>
781 * builtins.c (VMSupportsCS8_builtin): New function.
783 2007-01-23 Andrew Pinski <pinskia@gmail.com>
786 * jcf-io.c (opendir_in_zip): Close the file
787 and free zipf before returning after an error.
789 2007-01-16 Tom Tromey <tromey@redhat.com>
791 * java-tree.def: Added copyright header.
793 2007-01-15 Tom Tromey <tromey@redhat.com>
795 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
797 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
799 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
800 (EXPR_WFL_NODE): Likewise.
801 (EXPR_WFL_LINECOL): Likewise.
802 (EXPR_WFL_FILENAME): Likewise.
803 (EXPR_WFL_LINENO): Likewise.
804 (build_expr_wfl, expr_add_location): Don't declare.
805 (build_unknown_wfl): Removed.
806 (EXPR_WFL_FILENAME_NODE): Removed.
807 (EXPR_WFL_COLNO): Removed.
808 (EXPR_WFL_SET_LINECOL): Removed.
809 (DECL_FUNCTION_WFL): Removed.
810 (DECL_FIELD_FINAL_WFL): Removed.
811 (struct lang_decl_func) <wfl>: Removed field.
812 <called_constructor>: Likewise.
813 <inner_access>: Likewise.
814 (struct lang_decl_var) <wfl>: Removed field.
815 (DECL_CONSTRUCTOR_CALLS): Removed.
816 (DECL_FUNCTION_ACCESS_DECL): Likewise.
817 (DECL_FUNCTION_INNER_ACCESS): Likewise.
818 (DECL_SPECIFIC_COUNT): Likewise.
819 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
820 * expr.c (build_expr_wfl): Removed.
821 (expr_add_location): Likewise.
823 2007-01-12 Tom Tromey <tromey@redhat.com>
825 * jcf-dump.c (main): Updated call to find_class.
826 * lang.c (java_init): Removed dead code.
827 * jcf-parse.c (read_class): Don't use java_source field. Removed
829 (parse_zip_file_entries): Don't use java_source field.
830 (process_zip_dir): Likewise.
831 (jcf_parse): Removed dead code.
832 (java_parse_file): Likewise.
833 (read_class): Updated call to find_class.
834 * jcf-io.c (find_class): Don't use java_source field. Removed
835 'source_ok' argument, .java logic.
836 * jcf.h (JCF) <java_source>: Removed field.
837 (JCF_ZERO): Updated. (find_class): Updated.
838 * decl.c: Removed dead code.
839 * class.c: Removed dead code.
841 2007-01-11 Tom Tromey <tromey@redhat.com>
843 * typeck.c (convert): Don't use flag_emit_class_files.
844 * lang.c (java_post_options): Don't use flag_emit_class_files.
845 (java_handle_option): Don't use flag_extraneous_semicolon or
847 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
848 flag_emit_class_files.
849 (load_class): Likewise.
850 * java-tree.h (flag_emit_class_files): Don't declare.
851 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
852 (flag_extraneous_semicolon): Don't declare.
853 (flag_not_overriding): Likewise.
854 (flag_static_local_jdk1_1): Likewise.
855 (flag_redundant): Likewise.
856 * expr.c (build_newarray): Don't use flag_emit_class_files.
857 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
858 flag_emit_class_files.
859 (build_class_ref): Likewise.
860 * builtins.c (check_for_builtin): Don't use
861 flag_emit_class_files.
863 2007-01-10 Tom Tromey <tromey@redhat.com>
865 * lang.c (java_can_use_bit_fields_p): Removed.
866 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
868 2007-01-09 Andrew Haley <aph@redhat.com>
870 * expr.c (build_java_arrayaccess): Rewrite to generate array
871 access in canonical form.
872 (expand_java_arraystore): Use build_fold_addr_expr() on address of
875 2007-01-03 Andrew Haley <aph@redhat.com>
878 * expr.c (expand_java_field_op): If we're initializing a field's
879 declaring interface we should not also initialize the class
880 context in which it was referenced.
882 2007-01-02 Tom Tromey <tromey@redhat.com>
884 * java-tree.h (compiling_from_source, current_encoding,
885 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
886 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
887 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
888 JTI_WFL_OPERATOR): Removed
889 (finit_identifier_node, instinit_identifier_node,
890 length_identifier_node, super_identifier_node,
891 continue_identifier_node, access0_identifier_node, wfl_operator):
893 (cyclic_inheritance_report,
894 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
895 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
896 DECL_FIXED_CONSTRUCTOR_P): Removed.
897 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
899 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
900 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
901 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
902 import_list, import_demand_list>: Removed.
903 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
904 cxx_keyword_p): Removed.
905 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
906 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
907 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
908 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
909 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
910 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
911 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
912 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
913 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
914 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
915 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
916 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
917 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
918 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
919 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
920 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
921 java_parse_abort_on_error, extract_field_decl): Removed.
923 * lang.c: (compiling_from_source, current_encoding): Removed.
924 (java_handle_option): Ignore -fencoding.
925 * parse.h: Don't include lex.h.
926 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
927 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
928 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
929 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
930 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
931 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
932 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
933 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
934 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
935 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
936 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
937 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
938 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
939 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
940 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
941 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
942 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
943 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
944 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
945 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
946 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
947 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
948 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
949 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
950 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
951 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
952 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
953 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
954 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
955 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
956 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
957 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
958 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
959 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
960 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
961 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
962 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
963 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
964 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
965 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
966 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
967 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
968 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
969 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
970 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
971 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
972 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
973 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
974 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
975 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
976 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
977 SET_CPC_STATIC_INITIALIZER_STMT,
978 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
979 java_complete_class, java_check_circular_reference,
980 java_fix_constructors, java_layout_classes, java_reorder_fields,
981 java_method_add_stmt, java_get_line_col, reset_report,
982 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
983 java_finish_classes, ctxp, ctxp_for_generation,
984 ctxp_for_generation_last): Removed.
985 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
986 * mangle.c (utf8_cmp): New function.
987 (cxx_keywords): New global.
988 (cxx_keyword_p): New function.
989 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
990 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
991 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
992 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
993 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
994 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
995 * Make-lang.in (java.srcextra): Do nothing.
996 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
997 (JAVA_OBJS): Don't mention deleted files.
998 (java.mostlyclean): Likewise.
999 (java.clean): Likewise.
1000 (JAVA_LEX_C): Removed.
1001 (buffer.o, check-init.o, parse.o): Remove unused targets.
1002 (typeck.o): Updated.
1003 * jcf-parse.c (read_class): Comment out unused code.
1004 (java_layout_seen_class_methods): New function.
1005 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
1007 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
1008 (init_jcf_parse): Removed.
1009 * config-lang.in (gtfiles): Remove deleted files.
1010 * decl.c (java_init_decl_processing): Don't initialize
1011 finit_identifier_node, instinit_identifier_node,
1012 length_identifier_node, super_identifier_node,
1013 continue_identifier_node, access0_identifier_node. Don't call
1015 * class.c (cyclic_inheritance_report): New global.
1016 (add_method_1): Don't use
1017 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
1018 (maybe_layout_super_class): Comment out code.
1019 (safe_layout_class): New function.
1020 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
1021 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
1022 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
1023 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
1024 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
1025 (java_gimplify_case_expr): Removed.
1026 (java_gimplify_default_expr): Likewise.
1027 (java_gimplify_new_array_init): Likewise.
1029 * keyword.gperf, keyword.h: Removed.
1030 * chartables.h: Removed.
1031 * check-init.c: Removed.
1032 * buffer.c, buffer.h: Removed.
1033 * convert.h: Removed.
1034 * gen-table.pl: Removed.
1035 * lex.c, lex.h: Removed.
1037 2007-01-02 Andrew Haley <aph@redhat.com>
1039 * expr.c (expand_java_arraystore): Make sure we perform a bounds
1040 check at runtime before we perform a type check.
1042 2006-12-19 Andrew Haley <aph@redhat.com>
1044 * decl.c: Bump minor BC ABI version.
1046 2006-12-13 Gary Benson <gbenson@redhat.com>
1048 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
1050 2006-12-12 Tom Tromey <tromey@redhat.com>
1052 * lang-specs.h: Pass -M options to jc1.
1053 * jcf-depend.c (jcf_dependency_add_file): Don't emit
1056 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
1058 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
1060 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
1062 * lang-specs.h: Pass '%U'-based options as separate arguments.
1064 2006-12-05 Tom Tromey <tromey@redhat.com>
1067 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
1069 * class.c (add_field): Handle ACC_SYNTHETIC.
1070 (add_method_1): Likewise. Handle bridge and varargs.
1071 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
1073 (set_class_decl_access_flags): Handle synthetic and annotation.
1074 * java-tree.h (METHOD_BRIDGE): New macro.
1075 (METHOD_VARARGS): Likewise.
1076 (TYPE_SYNTHETIC): Likewise.
1077 (TYPE_ANNOTATION): Likewise.
1078 (lang_type): New fields 'synthetic' and 'annotation'.
1079 (lang_decl_func): New fields 'varargs' and 'bridge'.
1081 2006-12-04 Andrew Haley <aph@redhat.com>
1083 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
1086 2006-11-29 Gary Benson <gbenson@redhat.com>
1088 * expr.c (rewrite_arglist_getcaller): Reorder.
1090 2006-11-29 Andrew Haley <aph@redhat.com>
1092 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
1093 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
1095 2006-11-23 Andrew Haley <aph@redhat.com>
1097 * expr.c (rewrite_arglist_getcaller): New.
1098 (rewrite_arglist_getclass): Fix indentation.
1099 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
1100 gnu.classpath.VMStackWalker.getCallingClassLoader().
1101 * builtins.c (initialize_builtins): Remove duplicate def'n of
1103 Add __builtin_return_address.
1105 2006-11-22 Andrew Haley <aph@redhat.com>
1107 * jcf-reader.c (get_attribute): Mark attr_type unused.
1109 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
1111 2007-01-08 Richard Guenther <rguenther@suse.de>
1113 * lex.c (do_java_lex): Use build_int_cst_wide_type.
1114 * jcf-parse.c (get_constant): Likewise.
1116 2006-11-12 Jan Hubicka <jh@suse.cz>
1118 * resource.c (compile_resource_data): Update for new varpool names.
1119 * java/class.c (build_utf8_ref): Likewise.
1121 2006-11-12 David Daney <ddaney@avtrex.com>
1124 * typeck.c (build_java_array_type): Increase buffer sizes.
1126 2006-11-11 Richard Guenther <rguenther@suse.de>
1128 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
1129 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
1131 2006-11-06 Andrew Haley <aph@redhat.com>
1133 * java-tree.h (CONSTANT_LazyFlag): New.
1134 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
1135 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
1137 (handle_constant): Return 0 for dummy cpool entries.
1138 Handle constants of kind Class.
1139 Handle constants of kind NameAndType.
1140 (handle_enclosingmethod_attribute): New.
1141 (handle_signature_attribute): New.
1142 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
1143 (HANDLE_SIGNATURE_ATTRIBUTE): New.
1144 (handle_constant): Use unmangle_classname()rather than calling
1145 identifier_subst() directly.
1147 2006-11-02 Andrew Haley <aph@redhat.com>
1149 * java-tree.h (FIELD_ENUM): New.
1150 (lang_decl_var.field_enum): New.
1151 (lang_type.enum_class): New.
1153 * class.c (set_class_decl_access_flags): Handle enum types.
1154 (add_field): Handle enum fields.
1155 (get_access_flags_from_decl): Likewise.
1157 * class.c (make_class_data): Put reflection_data into rodata.
1159 2006-11-01 Andrew Haley <aph@redhat.com>
1161 * jcf-parse.c (field_offsets, bit_obstack): New variables.
1162 (jcf_parse): Write end marker to annotation_data.
1163 (java_parse_file): Create field_offsets bitmap. Destroy it.
1164 (annotation_grow, annotation_rewrite_byte)
1165 (annotation_rewrite_short, annotation_rewrite_int)
1166 (annotation_read_short, annotation_write_byte)
1167 (annotation_write_short, annotation_write_int)
1168 (handle_long_constant, handle_constant, handle_element_value)
1169 (handle_annotation, handle_annotations)
1170 (handle_annotation_attribute, rewrite_reflection_indexes)
1171 (handle_member_annotations, handle_parameter_annotations)
1172 (handle_default_annotation): New functions.
1173 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
1174 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
1175 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1176 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1177 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
1178 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
1179 (TYPE_REFLECTION_DATA): New.
1180 (TYPE_REFLECTION_DATASIZE): New.
1181 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
1183 * jcf-reader.c (get_attribute): Pass field/method index and
1184 attribute type to get_attribute().
1185 * constants.c (find_class_or_string_constant): Make nonstatic.
1186 (cpool_for_class): Likewise.
1187 (build_constants_constructor): Separate string and scalar types.
1188 * class.c (make_class_data): Generate field_indexes permutation.
1189 Pass it to rewrite_reflection_indexes().
1190 (make_class_data): Generate constructor for reflection_data field.
1192 2006-10-20 Tom Tromey <tromey@redhat.com>
1194 * gcj.texi (Top): Don't mention jv-scan.
1195 (Invoking gcj): Likewise.
1196 (Invoking gcjh): Likewise.
1197 (Invoking gjnih): Likewise.
1198 (Invoking gij): Likewise.
1199 (Invoking gcj-dbtool): Likewise.
1200 (Invoking jv-scan): Removed.
1201 * parse-scan.y: Removed.
1202 * jv-scan.c: Removed.
1203 * config-lang.in (stagestuff): Don't mention jv-scan.
1204 * Make-lang.in (java): Removed jv-scan.
1205 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1206 (JVSCAN_OBJS): Removed.
1207 (jv-scan$(exeext)): Likewise.
1208 (JAVA_MANFILES): Removed jv-scan.1.
1209 (java.uninstall): Don't mention jv-scan.
1210 (java.mostlyclean): Likewise.
1211 (java.maintainer-clean): Likewise.
1212 (.INTERMEDIATE): Likewise.
1213 (java/jv-scan.o): Removed.
1214 (jv-scan.pod): Likewise.
1215 (java.srcextra): Don't mention parse-scan.c.
1216 (java.mostlyclean): Likewise.
1217 (java/parse-scan.c): Removed.
1218 (java/parse-scan.o-warn): Removed.
1219 (java/parse-scan.o): Removed.
1221 2006-10-20 Tom Tromey <tromey@redhat.com>
1223 * lang.c (java_handle_option): Don't use
1224 jcf_write_base_directory.
1225 * jcf.h (jcf_write_base_directory): Removed.
1226 * parse.y (java_expand_classes): Don't call write_classfile.
1227 * config-lang.in (gtfiles): Removed jcf-write.c.
1228 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
1229 (java/jcf-write.o): Removed.
1230 * jcf-parse.c (parse_class_file): Don't call write_classfile.
1231 * java-tree.h (write_classfile): Removed declaration.
1232 * jcf-write.c: Removed.
1234 2006-10-20 Tom Tromey <tromey@redhat.com>
1236 * Make-lang.in (java): Removed gjnih, gcjh.
1237 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1238 (GCJH_OBJS): Removed.
1239 (GJNIH_OBJS): Likewise.
1240 (gjnih$(exeext)): Likewise.
1241 (gcjh$(exeext)): Likewise.
1242 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
1243 (java.install-common): Don't special case gcjh.
1244 (java.uninstall): Don't mention gcjh, gjnih.
1245 (java.mostlyclean): Likewise.
1246 (java.maintainer-clean): Likewise.
1247 (.INTERMEDIATE): Likewise.
1248 (gcjh.pod): Removed.
1249 (gjnih.pod): Likewise.
1250 (GCJH_TARGET_INSTALL_NAME): Removed.
1251 (java/gjavah-jni.o): Removed.
1252 (java/gjavah.o): Likewise.
1253 * config-lang.in (stagestuff): Removed gjnih, gcjh.
1254 * gjavah.c: Removed.
1256 2006-10-17 Tom Tromey <tromey@redhat.com>
1258 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
1261 2006-10-17 Tom Tromey <tromey@redhat.com>
1263 * jvgenmain.c (main): Handle -findirect-dispatch.
1264 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1267 2006-10-06 Andrew Haley <aph@redhat.com>
1269 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1270 have a compare_and_swap builtin.
1271 (compareAndSwapLong_builtin): Likewise.
1272 (compareAndSwapObject_builtin): Likewise.
1274 2006-10-04 Andrew Haley <aph@redhat.com>
1276 * builtins.c (java_builtins): Add compareAndSwapInt,
1277 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1278 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1279 putObjectVolatile, getObjectVolatile, getIntVolatile,
1280 getLongVolatile, getLong.
1281 (UNMARSHAL3): New macro.
1282 (UNMARSHAL4): Likewise.
1283 (UNMARSHAL5): Likewise.
1284 (build_arglist_for_builtin): New function.
1285 (build_addr_sum, build_check_this): New functions.
1286 (putObject_builtin. compareAndSwapInt_builtin,
1287 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1288 putVolatile_builtin, getVolatile_builtin): New builtins.
1290 2006-06-08 Andrew Haley <aph@redhat.com>
1292 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1293 get_symbol_table_index().
1294 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1296 (build_known_method_ref): New arg: special. Pass it to
1297 get_symbol_table_index.
1298 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1300 (build_invokevirtual): New arg: special. Pass it to
1301 get_symbol_table_index.
1302 (expand_invoke): New variable: special.
1303 Pass it to maybe_rewrite_invocation().
1304 Pass it to build_known_method_ref().
1305 * class.c (build_symbol_entry): Add new arg: special. Use it to
1306 build the symbol table conbstructor.
1307 (emit_symbol_table): Extract SPECIAL from the method list and pass
1308 it to build_symbol_entry().
1309 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1310 special accordingly.
1312 2006-09-08 Andrew Haley <aph@redhat.com>
1314 * class.c (layout_class_method): Use build_java_signature, not
1315 build_java_argument_signature. Use lookup_java_method, not
1316 lookup_argument_method.
1318 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1319 Bryce McKinlay <bryce@mckinlay.net.nz>
1321 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1323 2006-07-18 Tom Tromey <tromey@redhat.com>
1325 * lang.opt: Added missing -W options.
1327 2006-07-12 Tom Tromey <tromey@redhat.com>
1330 * lang-specs.h: Pass '%U'-based options as separate arguments.
1331 Use -faux-classpath.
1332 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1333 * lang.opt (faux-classpath): New option.
1335 2006-07-07 Tom Tromey <tromey@redhat.com>
1337 * class.c (make_class_data): Set value for reflection_data field.
1338 * decl.c (java_init_decl_processing): Add reflection_data field.
1340 2006-07-07 Tom Tromey <tromey@redhat.com>
1342 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1344 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1346 2006-07-07 Andrew Haley <aph@redhat.com>
1348 * jcf-parse.c (set_source_filename): Don't check for
1349 CLASS_FROM_CURRENTLY_COMPILED_P.
1352 2006-07-07 Andrew Haley <aph@redhat.com>
1354 * java-tree.h (java_read_sourcefilenames): Declare.
1355 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1356 * lang.opt (fsource-filename): New opt.
1357 * lang-specs.h: Add -fsource-filename.
1358 * jcf-parse.c (num_files, filenames): New variables.
1359 (reverse, cmpstringp, java_read_sourcefilenames,
1360 find_sourcefile): New.
1361 (set_source_filename): Call find_sourcefile to find the real name
1364 2006-06-27 Tom Tromey <tromey@redhat.com>
1366 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1367 Signature, LocalVariableTypeTable, annotation attributes.
1368 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1369 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1370 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1371 (HANDLE_METHOD): Likewise.
1372 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1373 (print_annotation): New function.
1374 (print_element_value): Likewise.
1376 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1377 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1378 (print_parameter_annotations): New function.
1379 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1380 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1382 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1383 (print_annotations): New function.
1385 2006-06-23 Tom Tromey <tromey@redhat.com>
1387 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1388 emitting class files, always use 1.5.
1389 * gcj.texi (Input Options): Document -fsource.
1390 (Code Generation): Document -ftarget.
1392 2006-06-21 Tom Tromey <tromey@redhat.com>
1395 * expr.c (expand_java_field_op): Initialize field's declaring
1398 2006-06-20 Tom Tromey <tromey@redhat.com>
1400 * expr.c (push_value): Always flush quick stack.
1402 2006-06-19 Tom Tromey <tromey@redhat.com>
1404 * expr.c (push_value): Also flush quick stack if value is a
1407 2006-06-19 Tom Tromey <tromey@redhat.com>
1409 * expr.c (push_value): Flush quick stack if value has side
1412 2006-06-13 Tom Tromey <tromey@redhat.com>
1414 * class.c (is_compiled_class): Explicitly check for current
1417 2006-06-09 Tom Tromey <tromey@redhat.com>
1419 * gjavah.c (decompile_method): Don't decompile a static field
1422 2006-06-06 Tom Tromey <tromey@redhat.com>
1424 * lang-specs.h <jc1>: Add .jar file to command line if
1425 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1427 2006-06-05 Tom Tromey <tromey@redhat.com>
1429 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1430 synthetic, enum, annotation.
1431 * jcf.h (ACC_BRIDGE): New macro.
1432 (ACC_VARARGS): Likewise.
1433 (ACC_SYNTHETIC): Likewise.
1434 (ACC_ENUM): Likewise.
1435 (ACC_ANNOTATION): Likewise.
1437 2006-06-04 Tom Tromey <tromey@redhat.com>
1439 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1440 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1442 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1443 when needed. Handle classpath-setting.
1444 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1445 * lang-specs.h: Rewrote.
1447 2006-06-04 Tom Tromey <tromey@redhat.com>
1449 * jcf-io.c (find_class): Set source_ok to 0.
1450 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1451 (parse_class_file): Don't call java_mark_class_local.
1452 (java_parse_file): Skip .java files. Call java_mark_class_local
1453 before lowering any code.
1454 (parse_zip_file_entries): Don't call duplicate_class_warning
1456 (process_zip_dir): ... call it here.
1457 * class.c (add_field): Don't mark field external if it is being
1458 compiled into this object.
1459 (make_class_data): Handle situation where class_dtable_decl is
1460 created before Class is compiled.
1461 (is_compiled_class): Don't assume files in zip are compiled into
1463 (layout_class_method): Don't mark method external if it is being
1464 compiled into this object.
1466 2006-06-04 Tom Tromey <tromey@redhat.com>
1468 * jcf-path.c (jcf_path_compute): New function.
1469 * jcf.h (jcf_path_compute): Declare.
1471 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1473 * decl.c: Include langhooks.h.
1474 (builtin_function): Remove.
1475 (java_init_decl_processing): Replace calls to builtin_function
1476 with add_builtin_function.
1477 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1478 (java/decl.o): Depend on langhooks.h.
1479 * java-tree.h (builtin_function): Remove.
1481 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1483 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1485 2006-09-12 Tom Tromey <tromey@redhat.com>
1487 * expr.c (push_value): Always flush quick stack.
1489 2006-09-12 Tom Tromey <tromey@redhat.com>
1492 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1493 the push of the called method's return result.
1495 2006-09-12 Tom Tromey <tromey@redhat.com>
1497 * jvspec.c (lang_specific_driver): Read spec file even if
1500 2006-09-12 Tom Tromey <tromey@redhat.com>
1503 * expr.c (expand_java_field_op): Initialize field's declaring
1504 interface if necessary.
1506 2006-09-12 Tom Tromey <tromey@redhat.com>
1509 * expr.c (expand_java_field_op): No error for assignments not in
1510 class initializer or constructor.
1512 2006-08-22 Andrew Haley <aph@redhat.com>
1514 * decl.c (java_add_stmt): Give the statement list a type.
1516 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1517 Bryce McKinlay <bryce@mckinlay.net.nz>
1519 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1521 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1524 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1525 or '--' is used with a constant operand.
1526 (java_complete_lhs): When processing a '++' or '--' expression,
1527 don't call java_complete_tree but java_complete_lhs, so that a
1528 static final variable operand is never replaced by its value. This
1529 avoids an ICE later on.
1530 (patch_unaryop): Fixed typo in comment.
1532 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1534 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1536 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1538 * builtins.c (check_for_builtin): If a builtin could result in a
1539 direct call being generated, don't use it if flag_indirect_dispatch
1542 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1544 * gcj.texi (Invocation): Corrections for Invocation API example.
1546 2006-07-04 Andrew Haley <aph@redhat.com>
1548 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1551 2006-06-21 Andrew Haley <aph@redhat.com>
1553 * java-tree.h (update_aliases): Remove
1554 * expr.c (expand_iinc): Remove call to update_aliases().
1555 (STORE_INTERNAL): Likewise.
1556 * decl.c (update_aliases, initialize_local_variable)
1557 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1559 2006-06-19 Andrew Haley <aph@redhat.com>
1563 * expr.c (java_modify_addr_for_volatile): New function.
1564 (expand_java_field_op): Handle volatile fields.
1565 * java-gimplify.c (java_gimplify_component_ref): Call
1566 java_modify_addr_for_volatile to give the field_ref the correct
1568 (java_gimplify_modify_expr): Likewise.
1569 * java-tree.h (java_modify_addr_for_volatile): New decl.
1571 2006-06-17 Karl Berry <karl@gnu.org>
1573 * gcj.texi (@dircategory): Use "Software development" instead
1574 of "Programming", following the Free Software Directory.
1576 2006-06-16 Andrew Haley <aph@redhat.com>
1578 * class.c (make_class_data): When using flag_indirect_classes,
1579 don't initialize the vtable of Class instances.
1581 2006-06-09 Andrew Haley <aph@redhat.com>
1585 * builtins.c (initialize_builtins): Add __sync_synchronize().
1586 * class.c (add_field): Mark volatile fields.
1587 * java-gimplify.c (java_gimplify_expr): Call new functions to
1588 handle self-modifying exprs and COMPONENT_REFs.
1589 (java_gimplify_component_ref): New.
1590 (java_gimplify_modify_expr): Add handling for volatiles.
1592 2006-06-08 Tom Tromey <tromey@redhat.com>
1594 * gcj.texi (libgcj Runtime Properties): Document
1595 gnu.gcj.user.realname.
1597 2006-06-08 Andrew Haley <aph@redhat.com>
1599 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1600 get_symbol_table_index().
1601 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1603 (build_known_method_ref): New arg: special. Pass it to
1604 get_symbol_table_index.
1605 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1607 (build_invokevirtual): New arg: special. Pass it to
1608 get_symbol_table_index.
1609 (expand_invoke): New variable: special.
1610 Pass it to maybe_rewrite_invocation().
1611 Pass it to build_known_method_ref().
1612 * class.c (build_symbol_entry): Add new arg: special. Use it to
1613 build the symbol table conbstructor.
1614 (emit_symbol_table): Extract SPECIAL from the method list and pass
1615 it to build_symbol_entry().
1616 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1617 special accordingly.
1619 2006-06-06 David Daney <ddaney@avtrex.com>
1621 * gcj.texi (libgcj Runtime Properties): Document
1622 gnu.gcj.runtime.NameFinder.show_raw and
1623 gnu.gcj.runtime.NameFinder.remove_unknown.
1625 2006-06-06 Tom Tromey <tromey@redhat.com>
1627 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1628 synthetic, enum, annotation.
1629 * jcf.h (ACC_BRIDGE): New macro.
1630 (ACC_VARARGS): Likewise.
1631 (ACC_SYNTHETIC): Likewise.
1632 (ACC_ENUM): Likewise.
1633 (ACC_ANNOTATION): Likewise.
1635 2006-06-06 Mike Stump <mrs@apple.com>
1637 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1638 installing during build.
1640 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1642 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1643 classname-to-library resolution mechanism.
1644 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1645 mechanism deprecated.
1646 (libgcj Runtime Properties): Document
1647 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1649 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1651 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1653 (jword): Define to uint64 on 64-bit arches.
1654 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1656 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1658 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1661 2006-05-26 Tom Tromey <tromey@redhat.com>
1663 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1664 * verify-glue.c (vfy_class_type): New function.
1665 * verify-impl.c (check_constant): Allow 'ldc class'.
1666 * verify.h (vfy_class_type): Declare.
1668 2006-05-25 Andrew Haley <aph@redhat.com>
1671 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1672 update all lifetimes, not just the first one.
1674 2006-05-24 Tom Tromey <tromey@redhat.com>
1676 * java-tree.h: Fixed flag documentation.
1678 2006-05-24 Tom Tromey <tromey@redhat.com>
1681 * jcf.h (ACC_INVISIBLE): Changed value.
1683 2006-05-24 Andrew Haley <aph@redhat.com>
1686 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1689 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1691 * lang.opt (femit-class-file): Remove VarExists.
1693 2006-05-16 Tom Tromey <tromey@redhat.com>
1695 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1698 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1701 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1704 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1706 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1707 (java/expr.o): Replace target.h with $(TARGET_H).
1708 (java/parse.o): Likewise.
1710 2006-05-10 Andrew Haley <aph@redhat.com>
1712 * class.c (emit_indirect_register_classes): Fix comment.
1714 2006-05-04 Tom Tromey <tromey@redhat.com>
1716 * java-tree.h (uses_jv_markobj_p): Declare.
1717 * class.c (uses_jv_markobj_p): Removed.
1718 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1719 (get_boehm_type_descriptor): Use it.
1720 (uses_jv_markobj_p): Moved from class.c. Return bool.
1722 2006-05-04 Tom Tromey <tromey@redhat.com>
1724 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1726 2006-05-04 Andrew Haley <aph@redhat.com>
1728 * class.c (make_field_value): Always build_address_of fdecl if
1729 there is an initializer.
1731 2006-05-03 Andrew Haley <aph@redhat.com>
1734 * expr.c (maybe_rewrite_invocation): New function.
1735 (rewrite_arglist_getclass): Likewise.
1737 (expand_invoke): Call maybe_rewrite_invocation.
1738 * parse.y (patch_invoke): Likewise.
1739 * java-tree.h: (maybe_rewrite_invocation): New function.
1741 2006-04-21 Andrew Haley <aph@redhat.com>
1743 * lang.c (java_init): Handle flag_indirect_classes.
1744 * jvgenmain.c: Use "class$$" instead of "class$".
1745 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1747 (mangle_class_field): Special case "class$$" as well as "class$".
1748 * constants.c (build_ref_from_constant_pool): If
1749 flag_indirect_classes, generate a ref into the heap.
1750 * decl.c (constants_field_decl_node,
1751 constants_data_field_decl_node): New.
1752 * class.c (build_static_class_ref): New.
1753 (build_classdollar_field): Factor out from build_class_ref().
1754 (make_field_value): Handle static fields in heap.
1755 (make_class_data): Make sure we get a static ref to class.
1756 Make class initializer const if flag_indirect_classes.
1757 (register_class): Build a class_ref for initialization if
1758 flag_indirect_classes.
1759 (emit_indirect_register_classes): New.
1761 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1763 * expr.c, gjavah.c: Fix comment typos.
1765 2006-04-03 Andrew Haley <aph@redhat.com>
1768 * expr.c (build_field_ref): Don't check the field offset if
1771 2006-03-30 Andrew Haley <aph@redhat.com>
1774 * lang.c (java_attribute_table): New.
1775 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1776 * expr.c (build_field_ref): Add a null pointer check for all
1777 fields of offset > 4k. Don't do so for accesses via the this
1778 pointer, which we know can never be null.
1779 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1782 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1784 * Make-lang.in: Rename docdir to gcc_docdir.
1786 2006-03-30 Tom Tromey <tromey@redhat.com>
1789 * parse.y (java_reorder_fields): Reset superclass field's size as
1792 2006-03-28 Tom Tromey <tromey@redhat.com>
1795 * parse.y (find_most_specific_methods_list): Added 'class'
1797 (lookup_method_invoke): Updated.
1799 2006-03-15 Tom Tromey <tromey@redhat.com>
1801 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1802 non-static method calls.
1804 2006-03-15 David Daney <ddaney@avtrex.com>
1806 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1809 2006-03-15 David Daney <ddaney@avtrex.com>
1811 * lang.opt (-freduced-reflection): New option.
1812 * lang.c (java_post_options): Generate an error if
1813 -freduced-reflection used with -fjni or -findirect-dispatch.
1814 * java-tree.h (flag_reduced_reflection): Declare new variable.
1815 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1816 if bitmap overflows and flag_reduced_reflection set.
1817 * class.c (uses_jv_markobj_p): New function.
1818 (make_class_data): Moved generation of vtable to before
1819 reflection data, generate less reflection data if
1820 flag_reduced_reflection set.
1821 * gcj.texi: Document -freduced-reflection.
1823 2006-03-15 Tom Tromey <tromey@redhat.com>
1826 * class.c (get_interface_method_index): Don't put <clinit> into
1829 2006-03-15 Tom Tromey <tromey@redhat.com>
1831 * parse.y (analyze_clinit_body): Ignore empty statements.
1833 2006-03-08 David Daney <ddaney@avtrex.com>
1835 * gcj.texi: Document -static-libgcj option.
1837 2006-02-20 Andrew Haley <aph@redhat.com>
1839 * jcf-parse.c (parse_class_file): Set input_location from
1842 2006-02-15 Andrew Haley <aph@redhat.com>
1844 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1845 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1846 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1848 2006-02-09 Andrew Haley <aph@redhat.com>
1851 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1852 in their superclass.
1854 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1857 2006-02-08 Tom Tromey <tromey@redhat.com>
1860 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1861 * builtins.c (convert_real): New function.
1862 (java_builtins): Handle Float.intBitsToFloat,
1863 Float.floatToRawIntBits, Double.longBitsToDouble,
1864 Double.doubleToRawLongBits.
1866 2006-02-07 Andrew Haley <aph@redhat.com>
1868 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1869 class other than the one in which we expected to find it, ignore
1873 * constants.c (build_constants_constructor): move initializer into
1874 first halfword on a 64-bit big-endian machine.
1876 2006-02-04 Tom Tromey <tromey@redhat.com>
1879 * builtins.c (max_builtin): Skip floating point 'max'.
1880 (min_builtin): Skip floating point 'min'.
1881 (check_for_builtin): Never return NULL_TREE.
1883 2006-02-04 Tom Tromey <tromey@redhat.com>
1886 * expr.c (push_type): Avoid side effect in gcc_assert.
1888 2006-02-04 Roger Sayle <roger@eyesopen.com>
1890 * decl.c (java_init_decl_processing): Create char_type_node as a
1891 regular INTEGER_TYPE node.
1892 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1893 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1894 test for char_type_node and promoted_char_type_node as special
1895 instances of INTEGER_TYPE tree codes.
1896 (promote_type,build_java_signature): Likewise.
1897 * jcf-write.c (adjust_typed_op): Likewise.
1898 * mangle.c (mangle_type): Likewise.
1899 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1900 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1902 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1904 * expr.c (java_stack_swap): Revert gcc_assert patch.
1906 2006-02-03 Ben Elliston <bje@au.ibm.com>
1908 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1909 * typeck.c: Likewise.
1910 * verify-impl.c: Likewise.
1911 * class.c: Likewise.
1913 * jcf-parse.c: Likewise.
1914 * constants.c: Likewise.
1915 * check-init.c: Likewise.
1916 * jcf-write.c: Likewise.
1917 * verify-glue.c: Likewise.
1918 * mangle.c: Likewise.
1921 * boehm.c: Likewise.
1923 2006-02-01 Jan Hubicka <jh@suse.cz>
1925 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1926 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1928 2006-01-30 Andrew Haley <aph@redhat.com>
1931 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1933 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1935 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1936 Update copyright notice dates.
1938 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1940 * jvspec.c (lang_specific_spec_functions): Remove.
1942 2006-01-06 Tom Tromey <tromey@redhat.com>
1944 * gcj.texi (Arrays): Added more documentation for
1946 (Primitive types): Correct information about primitive classes.
1947 (Reference types): New node.
1950 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1952 * jcf-parse.c (set_source_filename): Set the decl source location
1953 even when returning early.
1955 2005-12-15 Tom Tromey <tromey@redhat.com>
1956 Andrew Haley <aph@redhat.com>
1959 * parse.y (resolve_expression_name): Don't generate accessor
1960 methods for constant fields.
1962 2005-12-13 Andrew Haley <aph@redhat.com>
1966 * class.c (maybe_layout_super_class): Update current_class before
1967 calling do_resolve_class.
1969 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1972 * jcf-write.c (write_classfile): Use PID in temporary class
1973 file. Save/restore errno when reporting error.
1975 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1978 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1979 to bare_function_type and including the return type
1980 * builtins.c (initialize_builtins) : Change builtin mangled name
1981 constants to conform to new mangling scheme
1983 2005-12-08 Andrew Haley <aph@redhat.com>
1986 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1987 (soft_abstractmethod_node): New.
1988 * expr.c (build_field_ref): Add in-line check for missing field.
1989 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1991 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1993 * Make-lang.in (java.all.build, java.install-normal): Remove.
1995 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1997 * Make-lang.in: Remove all dependencies on s-gtype, except for
2000 2005-12-07 Richard Sandiford <richard@codesourcery.com>
2002 * class.c (build_utf8_ref, emit_register_classes): Use
2003 switch_to_section and get_section.
2005 2005-12-06 Tom Tromey <tromey@redhat.com>
2008 * parse.y (patch_new_array_init): Revert previous patch.
2009 (lookup_method_invoke): Use size-less array type when creating an
2010 anonymous constructor.
2012 2005-12-05 Tom Tromey <tromey@redhat.com>
2014 * parse.y (patch_new_array_init): Don't set length on array.
2016 2005-12-02 Richard Guenther <rguenther@suse.de>
2018 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
2019 buildN instead of build.
2020 * class.c (finish_class): Likewise.
2021 * expr.c (java_create_object): Likewise.
2023 2005-11-28 Tom Tromey <tromey@redhat.com>
2026 * expr.c (build_jni_stub): Unwrap the return value.
2027 * java-tree.h (soft_unwrapjni_node): New define.
2028 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
2029 * decl.c (java_init_decl_processing): Initialize
2030 soft_unwrapjni_node.
2032 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
2034 * gcj.texi (gij options): Add -Xss documentation.
2036 2005-11-08 Wil Mahan <wmahan@gmail.com>
2039 * zextract.c (read_zip_archive): Fix out of memory error when
2040 reading jar files with zip-style comments.
2042 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
2044 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
2046 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
2048 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
2049 Wil Mahan <wmahan@gmail.com>
2052 * class.c (make_class): Create empty binfo here.
2053 (set_super_info): Only create binfo if we have superclasses.
2055 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
2058 * parse.y (method_header): Make the result of the rule a NULL_TREE
2059 when a parsing error occurs.
2061 2005-09-29 Tom Tromey <tromey@redhat.com>
2064 * jcf-io.c (memoized_dirlist_hash): New function.
2065 (caching_stat): Use it.
2067 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
2070 * class.c (inherits_from_p): Try to lay out super class
2071 if it is not already laid out.
2072 (maybe_layout_super_class): Handle the case where SUPER_CLASS
2075 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
2077 * builtins.c (max_builtin, min_builtin, abs_builtin,
2078 java_build_function_call_expr): Use fold_buildN.
2079 * class.c (layout_class_method): Likewise.
2080 * expr.c (java_truthvalue_conversion, build_java_jsr,
2081 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
2082 build_java_binop, build_field_ref, expand_compare,
2083 build_known_method_ref, build_invokevirtual,
2084 process_jvm_instruction): Likewise.
2085 * parse.y (patch_binop, patch_exit_expr): Likewise.
2086 * typeck.c (convert_ieee_real_to_integer): Likewise.
2087 (convert): Don't call fold after convert_ieee_real_to_integer.
2089 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
2092 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
2093 the newly created type. Set import lists here, not in create_class.
2094 (jdep_resolve_class): Set current_class.
2095 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
2096 the current package context, not ctxp->package.
2097 (cicp_cache): Removed.
2098 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
2099 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
2100 * java-tree.h (TYPE_PACKAGE): New macro.
2101 (struct lang_type): New member 'package'.
2103 2005-09-09 Andrew Haley <aph@redhat.com>
2106 * expr.c (pop_type_0): If the expected type is object or ptr
2107 (i.e. void*), return the type of the object we just popped from
2110 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
2112 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
2113 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
2115 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
2117 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
2118 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
2119 typos. Follow spelling conventions.
2121 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
2124 * typeck.c (lookup_do): Look up interfaces for the original class,
2126 * parse.y (java_check_regular_methods): Fix diagnostic message for
2127 more restrictive overriding of a method from an interface.
2129 2005-08-16 Tom Tromey <tromey@redhat.com>
2131 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
2132 class' initial state.
2134 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2137 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
2138 `literal_token' for large numeric input tokens.
2140 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2143 * parse.y (nested_field_access_p): Rename to nested_member_access_p
2144 and expand to handle method accesses across nested classes.
2145 (build_outer_method_access_method): Rename to
2146 build_nested_method_access_method. Minor adjustments to comments.
2147 (resolve_expression_name): Use the newly-renamed
2148 nested_member_access_p method.
2149 (resolve_qualified_expression_name): Likewise.
2150 (patch_method_invocation): Also consider static methods for access
2151 method generation. Minor adjustments to comments.
2152 (maybe_use_access_method): Use the more general
2153 nested_memeber_access_p to determine access across nested class
2154 boundaries. Allow THIS_ARG to be NULL (for static methods).
2156 2005-08-15 Tom Tromey <tromey@redhat.com>
2159 * expr.c (build_field_ref): Don't generate otable reference when
2160 DECL_FIELD_OFFSET is 0.
2161 * class.c (maybe_layout_super_class): Pass outer class to
2164 2005-08-15 Tom Tromey <tromey@redhat.com>
2166 * java-tree.h (LABEL_IN_SUBR): Removed.
2167 (LABEL_IN_SUBR): Likewise.
2168 (LABEL_IS_SUBR_START): Likewise.
2169 (LABEL_SUBR_START): Likewise.
2170 (LABEL_SUBR_CONTEXT): Likewise.
2171 (LABEL_CHANGED): Likewise.
2172 (LABEL_RETURN_LABEL): Likewise.
2173 (LABEL_RETURN_TYPE_STATE): Likewise.
2174 (LABEL_RETURN_LABELS): Likewise.
2175 (RETURN_MAP_ADJUSTED): Likewise.
2176 (LABEL_PENDING_CHAIN): Likewise.
2178 2005-08-15 Tom Tromey <tromey@redhat.com>
2180 * Make-lang.in (JAVA_OBJS): Removed verify.o
2181 (java/verify.o): Removed.
2182 * verify.c: Removed.
2183 * lang.c (flag_new_verifier): Removed.
2184 (java_post_options): Updated.
2185 * java-tree.h (flag_new_verifier): Removed.
2186 (verify_jvm_instructions): Removed.
2187 * expr.c (pop_type_0): Assume flag_new_verifier is true.
2188 (build_java_check_indexed_type): Likewise.
2189 (expand_java_arraystore): Likewise.
2190 (expand_java_arrayload): Likewise.
2191 (pop_arguments): Likewise.
2192 (expand_byte_code): Likewise.
2193 (process_jvm_instruction): Likewise.
2195 2005-08-10 Andrew Haley <aph@redhat.com>
2197 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
2198 type mismatches to make legal GIMPLE.
2200 2005-08-10 Robin Green <greenrd@greenrd.org>
2203 * parse.y (maybe_use_access_method): Generalize check from
2204 java.lang.Object to any superclass of current_class
2206 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2208 * class.c (build_class_ref): Wrap the primary class type in a
2210 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
2211 primary class type from the NOP_EXPR in which it was placed.
2213 2005-07-28 Diego Novillo <dnovillo@redhat.com>
2215 * expr.c (expand_load_internal): Fix missing parens in
2218 2005-07-28 Andrew Haley <aph@redhat.com>
2220 * expr.c (expand_load_internal): Convert to destination type.
2222 2005-07-22 Manfred Hollstein <mh@suse.com>
2224 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
2225 (check_constant): Likewise.
2226 (check_wide_constant): Likewise.
2228 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2230 Make CONSTRUCTOR use VEC to store initializers.
2231 * check-init.c (check_init): Update to cope with VEC in
2233 * class.c (make_field_value, make_method_value, get_dispatch_table,
2234 make_class_data, emit_symbol_table, emit_catch_table,
2235 emit_assertion_table): Use build_constructor_from_list instead of
2237 * constants.c (build_constants_constructor): Likewise.
2238 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
2239 VEC in CONSTRUCTOR_ELTS.
2240 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
2241 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
2243 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
2245 * parse.y (build_new_array_init): Use build_constructor_from_list
2246 instead of build_constructor.
2247 (patch_new_array_init): Update to cope with VEC in
2249 (array_constructor_check_entry): Likewise.
2251 2005-07-12 Tom Tromey <tromey@redhat.com>
2253 * jvspec.c (lang_specific_driver): Put filelist_filename first on
2256 2005-07-12 Tom Tromey <tromey@redhat.com>
2259 * parse-scan.y (interface_member_declaration): Added
2262 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2264 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2265 (LABEL_PENDING_CHAIN): Ditto.
2267 (DECL_BIT_INDEX): Ditto.
2269 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2272 * parse.y (inner_class_accessible): New function. Logic moved from
2273 check_inner_class_access.
2274 (check_inner_class_access): Use inner_class_accessible.
2275 (resolve_inner_class): Simplify arguments. Create circularity hash
2276 here. Keep looking for classes if we found one that was inaccessible.
2277 Return the inaccessible class only if there is no other match.
2278 (do_resolve_class): Update for new resolve_inner_class arguments.
2279 Don't create circularity_hash here.
2281 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2284 * parse.y (add_exception_to_throws): New function.
2285 (purge_unchecked_exceptions): Removed.
2286 (get_constructor_super): Renamed from verify_constructor_super. Now
2287 returns the super constructor after verification.
2288 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2289 or save/restore the exception list.
2290 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2291 class initializers and constructors to the throws clause of the method.
2293 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2296 * parse.y (interface_member_declaration): Allow empty statements in
2297 interface declarations.
2299 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2301 * Makefile.in (parse.o): Adjust dependencies.
2302 * parse.y: Include tree-dump.h.
2304 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2306 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2309 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2311 * parse.y (issue_warning_error_from_context): Call
2312 pp_output_formatted_text to be able to get the buffer.
2314 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2316 * parse.y (issue_warning_error_from_context): Update for the
2317 renaming of pp_format_text to pp_format.
2319 2005-06-28 Paul Brook <paul@codesourcery.com>
2321 * decl.c (java_init_decl_processing): Call
2322 default_init_unwind_resume_libfunc.
2324 2005-06-27 Tom Tromey <tromey@redhat.com>
2326 PR java/21540, PR java/13788:
2327 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2328 fold_constant_for_init.
2329 (patch_binop): Added 'folding' argument. Updated all callers.
2330 (patch_unaryop) <NOP_EXPR>: New case.
2331 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2332 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2334 2005-06-25 Jan Hubicka <jh@suse.cz>
2336 * builtins.c (define_builtin): Accept new flags parameter.
2337 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2339 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2341 * all files: Update FSF address in copyright headers.
2343 2005-06-24 Tom Tromey <tromey@redhat.com>
2345 * verify-impl.c (verify_instructions_0): Correctly handle
2346 situation where PC falls off end.
2348 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2351 * parse.y (find_most_specific_methods_list): Remove special case for
2354 2005-06-15 Tom Tromey <tromey@redhat.com>
2357 * class.c (make_method_value): Use soft_abstractmethod_node for
2359 * java-tree.h (soft_abstractmethod_node): New define.
2360 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2361 * decl.c (java_init_decl_processing): Initialize
2362 soft_abstractmethod_node.
2364 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2366 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2368 2005-06-13 Per Bothner <per@bothner.com>
2370 * expr.c (int highest_label_pc_this_method,
2371 start_label_pc_this_method): New globals.
2372 (lookup_label): Add start_label_pc_this_method to pc for label, and
2373 update highest_label_pc_this_method. This prevents conflicts between
2374 labels from different methods.
2375 * java-tree.h: Declare new globals.
2376 * jcf-parse.c (parse_class_file): If needed bump
2377 start_label_pc_this_method and reset highest_label_pc_this_method.
2379 2005-06-13 Tom Tromey <tromey@redhat.com>
2382 * parse.y (nested_field_access_p): Handle case where outer field
2383 is inherited by enclosing class.
2385 2005-06-12 Per Bothner <per@bothner.com>
2387 * class.c (inherits_from_p): Do load_class if needed.
2389 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2391 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2392 * java-tree.h (parse_error_context): Move...
2393 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2394 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2395 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2397 2005-06-08 Roger Sayle <roger@eyesopen.com>
2399 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2401 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2403 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2404 msgid for argument name.
2405 * gjavah.c (error): Likewise.
2406 * java-tree.h (parse_error_context): Likewise.
2407 * parse.y (parse_error_context, parse_warning_context,
2408 issue_warning_error_from_context): Likewise.
2410 2005-06-01 Tom Tromey <tromey@redhat.com>
2413 * class.c (build_static_field_ref): Don't fold constant fields if
2414 current class is from a .class file and we're using indirect
2417 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2419 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2420 * java/Make-lang.in: Updates dependencies.
2422 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2425 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2426 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2427 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2428 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2429 * jcf-write.c (generate_classfile): Use
2430 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2431 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2432 * parse.y (build_outer_field_access): Rename to
2433 build_nested_field_access. Support static fields and outer-to-inner
2435 (outer_field_access_p): Rename to nested_field_access_p. Support
2436 static fields and generalise to outer-to-inner class and sibling
2437 inner class accesses.
2438 (outer_field_expanded_access_p): Rename to
2439 nested_field_expanded_access_p and support static fields.
2440 (outer_field_access_fix): Rename to nested_field_access_fix and
2441 support static fields.
2442 (build_outer_field_access_expr): Rename to
2443 build_nested_field_access_expr and support static fields.
2444 (build_outer_field_access_methods): Rename to
2445 build_nested_field_access_methods and support static fields. For
2446 static fields, generate accessors without class instance parameters.
2447 (build_outer_field_access_method): Rename to
2448 build_nested_field_access_method and support static fields.
2449 (build_outer_method_access_method): Use
2450 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2451 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2452 (resolve_expression_name): Consider static field accesses across
2454 (resolve_qualified_expression_name): Likewise.
2455 (java_complete_lhs): Use nested_field_access_fix instead of
2456 outer_field_access_fix.
2457 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2458 Use nested_field_expanded_access_p instead of
2459 outer_field_expanded_access_p. Use nested_field_access_fix instead
2460 of outer_field_access_fix.
2461 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2462 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2464 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2466 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2467 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2468 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2469 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2470 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2471 (parse_version): Calculate version ID using new method. Use bit-flags
2472 for flag_indirect_dispatch and flag_bootstrap_classes.
2474 2005-05-25 Richard Henderson <rth@redhat.com>
2477 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2478 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2479 DECL_CONTEXT; avoid pushdecl_top_level.
2480 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2481 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2482 (layout_class_method): Likewise.
2483 * decl.c (java_mark_cni_decl_local): New.
2484 (java_mark_class_local): Use it.
2485 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2486 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2487 (struct lang_decl_func): Add local_cni;
2488 (struct lang_decl_var): Add class_field, vtable.
2489 (java_mangle_decl): Declare.
2490 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2491 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2492 (mangle_obstack_1): New.
2493 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2494 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2495 lhd_set_decl_assembler_name for things that don't need mangling.
2496 (mangle_class_field): Rename from java_mangle_class_field, make
2497 static, don't call init_mangling or finish_mangling.
2498 (mangle_vtable): Similarly.
2499 (mangle_local_cni_method_decl): New.
2500 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2501 gcc_assert, and MANGLE_RAW_STRING.
2502 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2504 2005-05-25 DJ Delorie <dj@redhat.com>
2506 * class.c (set_constant_value): Move warning control from if() to
2509 2005-05-24 Richard Henderson <rth@redhat.com>
2511 * builtins.c (define_builtin): Don't call make_decl_rtl.
2512 * constants.c (build_constant_data_ref): Likewise.
2513 * class.c (build_utf8_ref): Likewise.
2514 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2515 (get_dispatch_table, layout_class_method): Likewise.
2516 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2518 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2519 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2520 to determine if we need a non-zero address.
2521 * decl.c (builtin_function): Don't call make_decl_rtl.
2522 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2523 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2524 * resource.c (compile_resource_data): Likewise.
2525 * parse.y (resolve_field_access): Re-word comment to avoid
2528 2005-05-24 Richard Henderson <rth@redhat.com>
2530 * class.c (registered_class): Take it out of class_roots; turn into
2532 (register_class): Make static. Don't duplicate decl node. Use
2534 (emit_register_classes): Use VEC_iterate. Use output_constant
2535 instead of assemble_integer. Don't call mark_decl_referenced
2537 * java-tree.h (register_class): Remove decl.
2539 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2543 * parse.y (register_package, package_list): Remove.
2544 (package_declaration): Do not call register_package.
2545 (do_resolve_class): Do not use package_list.
2547 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2549 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2552 2005-05-15 Tom Tromey <tromey@redhat.com>
2555 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2558 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2560 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2562 2005-05-11 Tom Tromey <tromey@redhat.com>
2564 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2565 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2566 (parse_version): Use it.
2567 * lang.opt (-fbootstrap-classes): New option.
2569 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2572 * class.c (maybe_layout_super_class): Look for imports in this_class.
2573 * parse.h (ctxp_for_generation_last): New.
2574 (do_resolve_class): Add a parameter.
2575 * parse.y (ctxp_for_generation_last): New.
2576 (java_pop_parser_context): Add at end of list.
2577 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2578 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2579 the given type are NULL.
2580 (do_resolve_class): Look into the imports of the new second parameter.
2581 Adjust recursive calls.
2582 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2583 calls to do_resolve_class.
2584 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2585 (java_complete_class): Do not do that here.
2587 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2590 * Make-lang.in (java): Add gjnih.
2591 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2592 (GJNIH_OBJS): New variable.
2593 (gjnih$(exeext)): New target.
2594 (JAVA_MANFILES): Add gjnih.1.
2595 (java.uninstall): Add gjnih.1.
2596 (java.mostlyclean): Add gjnih.
2597 (java.maintainer-clean): Add gjnih.1.
2598 (java/gjavah-jni.o): New target.
2599 (.INTERMEDIATE): Add gjnih.pod.
2600 (gjnih.pod): New target.
2601 * config-lang.in (stagestuff): Add gjnih.
2602 * gcj.texi (Top): Add gjnih node.
2603 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2604 -bootclasspath options.
2605 (Invoking gjnih): New node.
2606 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2607 (TOOLNAME): New macro.
2608 (error): Replace hard-coded gcjh with TOOLNAME.
2609 (process_file): Likewise.
2611 (version): Likewise.
2612 (help): Likewise. Add help output for -force, -old, -trace and -J
2614 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2615 (options): Add force, old, trace and J fields.
2616 (main): Handle -force, -old, -trace and -J options.
2618 2005-05-03 Tom Tromey <tromey@redhat.com>
2621 * gjavah.c (main): Unlink output file on error.
2623 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2625 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2628 2005-04-29 Tom Tromey <tromey@redhat.com>
2630 * expr.c (build_jni_stub): Updated for change to build_block.
2632 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2634 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2636 2005-04-28 Andrew Haley <aph@redhat.com>
2639 * java-tree.h (soft_resolvepoolentry_node): New.
2640 (alloc_constant_fieldref): Declare.
2641 * expr.c (expand_java_field_op): Don't call class_init for
2642 accesses to static fields with indirect dispatch.
2643 * builtins.c (initialize_builtins): Add "__builtin_expect".
2644 * decl.c (soft_resolvepoolentry_node): New variable.
2645 (java_init_decl_processing): Create a decl for
2646 "_Jv_ResolvePoolEntry".
2647 * class.c (build_fieldref_cache_entry): New function.
2648 (build_static_field_ref): Rewrite for indirect dispatch.
2649 * constants.c (find_name_and_type_constant_tree): New function.
2650 (alloc_constant_fieldref): Likewise.
2651 (build_constants_constructor): Handle CONSTANT_Fieldref and
2652 CONSTANT_NameAndType.
2655 * expr.c (force_evaluation_order): Convert outgoing args smaller
2658 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2660 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2661 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2662 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2664 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2666 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2667 to `unlock_stream' with `unlock_std_streams'.
2669 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2671 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2672 instead of just expr.h.
2674 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2676 * gjavah.c (main): Unlock the stdio streams.
2677 * jcf-dump.c (main): Likewise.
2678 * jv-scan.c (main): Likewise.
2679 * jvgenmain.c (main): Likewise.
2681 2005-04-23 DJ Delorie <dj@redhat.com>
2683 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2684 parse.y: Adjust warning() callers.
2686 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2688 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2691 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2693 * gcj.texi: Fix typos and bogus example.
2695 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2697 * except.c: Fix a comment typo.
2699 2005-04-19 Julian Brown <julian@codesourcery.com>
2701 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2702 indirect dispatch with PIC.
2704 2005-04-18 Andrew Haley <aph@redhat.com>
2706 * java-except.h (struct eh_range.handler): Remove unused field.
2707 (handle_nested_ranges): Remove function declaration.
2708 (sanity_check_exception_range): Add function declaration.
2709 * verify.c (verify_jvm_instructions): Remove call to
2710 handle_nested_ranges.
2711 * verify-glue.c (verify_jvm_instructions_new): Call
2712 sanity_check_exception_range.
2713 * except.c (link_handler, eh_range_freelist, link_handler,
2714 handle_nested_ranges): Remove.
2715 (add_handler): Rewrite.
2716 (sanity_check_exception_range): New function.
2717 (print_ranges): New function.
2719 2005-04-13 Julian Brown <julian@codesourcery.com>
2721 * decl.c (finish_method): Give methods once-only linkage.
2723 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2725 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2727 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2729 * java-tree.h: Don't use PARAMS().
2731 2005-04-07 Per Bothner <per@bothner.com>
2733 * class.c (push_class): By default, suppress debug output.
2734 (finish_class): Enable debug output for classes we're emitting.
2736 2005-04-07 Andrew Haley <aph@redhat.com>
2738 * gcj.texi: Correct gcj-dbtool instructions.
2740 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2742 * gcj.texi: Fix a typo.
2743 * lang.c: Fix a comment typo.
2745 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2747 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2748 Mention recognized-and-ignored compatibility options.
2749 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2751 (About CNI): Add Memory allocation section.
2753 2005-04-01 Tom Tromey <tromey@redhat.com>
2755 * decl.c (java_init_decl_processing): Fix types of
2756 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2757 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2758 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2760 2005-03-31 Jan Hubicka <jh@suse.cz>
2762 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2763 * class.c: Include cgraph.h
2764 (make_local_functoin_alias): Mark aslias as needed.
2765 * resource.c: Include cgraph.h
2766 (compile_resource_data): Go via cgraph interface.
2768 2005-03-30 Ian Lance Taylor <ian@airs.com>
2770 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2772 2005-03-30 Tom Tromey <tromey@redhat.com>
2774 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2775 inner_class_info_index==0 or outer_class_info_index==0.
2777 2005-03-29 Tom Tromey <tromey@redhat.com>
2779 * gcj.texi (libgcj Runtime Properties): Document
2780 gnu.gcj.runtime.endorsed.dirs.
2782 2005-03-24 Anthony Green <green@redhat.com>
2784 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2787 2005-03-23 Tom Tromey <tromey@redhat.com>
2789 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2790 (parse_version): Use it.
2792 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2794 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2796 2005-03-18 Andrew Haley <aph@redhat.com>
2799 * decl.c (update_aliases): Don't update variables that are about
2801 (maybe_poplevels): Add comment.
2803 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2806 * jcf-parse.c (duplicate_class_warning): New function.
2807 (java_parse_file): Call duplicate_class_warning if
2808 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2809 (parse_zip_file_entries): Likewise. Also set
2810 CLASS_FROM_CURRENTLY_COMPILED_P.
2812 2005-03-16 Andrew Haley <aph@redhat.com>
2814 * expr.c (expand_java_arrayload): Don't generate a
2815 NullPointerException based on the type of the node.
2816 (build_java_array_length_access): Likewise.
2818 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2820 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2822 2005-03-11 Tom Tromey <tromey@redhat.com>
2824 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2825 (libgcj Runtime Properties): Document the default .db.
2827 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2830 * parse.y (checks_throws_clauses): Check exceptions list even when
2831 the base class does not come from a source file being compiled.
2832 (java_complete_lhs): Remove unused variable 'wfl'.
2834 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2837 * decl.c (finish_method): Emit _Jv_InitClass for private static
2838 methods inside inner classes as well.
2840 2005-03-08 Julian Brown <julian@codesourcery.com>
2841 * Revert patch from 2005-03-08 for causing bootstrap failure on
2844 2005-03-08 Julian Brown <julian@codesourcery.com>
2846 * decl.c (finish_method): Give methods once-only linkage.
2848 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2850 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2852 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2854 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2855 can_widen_reference_to if the C++ ABI is in use.
2856 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2857 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2858 type_isresolved, init_state, set_pc, state_get_pc,
2859 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2860 (verify_fail): Report the current PC from the verifier context.
2861 (free_state): Remove #if 0 block to enable this function.
2862 (free_verifier_context): Call free_state on state_list iterator
2863 values before freeing them.
2864 * expr.c (pop_type_0): Pop correct type for error message when stack
2865 contains a multi-word type.
2867 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2869 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2870 for known NULL array length access.
2872 2005-03-07 Tom Tromey <tromey@redhat.com>
2874 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2876 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2878 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2879 typeck.c: Update copyright.
2881 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2884 * xref.c, xref.h: Remove file.
2885 * Make-lang.in (java/xref.o): Remove.
2886 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2887 * lang.c (flag_emit_xref): Remove definition.
2888 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2889 * typeck.c (convert): Remove use of do_not_fold.
2890 * parse.y (do_not_fold): Remove definition.
2891 (parser grammar): Remove xref code.
2892 (maybe_create_class_interface_decl, create_class): Likewise.
2893 (register_fields, method_header, finish_method_declaration): Likewise.
2894 (declare_local_variables, source_end_java_method): Likewise.
2895 (java_complete_expand_classes): Do not set do_not_fold.
2896 (java_complete_expand_method): Remove xref code.
2897 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2898 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2899 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2900 (patch_synchronized_statement, patch_throw_statement): Likewise.
2901 (maybe_build_class_init_for_field): Likewise.
2903 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2905 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2906 instead of IS_NON_TYPE_CODE_CLASS.
2908 2005-03-04 Andrew Haley <aph@redhat.com>
2911 * class.c (set_method_index): Don't set method_index if it is
2913 (layout_class_method): Don't complain about "non-static method foo
2914 overrides static method" in the case of indirect dispatch.
2916 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2918 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2920 * Make-lang.in: Don't elide warnings in jcf-io.c.
2922 2005-03-01 Per Bothner <per@bothner.com>
2925 * check-init.c (wfl): Remove static.
2926 (final_assign_error, check_init): Replace calls to parse_error_context
2928 (check_init): Save, set, and restore input_location for each exp.
2930 2005-03-01 Per Bothner <per@bothner.com>
2932 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2933 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2934 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2936 2005-03-01 Per Bothner <per@bothner.com>
2938 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2940 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2943 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2946 2005-02-22 Tom Tromey <tromey@redhat.com>
2949 * verify-impl.c (EITHER): New define.
2950 (types_compatible): Handle it.
2951 (check_field_constant): Use it.
2953 2005-02-18 Tom Tromey <tromey@redhat.com>
2956 * verify-impl.c (types_equal): Fixed test.
2959 * verify-glue.c (vfy_class_has_field): New function.
2960 * verify.h (vfy_class_has_field): Declare.
2961 * verify-impl.c (check_field_constant): Added 'putfield'
2963 (verify_instructions_0): Updated.
2964 (types_equal): New function.
2966 2005-02-14 Tom Tromey <tromey@redhat.com>
2969 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2970 stack effect of multianewarray.
2972 2005-02-14 Andrew Haley <aph@redhat.com>
2975 * expr.c (expand_byte_code): Call promote_arguments().
2976 (promote_arguments): New function.
2977 * decl.c (check_local_unnamed_variable): Remove special case for
2979 (find_local_variable): Promote all boolean types to int
2980 when searching for local variable decls.
2982 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2984 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2985 parse-scan.y: Update copyright.
2987 2005-02-11 Per Bothner <per@bothner.com>
2990 * parse-scan.y (input_location): Remove variable.
2991 (main_input_filename): New - replaces input_filename, which isn't
2992 settable if USE_MAPPED_LOCATION.
2993 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2994 so we don't reference input_location or wfl_operator in that case.
2995 * jv-scan.c (expand_location): Remove - no longer used.
2996 (main): Set main_input_filename rather than input_filename.
2998 2005-02-09 Richard Henderson <rth@redhat.com>
3000 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
3001 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
3003 2005-02-08 Marcin Dalecki <martin@dalecki.de>
3005 * expr.c (add_type_assertion): Use the proper enumeration type,
3006 since this is what htab_find_slot() is expecting.
3008 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
3010 * gcj.texi: Update copyright dates.
3012 2005-02-02 Tom Tromey <tromey@redhat.com>
3014 * gcj.texi (libgcj Runtime Properties): Default library_control
3017 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
3020 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
3021 (modifiers) when square brackets are present in a declaration for
3023 * jv-scan.c (main): Set input_filename and input_line.
3025 2005-02-01 Tom Tromey <tromey@redhat.com>
3028 * gjavah.c (get_field_name): Don't override name for JNI header.
3030 2005-02-01 Roger Sayle <roger@eyesopen.com>
3032 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
3033 of unsigned types using iushr and lushr JVM bytecodes.
3035 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3038 * gjavah.c (jni_print_float): Do not emit floating-point
3039 initialiser for a static final field.
3040 (jni_print_double): Likewise.
3042 2005-02-01 Mark Mitchell <mark@codesourcery.com>
3045 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3046 * gjavah.c (print_field_info): Mark static data members of
3047 floating-point type with "__extension__".
3049 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3051 * gjavah.c (print_field_info): Mark static data members of
3052 floating-point type with "__extension__".
3054 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3057 * parse.y (build_string_concatenation): Remove redundant if.
3058 (patch_conditional_expr): Attempt to patch_string() the condition
3059 of a ?: as well, in addition to its other operands.
3061 2005-01-25 Tom Tromey <tromey@redhat.com>
3063 * Make-lang.in (java/java-tree-inline.o): Removed.
3065 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
3068 * parse.y (patch_binop): Allow comparisons against NULL only
3069 if the other operand is of a reference type.
3071 2005-01-24 Tom Tromey <tromey@redhat.com>
3073 * java-tree.h (gcj_abi_version): Declare.
3074 * class.c (make_class_data): Push gcj_abi_version into "next"
3075 field. Renamed field.
3076 * decl.c (gcj_abi_version): New global.
3077 (parse_version): New function.
3078 (java_init_decl_processing): Call it. Renamed 'next' field.
3080 (GCJ_BINARYCOMPAT_ADDITION): New define.
3082 2005-01-24 Roger Sayle <roger@eyesopen.com>
3085 * jcf-write.c (generate_bytecode_insns): Conversions between
3086 integer types of the same precision shouldn't generate widening
3087 or narrowing conversion bytecodes.
3089 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
3091 * java-except.h, java-tree.h: Remove unused prototypes.
3093 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
3096 * jcf-write.c (perform_relocations): Don't call memcpy if source
3097 and destination are the same.
3099 2005-01-17 Tom Tromey <tromey@redhat.com>
3101 * verify-impl.c (get_short): Sign extend.
3102 (get_int): Likewise.
3104 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
3106 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
3109 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3111 * verify.c: Revert to the version before the BC-ABI merge.
3113 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3116 * check-init.c (check_init): Take care of references that do not
3117 have an explicit final variable declaration (e.g. array length
3118 access) for pre/post in/de-crement operators.
3120 2005-01-08 Mark Wielaard <mark@klomp.org>
3122 * parse.y (process_imports): Allocate (and free) original_name only
3123 when not already defined.
3124 * jcf-parse.c (read_class): Free results of find_class() and
3126 (java_parse_file): Keep pointer to head of file_list and free when
3127 done. Free result of lrealpath().
3129 2005-01-05 Tom Tromey <tromey@redhat.com>
3131 * gcj.texi (Standard Properties): java.ext.dirs is now used.
3133 2004-12-20 Andrew Haley <aph@redhat.com>
3135 * typeck.c: Use fold_convert for ints and booleans.
3137 2004-12-17 Andrew Haley <aph@redhat.com>
3140 * typeck.c (convert): Use a CONVERT_EXPR when converting to
3141 BOOLEAN_TYPE or CHAR_TYPE.
3142 (convert_to_boolean, convert_to_char) : Remove.
3143 * convert.h (convert_to_boolean, convert_to_char) : Remove.
3144 * expr.c (expand_load_internal): Do type conversion if type is not
3147 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
3150 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
3153 2004-12-07 Andrew Haley <aph@redhat.com>
3156 * jcf-parse.c (load_class): Remove sanity test for missing inner
3159 2004-12-06 Tom Tromey <tromey@redhat.com>
3161 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
3162 (java.uninstall): Likewise.
3163 (java.maintainer-clean): Likewise.
3164 (.INTERMEDIATE): Likewise.
3165 (java.install-man): Likewise.
3166 (gcj-dbtool.pod): New target.
3167 * gcj.texi (Code Generation): Document -findirect-dispatch.
3168 (libgcj Runtime Properties): Document
3169 gnu.gcj.precompiled.db.path.
3170 (Top): Link to "Invoking gcj-dbtool".
3172 2004-12-06 Tom Tromey <tromey@redhat.com>
3175 * java-tree.h (extract_field_decl): Declare.
3176 * parse.y (extract_field_decl): Renamed from
3177 strip_out_static_field_access_decl. No longer static.
3178 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
3180 2004-12-03 Tom Tromey <tromey@redhat.com>
3182 * lang.c (flag_new_verifier): Define.
3183 (java_post_options): Set flag_new_verifier if indirect dispatch
3185 * lang.opt (fnew-verifier): Removed.
3187 2004-12-03 Tom Tromey <tromey@redhat.com>
3190 * Make-lang.in (java.install-common): Only install transformed
3191 gcjh if gcj-cross exists.
3193 2004-12-03 Andrew Haley <aph@redhat.com>
3196 * except.c (link_handler): Patch 'outer' field of siblings of the
3197 range we're demoting.
3199 2004-12-03 Andrew Haley <aph@redhat.com>
3202 * class.c (layout_class_method): Don't fail to override a method
3203 simply because it has DECL_ARTIFICIAL set.
3205 2004-12-02 Tom Tromey <tromey@redhat.com>
3208 * parse.y (craft_constructor): Special case null_pointer_node.
3210 2004-12-02 Tom Tromey <tromey@redhat.com>
3213 * java-gimplify.c (java_gimplify_expr): Don't call
3214 SET_EXPR_LOCATION unless wrapped tree is an expression.
3216 2004-11-27 Per Bothner <per@bothner.com>
3218 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
3219 Fix fencepost error in 'i', which got executed one too many times.
3220 Also, fold memcpy into explicit loop, as originally intended.
3221 Also, free temporary 'buf' which otherwise leaks.
3223 2004-11-27 Per Bothner <per@bothner.com>
3225 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
3226 local static variables if not USE_MAPPED_LOCATION.
3228 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
3230 * class.c, decl.c, expr.c: Fix comment typos.
3232 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
3235 * decl.c (end_java_method): Call
3236 attach_init_test_initialization_flags on all the init_decls.
3237 * parse.y (attach_init_test_initialization_flags): Move to ...
3238 * expr.c (attach_init_test_initialization_flags): here and
3239 support BIND_EXPR also.
3240 * java-tree.h (attach_init_test_initialization_flags): Prototype.
3241 * jcf-parse.c (parse_class_file): Don't disable class init
3244 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
3246 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
3249 2004-11-24 Richard Henderson <rth@redhat.com>
3251 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
3252 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
3254 2004-11-24 Tom Tromey <tromey@redhat.com>
3256 * verify.c (defer_merging): Don't use C++-style comment.
3257 * verify.h (java_opcode): Added java_opcode_end.
3258 * class.c (build_class_ref): Remove C++ comment and old FIXME.
3260 * verify-impl.c (vfy_push_type): Removed bogus "return".
3261 (initialize_stack): Use vfy_alloc and vfy_free.
3262 (verify_instructions_0): Likewise.
3264 * Merged gcj-abi-2-dev-branch to trunk.
3266 2004-11-24 Andrew Haley <aph@redhat.com>
3268 * jcf-parse.c (parse_class_file): Set file_start_location.
3270 2004-11-10 Tom Tromey <tromey@redhat.com>
3272 * class.c (make_field_value): Don't call build_static_field_ref.
3273 (build_static_field_ref): Don't emit direct references when using
3276 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3277 -verbose:class into man page synopsis.
3279 2004-11-09 Tom Tromey <tromey@redhat.com>
3281 * expr.c (build_java_arraystore_check): Still generate check if
3282 element type is itself an array.
3284 2004-11-08 Tom Tromey <tromey@redhat.com>
3286 * java-tree.h (soft_check_assignment_node): Removed.
3287 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3288 * decl.c (java_init_decl_processing): Don't initialize
3289 soft_check_assignment_node.
3291 2004-11-05 Tom Tromey <tromey@redhat.com>
3293 * class.c (layout_class_methods): Don't add Miranda methods when
3294 using indirect dispatch.
3296 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3298 * class.c (make_class_data): Call emit_assertion_table to set the
3299 'assertion_table' field.
3300 (build_signature_for_libgcj): Move here from expr.c.
3301 (add_assertion_table_entry): New function. Callback for assertion
3302 hashtable traversal.
3303 (emit_assertion_table): New. Take class argument, and generate
3304 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3305 * decl.c (init_decl_processing): Define assertion_entry_type record.
3306 Push 'assertion_table' class field instead of 'verify'.
3307 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3308 (type_assertion_hash): Include 'assertion_code' in hash.
3309 (add_type_assertion): Rewritten. Take class and assertion_code
3310 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3311 (can_widen_reference_to): Use new add_type_assertion() arguments.
3312 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3313 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3314 (verify_identifier_node): Removed.
3315 (assertion_entry_type, assertion_table_type): New.
3316 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3317 assertion code definitions.
3318 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3319 'target_type' to 'op1' and 'op2'.
3320 (add_type_assertion): Declare.
3321 (lang_printable_name_wls): Remove unused definition.
3322 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3323 to emit runtime assertion.
3324 (vfy_note_stack_type): Clean up non-C90 declarations.
3325 (vfy_note_local_type): Likewise.
3326 * verify.h (vfy_is_assignable_from): Declare.
3327 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3328 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3329 instead of is_assignable_from_slow().
3330 (types_compatible): Reinstate ref_compatible() call.
3332 2004-11-04 Tom Tromey <tromey@redhat.com>
3334 * class.c (build_static_field_ref): Reverted previous patch.
3336 * class.c (build_static_field_ref): Don't emit direct references
3337 when using indirect dispatch.
3339 2004-11-03 Tom Tromey <tromey@redhat.com>
3341 * expr.c (expand_java_arrayload): Set lhs_type_node.
3342 (expand_java_arraystore): Set rhs_type_node.
3344 2004-11-02 Tom Tromey <tromey@redhat.com>
3346 * jcf-parse.c (compute_class_name): Use filename length from zip
3347 directory, not strlen.
3349 * expr.c (expand_invoke): Mark new interface methods as abstract.
3351 2004-11-01 Tom Tromey <tromey@redhat.com>
3353 * verify-impl.c (push_jump): Removed check for uninitialized
3355 (push_exception_jump): Likewise.
3356 (handle_ret_insn): Likewise.
3357 (handle_jsr_insn): Likewise.
3358 (state_check_no_uninitialized_objects): Removed.
3360 * decl.c (check_local_unnamed_variable): Recognize
3361 promoted-to-int parameters when using the new verifier.
3362 * expr.c (expand_java_arraystore): Explicitly request array type
3363 when using new verifier.
3364 (expand_java_arrayload): Likewise.
3365 (invoke_build_dtable): Don't pass object_type_node as
3366 expression argument to build_java_indirect_ref.
3367 (build_java_check_indexed_type): Do nothing.
3368 (build_java_arraystore_check): Handle case where array doesn't
3370 (build_java_array_length_access): Likewise.
3371 (expand_invoke): Handle case where interface overrides a method
3373 (pop_type_0): Always succeed for reference types.
3374 (process_jvm_instruction): Don't pop a value in a dead
3376 (pop_arguments): Convert arguments to correct types.
3378 2004-10-29 Andrew Haley <aph@redhat.com>
3380 * jcf-parse.c (give_name_to_class): Remove line that was
3383 2004-10-29 Andrew Haley <aph@redhat.com>
3385 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3387 2004-10-20 Andrew Haley <aph@redhat.com>
3389 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3391 2004-10-26 Tom Tromey <tromey@redhat.com>
3393 * verify.h (vfy_notify_verified): Removed.
3394 * verify-glue.c (vfy_notify_verified): Removed.
3396 2004-10-26 Tom Tromey <tromey@redhat.com>
3398 * verify-impl.c (debug_print_state): Declare `i' before code.
3399 (merge_types): Modify `t' when it is null_type.
3401 2004-10-26 Tom Tromey <tromey@redhat.com>
3403 * verify-impl.c (type_print): Renamed from print. Now static and
3405 (debug_print_state): Use type_print.
3407 2004-10-25 Tom Tromey <tromey@redhat.com>
3409 * expr.c (build_invokeinterface): Compute correct offset for
3410 index into interface methods.
3412 2004-10-20 Tom Tromey <tromey@redhat.com>
3414 * java-tree.h (verify_jvm_instructions_new): Declare.
3416 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
3419 * verify-impl.c (verify_instructions): Correctly handle wide
3421 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
3422 (vfy_get_component_type): Strip pointer types.
3423 (vfy_find_class): Use get_type_from_signature. Strip pointer
3425 Include java-except.h.
3427 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3429 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
3430 vfy_push_type_t, set_variable, add_new_state, merge_into,
3431 handle_jsr_insn, branch_prepass, check_class_constant,
3432 check_wide_constant, get_one_type, compute_static_types,
3433 verify_instructions_0): Clean up C99 declarations after statements.
3435 2004-10-20 Tom Tromey <tromey@redhat.com>
3437 * verify-impl.c (merge_refs): Compare reference against iterator,
3440 * verify-glue.c (vfy_tag): Mask off resolved flag.
3442 2004-10-19 Tom Tromey <tromey@redhat.com>
3444 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3445 (init_state_with_stack): Initialize `this_type' in state.
3446 (verify_method): Use debug_print.
3447 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3448 (vfy_note_stack_depth): Reverted last patch.
3449 (vfy_note_stack_type): Note pointer to Object, not Object.
3450 (vfy_note_local_type): Likewise.
3452 * verify.h (vfy_note_instruction_seen): Declare.
3453 * verify-glue.c (verify_jvm_instructions_new): Set
3454 BCODE_EXCEPTION_TARGET on target instruction.
3455 (vfy_note_instruction_seen): New function.
3456 * verify-impl.c (FLAG_INSN_SEEN): New define.
3457 (verify_instructions_0): Set flag on instruction. Save state for
3459 (verify_instructions): Call vfy_note_instruction_seen.
3461 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3462 (verify_jvm_instructions_new): Call method_init_exceptions,
3463 add_handler, and handle_nested_ranges.
3464 * verify-impl.c (verify_method): Return 1 on success.
3465 (verify_instructions_0): Save the state at PC=0.
3467 * verify-impl.c (init_type_from_class): Set is_resolved and
3468 ref_next on new ref_intersection.
3469 (init_type_from_string): Likewise.
3471 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>