1 2009-08-12 Andrew Haley <aph@redhat.com>
3 * builtins.c (compareAndSwapInt_builtin): Use
4 flag_use_atomic_builtins.
5 (compareAndSwapLong_builtin): Likewise.
6 (compareAndSwapObject_builtin): Likewise.
7 * jvspec.c: Add flag_use_atomic_builtins.
9 * java-tree.h: Likewise.
12 2009-08-11 Dodji Seketeli <dodji@redhat.com>
15 * lang.c (put_decl_node): Outputs different level of information
16 depending on the verbosity level.
18 2009-07-31 Andrew Haley <aph@redhat.com>
21 * decl.c (java_replace_references): Set EXPR_LOCATION on all
22 generated expressions.
23 (binding_level.loc): new field.
24 (clear_binding_level): Initialize loc.
25 (set_input_location): New function.
26 (pushlevel): Set new binding_level.loc.
27 (poplevel): Set EXPR_LOCATION on the new BIND_EXPR_BODY.
28 (start_java_method): Set DECL_SOURCE_LOCATION of this new method.
29 (java_add_stmt): Set the EXPR_LOCATION on all subtrees of new_stmt.
31 2009-07-17 Richard Guenther <rguenther@suse.de>
34 * java-gimplify.c (java_genericize): Do not gimplify here.
35 But replace all local references.
36 (java_gimplify_expr): Do not replace local references here.
37 (java_gimplify_modify_expr): Likewise.
38 * jcf-parse.c (java_parse_file): Do not finalize the CU or
39 optimize the cgraph here.
40 * decl.c (java_replace_reference): Make static.
41 (java_replace_references): New function.
42 (end_java_method): Clear base_decl_map.
43 * java-tree.h (java_replace_references): Declare.
44 (java_replace_reference): Remove.
46 2009-07-14 Taras Glek <tglek@mozilla.com>
47 Rafael Espindola <espindola@google.com>
49 * Make-lang.in (java.install-plugin): New target for
50 installing plugin headers.
52 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
54 * class.c: Replace %J by an explicit location. Update all calls.
56 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
58 * jcf-parse.c: Replace %H by an explicit location. Update all calls.
60 2009-06-29 Andrew Haley <aph@redhat.com>
63 * java-tree.h (cxx_keyword_p): New declaration.
64 * mangle_name.c (utf8_cmp): Move here from mangle.c.
65 (cxx_keywords): Likewise.
66 (cxx_keyword_p): Likewise.
67 (MANGLE_CXX_KEYWORDS): New macro.
68 (append_gpp_mangled_name): Use MANGLE_CXX_KEYWORDS.
69 (append_gpp_mangled_name): Likewise.
70 * mangle.c: Move code to mangle_name.c.
71 (mangle_member_name): Don't call cxx_keyword_p.
73 2009-06-12 Aldy Hernandez <aldyh@redhat.com>
75 * java-gimplify.c (java_gimplify_block): New argument to
77 * expr.c (force_evaluation_order): Same.
78 * typeck.c: Add location to build_decl or PUSH_FIELD calls.
87 * java-tree.h (PUSH_FIELD): Add location field.
89 2009-06-09 Ian Lance Taylor <iant@google.com>
91 * verify.h: Remove extern "C".
93 2009-06-07 Ian Lance Taylor <iant@google.com>
95 * jcf-parse.c (handle_constant): Change local variable 'kind' to
98 2009-06-01 Ian Lance Taylor <iant@google.com>
100 * jcf-io.c (find_class): Use CONST_CAST.
102 2009-05-27 Ian Lance Taylor <iant@google.com>
104 * Make-lang.in ($(XGCJ)$(exeext)): Change $(COMPILER) to
106 (jc1$(exeext), jcf-dump$(exeext), jvgenmain$(exeext)): Likewise.
108 2009-05-26 Ian Lance Taylor <iant@google.com>
110 * Make-lang.in (jvspec.o): Use $(COMPILER).
111 ($(XGCJ)$(exeext), jc1$(exeext), jcf-dump$(exeext)): Likewise.
112 (jvgenmain$(exeext), java/jcf-io.o, java/jcf-path.o): Likewise.
114 2009-05-12 Alexandre Oliva <aoliva@redhat.com>
116 * Make-lang.in (GCJ): Renamed to...
119 2009-04-27 Ian Lance Taylor <iant@google.com>
121 * builtins.c (java_builtins): Add casts to enum type.
122 * verify-impl.c (check_class_constant): Add cast to enum type.
123 (check_constant, check_wide_constant): Likewise.
125 2009-04-27 Richard Guenther <rguenther@suse.de>
128 * constants.c (build_constants_constructor): Retain the old
129 pointer type as valid TYPE_POINTER_TO after patching the
130 type of the constant pool decl.
132 2009-04-24 Ian Lance Taylor <iant@google.com>
134 * jcf-parse.c (handle_constant): Add cast to enum type.
136 2009-04-21 Taras Glek <tglek@mozilla.com>
138 * builtins.c: Update GTY annotations to new syntax
140 * java-tree.h: Likewise
144 2009-04-21 Joseph Myers <joseph@codesourcery.com>
146 * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
149 2009-04-18 Ian Lance Taylor <iant@google.com>
151 * verify-impl.c (verify_instructions_0): Add cast to enum type.
153 2009-04-09 Paolo Bonzini <bonzini@gnu.org>
155 * builtins.c (compareAndSwapLong_builtin,
156 compareAndSwapInt_builtin, compareAndSwapObject_builtin,
157 VMSupportsCS8_builtin): Do not look at sync_compare_and_swap_cc.
159 2009-03-31 Richard Guenther <rguenther@suse.de>
161 * java-gimplify.c (java_gimplify_expr): Do not manually gimplify
162 the first operand of binary and comaprison expressions.
164 2009-03-30 Joseph Myers <joseph@codesourcery.com>
166 PR rtl-optimization/323
167 * lang.c (java_post_options): Set flag_excess_precision_cmdline.
168 Give an error for -fexcess-precision=standard for processors where
169 the option is significant.
171 2009-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
173 * lang.opt: Unify help text for -Wdeprecated.
175 2009-02-03 Jakub Jelinek <jakub@redhat.com>
177 * jcf-dump.c (version): Update copyright notice dates.
179 2009-01-16 Richard Guenther <rguenther@suse.de>
181 PR tree-optimization/38835
183 * builtins.c (build_addr_sum): Use POINTER_PLUS_EXPR.
185 2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
188 * Make-lang.in (jc1): Add BACKENDLIBS, remove GMPLIBS.
190 2008-11-04 Andrew Haley <aph@redhat.com>
193 * jcf-parse.c (java_emit_static_constructor): Don't call
194 cgraph_build_static_cdtor. Rewrite.
196 2008-10-24 Jakub Jelinek <jakub@redhat.com>
198 * Make-lang.in (check-java-subtargets): New target.
200 2008-10-16 David Edelsohn <edelsohn@gnu.org>
203 * Make-lang.in (class.o): Depend on $(TM_P_H).
205 * class.c: Include tm_p.h.
206 * expr.c: Include tm_p.h.
208 2008-10-14 Andrew Haley <aph@redhat.com>
210 * constants.c (build_constant_data_ref): Make sure we only build
211 one copy of the decl for the constant pool.
213 2008-09-22 Andrew Haley <aph@redhat.com>
215 * expr.c (rules): Add new rule for
216 gnu.java.lang.VMCPStringBuilder.toString.
217 (rewrite_rule.new_classname): New field.
218 (maybe_rewrite_invocation): Use new_classname field instead of
219 DECL_CONTEXT (*method_p).
220 Allow rewrite_arglist to be NULL.
222 2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
224 * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
225 (java_get_callee_fndecl): Kill.
227 2008-09-17 Jan Hubicka <jh@suse.cz>
230 * class.c (add_method_1): Do not initialize DECL_INLINE.
231 (make_local_function_alias): Likewise.
232 * expr.c (rewrite_arglist_getcaller): Set DECL_UNINLINABLE.
233 * lang.c (java_decl_ok_for_sibcall): Use DECL_UNINLINABLE.
235 2008-09-09 Richard Guenther <rguenther@suse.de>
237 * decl.c (build_result_decl): Remove no longer applicable
240 2008-09-05 David Daney <ddaney@avtrex.com>
242 * gcj.texi (-freduced-reflection): Clarify option's restrictions.
244 2008-08-21 David Daney <ddaney@avtrex.com>
246 * class.c (make_class_data): Don't add field_index when
247 flag_reduced_reflection set.
249 2008-08-12 Ulrich Weigand <uweigand@de.ibm.com>
251 * typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.
253 2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
256 * lang.c (java_handle_option): Replace set_Wunused with
259 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
261 * gcj.texi: Update copyright years. Do not list GPL as
264 2008-07-29 Jakub Jelinek <jakub@redhat.com>
266 * class.c (build_utf8_ref): Set DECL_SIZE and DECL_SIZE_UNIT
269 * class.c (build_utf8_ref): Pad initializer string to utf8const_type's
272 2008-07-29 Jan Hubicka <jh@suse.cz>
274 * lang.c (java_post_options): Remove handling of flag_no_inline.
276 2008-07-28 Richard Guenther <rguenther@suse.de>
278 Merge from gimple-tuples-branch.
280 2008-07-18 Richard Guenther <rguenther@suse.de>
282 * expr.c: Include tree-iterator.h.
283 * Make-lang.in (expr.o): Add tree-iterator.h dependency.
285 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
287 * java-gimplify.c: Include gimple.h instead of tree-gimple.h.
290 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
292 * java-gimplify.c (java_gimplify_expr): Same.
293 (java_gimplify_modify_expr): Same.
294 * java-tree.h: Rename GENERIC_NEXT to TREE_CHAIN.
296 2008-05-02 Diego Novillo <dnovillo@google.com>
298 * expr.c (build_java_throw_out_of_bounds_exception): Fix
299 mixed declarations and code.
301 2008-05-02 Doug Kwan <dougkwan@google.com>
303 * expr.c (build_java_throw_out_of_bounds_exception ): Wrap call to
304 _Jv_ThrowBadArrayIndex with a COMPOUND_EXPR to return 0.
306 2008-02-19 Diego Novillo <dnovillo@google.com>
308 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00804.html
310 * java-gimplify.c (java_gimplify_self_mod_expr): Change
311 gimple_seq arguments to gimple_seq *. Update all users.
313 2007-11-26 Aldy Hernandez <aldyh@redhat.com>
315 * java-gimplify.c (java_gimplify_expr): Make pre_p and post_p
317 (java_gimplify_self_mod_expr): Same.
318 * java-tree.h (java_gimplify_expr): Make pre_p and post_p
321 2008-07-24 Jan Hubicka <jh@suse.cz>
323 * java/decl.c: Include cgraph.h
324 (end_java_method): Remove non-unit-at-a-time code.
325 (java_mark_decl_local): Likewise; sanity check that we don't touch
328 2008-07-15 Jan Hubicka <jh@suse.cz>
330 * lang.c (java_init_options): Enable unit-at-a-time by default.
332 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
334 * Make-lang.in (jvspec.o): Fix dependencies.
336 2008-07-06 Tom Tromey <tromey@redhat.com>
338 * Make-lang.in (java/parse.o-warn): Remove.
339 (java/jcf-io.o-warn): Remove.
341 2008-07-05 Tom Tromey <tromey@redhat.com>
343 * jcf-io.c: Don't include fnmatch.h. Don't use JCF_USE_SCANDIR.
344 (compare_path): Remove.
345 (java_or_class_file): Likewise.
346 (memoized_dirlist_entry): Likewise.
347 (memoized_dirlist_hash): Likewise.
348 (memoized_dirlist_lookup_eq): Likewise.
349 (memoized_dirlists): Likewise.
350 (caching_stat): Likewise.
351 (find_class): Use stat.
352 * jcf.h (JCF_USE_SCANDIR): Remove.
354 2008-06-30 Joshua Sumali <jsumali@redhat.com>
356 * Make-lang.in (JAVA_MANFILES): Add doc/aot-compile.1 and
358 (java.uninstall): Likewise.
359 (java.maintainer-clean): Likewise.
360 (aot-compile.pod): New rule.
361 (rebuild-gcj-db.pod): New rule.
362 (java.install-man): Install doc/aot-compile.1 and doc/rebuild-gcj-db.1
363 * gcj.texi: Add new sections for aot-compile and rebuild-gcj-db.
365 2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
367 * Make-lang.in (java/jcf-io.o-warn): New.
369 2008-06-24 Tom Tromey <tromey@redhat.com>
371 * jcf-path.c (jcf_path_init): Don't name variable 'try'.
372 * expr.c (add_type_assertion): Rename argument.
373 (build_java_arrayaccess): Don't name variable 'throw'.
374 (ARRAY_NEW_MULTI): Don't name variable 'class'.
375 * jcf-io.c (find_class): Don't name variable 'class'.
376 * mangle.c (compression_table_add): Don't name variable 'new'.
377 * constants.c (cpool_for_class): Rename argument.
378 (alloc_constant_fieldref): Likewise.
379 * jcf-parse.c (handle_innerclass_attribute): Don't name variable
381 (read_class): Likewise.
382 (parse_zip_file_entries): Likewise.
383 (process_zip_dir): Likewise.
384 * decl.c (java_mark_class_local): Rename argument.
385 * class.c (GEN_TABLE): Use type_name, not typename.
386 (gen_indirect_dispatch_tables): Likewise.
387 (add_field): Rename argument.
388 (is_compiled_class): Likewise.
389 (safe_layout_class): Likewise.
390 (emit_assertion_table): Likewise.
391 * typeck.c (has_method): Rename argument.
393 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
395 * class.c (ident_subst, mangled_classname, unmangle_classname,
396 gen_indirect_dispatch_tables, add_method_1,
397 build_fieldref_cache_entry, make_local_function_alias,
398 layout_class, java_treetreehash_find, java_treetreehash_new,
399 split_qualified_name): Fix for -Wc++-compat.
400 * constants.c (set_constant_entry, cpool_for_class): Likewise.
401 * decl.c (make_binding_level, java_dup_lang_specific_decl,
402 start_java_method): Likewise.
403 * except.c (prepare_eh_table_type): Likewise.
404 * expr.c (type_assertion_hash, note_instructions): Likewise.
405 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC,
406 MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
407 * jcf-io.c (jcf_filbuf_from_stdio, opendir_in_zip, find_class):
409 * jcf-parse.c (reverse, java_read_sourcefilenames,
410 annotation_grow, rewrite_reflection_indexes, java_parse_file,
411 process_zip_dir): Likewise.
412 * jcf-path.c (add_entry, add_path, jcf_path_init,
413 jcf_path_extdirs_arg): Likewise.
414 * jcf-reader.c (jcf_parse_constant_pool): Likewise.
415 * jvgenmain.c (do_mangle_classname): Likewise.
416 * lang.c (put_decl_string): Likewise.
417 * verify-impl.c (make_state_copy, make_state, add_new_state):
420 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
422 * gcj.texi: Expand TABs, remove whitespace from blank lines.
424 2008-06-14 Tom Tromey <tromey@redhat.com>
427 * class.c (build_class_ref): Initialize this_classdollar when
430 2008-05-23 Andrew Haley <aph@redhat.com>
432 * jcf-parse.c (give_name_to_class): Call find_sourcefile to find full
433 pathname of source file.
435 2008-05-12 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
437 * jcf-dump.c (print_constant): Use
438 HOST_LONG_LONG_FORMAT.
440 2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
442 * decl.c (java_init_decl_processing): Change DECL_IS_PURE to
445 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
447 * class.c (build_utf8_ref): Don't set TREE_INVARIANT.
448 (build_classdollar_field): Don't set TREE_INVARIANT.
449 (get_dispatch_table): Don't set TREE_INVARIANT.
450 (make_class_data): Don't set TREE_INVARIANT.
451 (build_symbol_entry): Don't set TREE_INVARIANT.
452 (emit_symbol_table): Don't set TREE_INVARIANT.
453 * constants.c (build_constant_data_ref): Don't set TREE_INVARIANT.
454 (build_ref_from_constant_pool): Don't set TREE_INVARIANT.
455 * resource.c (compile_resource_data): Don't set TREE_INVARIANT.
456 * expr.c (cache_cpool_data_ref): Don't set TREE_INVARIANT.
458 2008-04-03 Tom Tromey <tromey@redhat.com>
460 * Make-lang.in (java_OBJS): New variable.
462 2008-04-03 Paolo Bonzini <bonzini@gnu.org>
464 * java-tree.h (insert_block): Kill.
465 * decl.c (insert_block): Kill.
467 2008-04-01 Joseph Myers <joseph@codesourcery.com>
469 * gcj.texi: Include gpl_v3.texi instead of gpl.texi
470 * Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
473 2008-03-27 Tom Tromey <tromey@redhat.com>
475 * Make-lang.in: Revert automatic dependency patch.
477 2008-03-25 Tom Tromey <tromey@redhat.com>
479 * Make-lang.in: Removed most explicit .o targets.
480 (java/jvspec.o): Reduce to variable setting. Moved to java/.
481 ($(GCJ)$(exeext)): Update.
482 (JAVA_OBJS): New variable.
483 (JCFDUMP_OBJS): Reformat.
484 (java_OBJS): New variable.
485 (java/jvspec.o-warn): Update.
486 (java/parse.o-warn): Remove.
487 (JAVA_TREE_H): Remove.
488 (java/jcf-io.o): Reduce to variable setting.
489 (ALL_CPPFLAGS): Likewise.
491 2008-03-12 Paolo Bonzini <bonzini@gnu.org>
493 * mangle.c (java_mangle_decl): Remove dead check.
495 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
497 * jcf-parse.c (java_parse_file): Assert binding levels are
499 * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
502 2008-03-02 Jakub Jelinek <jakub@redhat.com>
504 * jcf-dump.c (version): Update copyright notice dates.
506 2008-02-29 Tom Tromey <tromey@redhat.com>
508 * expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
510 * java-tree.h (struct lang_decl_func): Remove obsolete comment.
512 2008-02-26 Tom Tromey <tromey@redhat.com>
514 * lang.c (java_post_options): Remove conditional.
515 * expr.c (expand_byte_code): Remove old location code.
516 * jcf-parse.c (set_source_filename): Remove old location code.
517 (give_name_to_class): Likewise.
518 (jcf_parse): Likewise.
519 (duplicate_class_warning): Likewise.
520 (parse_class_file): Likewise.
521 (java_parse_file): Likewise.
522 * decl.c (finish_method): Remove old location code.
523 * class.c (push_class): Remove old location code.
525 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
528 * Make-lang.in (jc1): Add $(GMPLIBS).
530 2008-01-23 David Daney <ddaney@avtrex.com>
532 * class.c (hide) Rename to...
533 (java_hide_decl) ... this throughout, and make public.
534 * resource.c (Jr_count): Remove.
535 (compile_resource_data): Call java_mangle_resource_name to generate
536 decl name. Make resource decl public and hidden.
537 * mangle.c (java_mangle_resource_name): New function.
538 * java-tree.h (java_hide_decl, java_mangle_resource_name): Declare
541 2008-01-04 Andrew Haley <aph@redhat.com>
544 * jcf-parse.c (parse_zip_file_entries): Move decl to compile on
547 2008-01-03 Andrew Haley <aph@redhat.com>
550 * jcf-parse.c (parse_zip_file_entries): Unset TYPE_ALIAS_SET if
551 we're about to re-layout the type.
553 2007-12-20 Alexandre Oliva <aoliva@redhat.com>
555 * lang.c (java_classify_record): Don't return
556 RECORD_IS_INTERFACE for now.
558 2007-12-18 Andrew Haley <aph@redhat.com>
561 * jcf-parse.c (java_parse_file): Remove call to
562 java_mark_class_local.
563 (parse_class_file): Reinstate call to java_mark_class_local here.
564 * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
565 already set, call java_mangle_decl() and make_decl_rtl() to
566 rewrite its name as a hidden alias.
568 2007-12-15 Alexandre Oliva <aoliva@redhat.com>
571 * lang.c (java_classify_record): New.
572 (LANG_HOOKS_CLASSIFY_RECORD): Override.
574 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
577 * decl.c (finish_method): Pass 'false' for the new
578 allocate_struct_function parameter.
580 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
582 * expr.c (build_jni_stub): Use the computed jni func type for
585 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
587 * class.c (JAVA_TREEHASHHASH_H): Use TYPE_UID.
589 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
591 * expr.c (type_assertion_hash): Hash type uids rather than
594 2007-11-17 David Daney <ddaney@avtrex.com>
595 Andrew Haley <aph@redhat.com>
597 * constants.c (build_constants_constructor): Use POINTER_SIZE
598 insead of BITS_PER_WORD in big-endian work around.
600 2007-11-07 Tom Tromey <tromey@redhat.com>
603 * gcj.texi (Input Options): Add missing noun.
605 2007-11-02 Tom Tromey <tromey@redhat.com>
608 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
609 * zipfile.h (ZIPEMPTYMAGIC): New define.
611 2007-11-01 Tom Tromey <tromey@redhat.com>
613 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
614 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
615 (java/jcf-io.o): Depend on zipfile.h.
617 2007-10-17 Richard Guenther <rguenther@suse.de>
619 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
622 2007-10-03 Andrew Haley <aph@redhat.com>
625 * class.c (mangled_classname): Detect and replace illegal
626 characters in assembly language symbols.
627 (gen_indirect_dispatch_tables): Call mangled_classname() on
630 2007-09-27 Jakub Jelinek <jakub@redhat.com>
632 * lang.c (java_print_error_function): Add third argument.
634 2007-09-15 Tom Tromey <tromey@redhat.com>
636 * java-tree.h (struct lang_decl_func) <function_decl_body>:
638 <init_final>: Likewise.
639 * lang.c (java_dump_tree): Update.
640 * java-tree.h (DECL_FUNCTION_BODY): Remove.
642 2007-09-11 Jan Hubicka <jh@suse.cz>
644 * decl.c (java_expand_body): Kill.
645 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
647 2007-09-06 Tom Tromey <tromey@redhat.com>
649 * jcf-parse.c (parse_class_file): Re-enter the current file.
651 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
653 * boehm.c (mark_reference_fields): Move misaligned pointer check
654 after JREFERENCE_TYPE_P test
656 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
658 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
659 if pointer is misaligned.
661 2007-09-06 Tom Tromey <tromey@redhat.com>
663 * lang.c (java_post_options): Update.
664 * jcf-parse.c (set_source_filename): Update.
665 (give_name_to_class): Update.
667 (duplicate_class_warning): Update.
668 (parse_class_file): Update.
669 (java_parse_file): Update.
670 * expr.c (expand_byte_code): Update.
672 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
674 * decl.c (finish_method): Use set_cfun.
676 2007-09-04 Andrew Haley <aph@redhat.com>
678 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
679 when using the ARM EABI.
681 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
683 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
685 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
687 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
689 * jcf.h (JCF_FINISH): Likewise.
691 2007-08-28 Tom Tromey <tromey@redhat.com>
693 * Make-lang.in (java.tags): Don't tag '*.y' files.
695 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
697 * lang.c (java_decl_ok_for_sibcall): Likewise.
699 2007-08-21 Paul Brook <paul@codesourcery.com>
700 Nathan Sidwell <nathan@codesourcery.com>
701 Mark Mitchell <mark@codesourcery.com>
702 Joseph Myers <joseph@codesourcery.com>
704 * jcf-dump.c (version): Use pkgversion_string. Update copyright
707 2007-08-20 Richard Guenther <rguenther@suse.de>
709 * lang.c (java_tree_inlining_walk_subtrees): Remove.
710 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
712 2007-08-17 Tom Tromey <tromey@redhat.com>
714 * typeck.c (find_method_in_interfaces): Update.
715 * jcf-parse.c (load_class): Update.
716 * java-gimplify.c (java_gimplify_component_ref): Removed.
717 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
719 (java_gimplify_expr): Update.
720 * decl.c (java_init_decl_processing): Update.
721 * class.c (set_constant_value): Update.
722 (make_class_data): Update.
723 (finish_class): Update.
724 (build_static_field_ref): Update.
725 (is_compiled_class): Update.
726 (maybe_layout_super_class): Update.
727 (layout_class): Update.
728 (layout_class_method): Update.
729 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
730 (lang_decl_var) <am, final_iud, cif>: Removed fields.
731 (lang_decl_func) <init_calls_this>: Removed field.
732 (lang_type) <dot_class, verify_method>: Removed fields.
733 (FIELD_NESTED_ACCESS): Removed.
734 (FIELD_NESTED_ACCESS_P): Removed.
735 (DECL_FIELD_FINAL_IUD): Removed.
736 (DECL_LOCAL_FINAL_IUD): Removed
737 (LOCAL_FINAL_P): Removed.
738 (FINAL_VARIABLE_P): Removed.
739 (CLASS_FINAL_VARIABLE_P): Removed.
740 (DECL_BIT_INDEX): Removed.
741 (DECL_INIT_CALLS_THIS): Removed.
742 (FIELD_LOCAL_ALIAS): Removed.
743 (FIELD_LOCAL_ALIAS_USED): Removed.
744 (FIELD_THISN): Removed.
745 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
746 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
747 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
748 (TYPE_DOT_CLASS): Removed.
749 (TYPE_VERIFY_METHOD): Removed.
750 (ID_CLASSDOLLAR_P): Removed.
751 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
753 (classdollar_identifier_node): Removed.
754 (TYPE_UNKNOWN): Removed.
755 (CLASS_FROM_SOURCE_P): Removed.
756 * expr.c (build_jni_stub): Update.
757 (force_evaluation_order): Update.
758 (build_java_empty_stmt): Update.
759 (build_class_init): Update.
760 (java_stack_swap): Update.
761 (build_jni_stub): Update.
763 2007-08-17 Tom Tromey <tromey@redhat.com>
765 * java-tree.h (LABEL_TYPE_STATE): Removed.
766 (load_type_state): Removed.
768 (LABEL_VERIFIED): Removed.
769 (type_states): Declare.
770 * expr.c (type_states): New global.
771 (load_type_state): Now static. Use type_states. Changed
773 (lookup_label): Don't set LABEL_PC.
774 (expand_byte_code): Don't use LABEL_VERIFIED.
775 (note_instructions): Initialize type_states.
776 * verify-glue.c (vfy_note_stack_depth): Rewrote.
777 (vfy_note_stack_type): Use type_states.
778 (vfy_note_local_type): Likewise.
780 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
782 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
783 * jcf.h (JCF_FINISH): Likewise.
785 2007-07-31 Nick Clifton <nickc@redhat.com>
787 * java-gimplify.c: Change copyright header to refer to version 3
788 of the GNU General Public License and to point readers at the
789 COPYING3 file and the FSF's license web page.
790 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
791 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
792 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
793 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
794 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
795 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
796 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
798 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
800 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
802 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
804 * lang.c (java_get_callee_fndecl): Constify.
806 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
808 * mangle.c (set_type_package_list): Constify.
809 * verify-glue.c (vfy_make_string): Delete.
810 * verify.h (vfy_make_string): Likewise.
812 2007-07-26 Tom Tromey <tromey@redhat.com>
814 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
815 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
816 EXIT_BLOCK_LABELED_BLOCK): Likewise.
817 * lang.c (java_tree_inlining_walk_subtrees): Update.
818 (java_dump_tree): Likewise.
819 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
821 * decl.c (push_labeled_block, pop_labeled_block): Remove.
822 * java-gimplify.c (java_gimplify_labeled_block_expr,
823 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
824 (java_gimplify_expr): Update.
826 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
828 * class.c (java_treetreehash_hash, java_treetreehash_compare):
830 * expr.c (type_assertion_eq): Likewise.
831 * jcf-io.c (compare_path): Likewise.
832 * jcf-parse.c (cmpstringp): Likewise.
833 * verify-impl.c (get_one_type, compute_argument_types,
834 compute_return_type): Likewise.
836 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
840 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
842 2007-07-12 Richard Guenther <rguenther@suse.de>
844 * expr.c (expand_java_return): RETURN_EXPR has void type.
845 (build_jni_stub): Likewise. Use a comparison against zero
846 for null-pointer test in COND_EXPR.
847 (build_field_ref): Build POINTER_PLUS_EXPR with correct
848 type. Convert result instead.
849 (build_invokevirtual): Likewise.
851 2007-07-09 Geoffrey Keating <geoffk@apple.com>
854 * lang.c (java_init): Remove setting of force_align_functions_log.
855 * class.c (add_method_1): Set DECL_ALIGN of non-static method
856 to cope with ptrmemfunc_vbit_in_pfn.
858 2007-07-03 David Daney <ddaney@avtrex.com>
860 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
864 (java/index.html): Same.
866 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
868 * class.c (make_class_data): Build the index in sizetype.
869 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
870 adding to a pointer type.
871 (build_symbol_entry): Likewise.
872 * expr.c (build_java_arrayaccess): Likewise.
873 (build_field_ref): Likewise.
874 (build_known_method_ref): Likewise.
875 (build_invokevirtual): Likewise.
876 * except.c (build_exception_object_ref): Do a
877 NEGATIVE and then a POINTER_PLUS_EXPR instead
880 2007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
882 * typeck.c (java_signed_type): Remove.
883 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
884 * java-tree.h (java_signed_type): Remove.
886 2007-05-18 Geoffrey Keating <geoffk@apple.com>
888 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
889 (print_constant): Likewise.
891 2007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
893 * expr.c (build_java_binop): Use unsigned_type_for instead of
895 * java-tree.h (java_unsigned_type): Remove.
896 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
897 * typeck.c (java_unsigned_type): Remove.
899 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
901 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
902 instead of checking GIMPLE_STMT_P in chain_next.
904 2007-04-06 Colin Walters <walters@redhat.com>
906 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
907 * jcf-io.c (open_class): Copy 'filename'.
909 2007-04-03 Andrew Haley <aph@redhat.com>
911 * jvgenmain.c (main): Change main to use class$, not class$$.
912 (do_mangle_classname): Likewise.
913 * class.c (hide): New function.
914 (add_field): Hide everything that shouldn't be visible outside a
916 (build_static_class_ref): Likewise.
917 (build_classdollar_field): Likewise.
918 (make_class_data): Likewise.
919 (layout_class_method): Likewise.
920 * expr.c (special_method_p): New function.
922 * class.c (push_class): Don't bogusly guess the source filename.
923 * jcf-parse.c (give_name_to_class): Don't set input_location from
924 DECL_ARTIFICIAL decls.
926 2007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
928 * typeck.c (java_signed_or_unsigned_type): Removed.
929 (java_signed_type): use get_signed_or_unsigned_type instead of
930 java_signed_or_unsigned_type.
931 (java_unsigned_type): Ditto.
932 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
933 * java-tree.h (java_signed_or_unsigned_type): Removed.
935 2007-03-26 Tom Tromey <tromey@redhat.com>
937 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
938 (java.maintainer-clean): Likewise.
939 (java.install-man): Likewise.
940 (.INTERMEDIATE): Removed grmiregistry.pod.
941 (grmiregistry.pod): Removed.
942 * gcj.texi (Invoking gcjh): Removed.
943 (Invoking gjnih): Likewise.
944 (Invoking grmiregistry): Likewise.
947 (which-gcj): Removed.
949 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
951 * Make-lang.in: Add install-pdf target as copied from
952 automake v1.10 rules.
954 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
956 * gcj.texi: Standardize title page.
958 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
960 * class.c: Fix a comment typo.
962 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
963 Brooks Moses <brooks.moses@codesourcery.com>
964 Lee Millward <lee.millward@codesourcery.com>
966 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
968 (BUILD_MONITOR_EXIT): Likewise.
970 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
971 (java_gimplify_modify_expr): Likewise.
973 * class.c (cache_this_class_ref): Use build_call_expr.
974 (build_static_field_ref): Likewise.
975 (emit_indirect_register_classes): Likewise.
976 (emit_register_classes): Likewise.
978 * resource.c (write_resource_constructor): Use build_call_expr.
980 * builtins.c (builtin_creator_function): Change interpretation of
981 the second parameter to be the whole CALL_EXPR instead of the arglist.
982 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
983 (min_builtin): Likewise.
984 (abs_builtin): Likewise.
985 (java_build_function_call_expr): Likewise.
986 (convert_real): Likewise.
987 (UNMARSHAL3): Likewise.
988 (UNMARSHAL4): Likewise.
989 (UNMARSHAL5): Likewise.
990 (build_arglist_for_builtin): Delete. Fix callers to use
991 build_call_expr instead.
992 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
994 (compareAndSwapInt_builtin): Likewise.
995 (compareAndSwapLong_builtin): Likewise.
996 (compareAndSwapObject_builtin): Likewise.
997 (putVolatile_builtin): Likewise.
998 (getVolatile_builtin): Likewise.
999 (VMSupportsCS8_builtin): Likewise.
1000 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
1003 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
1004 (build_java_throw_out_of_bounds_exception): Likewise.
1005 (java_check_reference): Likewise.
1006 (build_java_arraystore_check): Likewise.
1007 (build_newarray): Likewise.
1008 (build_anewarray): Likewise.
1009 (expand_java_multinewarray): Use build_call_list instead of build3.
1010 (build_java_monitor): Use build_call_nary instead of build3.
1011 (java_create_object): Likewise.
1012 (expand_java_NEW): Likewise.
1013 (build_instanceof): Likewise.
1014 (expand_java_CHECKCAST): Likewise.
1015 (build_java_soft_divmod): Likewise.
1016 (build_java_binop): Likewise.
1017 (build_field_ref): Likewise.
1018 (build_class_init): Likewise.
1019 (rewrite_arglist_getcaller): Use build_call_expr.
1020 (build_invokeinterface): Use build_call_nary instead of build3.
1021 (expand_invoke): Use build_call_list instead of build3.
1022 (build_jni_stub): Use build_call_nary, build_call_list, or
1023 build_call_expr instead of build3.
1024 (expand_java_field_op): Use build_call_expr instead of build3.
1025 (force_evaluation_order): Use new CALL_EXPR accessors.
1027 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
1029 2007-02-15 David Daney <ddaney@avtrex.com>
1031 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
1032 (java.maintainer-clean):Add gc-analyze.1.
1033 (.INTERMEDIATE): Add gc-analyze.pod.
1034 (gc-analyze.pod): New rule.
1035 (java.install-man): Install gc-analyze.1
1036 * gcj.texi: Add new section for the gc-analyze program.
1038 2007-02-07 Andrew Haley <aph@redhat.com>
1040 * class.c (uncache_this_class_ref): New.
1041 * expr.c (build_jni_stub): Initialize the class.
1042 (expand_byte_code): Call uncache_this_class_ref after generating
1045 2007-02-06 Tom Tromey <tromey@redhat.com>
1048 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
1050 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
1052 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
1054 2007-02-02 Andrew Haley <aph@redhat.com>
1056 * expr.c (expand_byte_code): Call cache_this_class_ref() and
1057 cache_cpool_data_ref().
1058 Set TYPE_CPOOL_DATA_REF.
1059 (cache_cpool_data_ref): New function.
1060 * constants.c (build_ref_from_constant_pool): Remove special-case
1061 code for flag_indirect_classes.
1062 (build_constant_data_ref): Move special-case code for
1063 flag_indirect_classes here from build_ref_from_constant_pool.
1064 * decl.c (finish_method): Move class initialization from here to
1065 cache_this_class_ref.
1066 * class.c (cache_this_class_ref): New function.
1067 (build_class_ref): Use this_classdollar for the ouput class.
1069 2007-02-02 David Daney <ddaney@avtrex.com>
1071 * class.c (is_compiled_class): Move check to avoid reloading
1073 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
1076 2007-02-01 Andrew Haley <aph@redhat.com>
1079 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
1081 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
1083 * class.c, jcf-parse.c: Fix comment typos.
1085 2007-01-30 Tom Tromey <tromey@redhat.com>
1087 * gcj.texi (Strings): Fix documentation for JvNewString.
1089 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1091 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
1094 2007-01-30 Ben Elliston <bje@au.ibm.com>
1096 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
1098 2007-01-29 Tom Tromey <tromey@redhat.com>
1101 * jvspec.c (lang_specific_driver): Handle separate -I argument.
1102 * lang.opt (-I): Add 'Separate'.
1104 2007-01-29 Andrew Haley <aph@redhat.com>
1106 * class.c (add_method_1): Mark fndecl as external unless we are
1107 compiling it into this object file.
1109 2007-01-24 Andrew Haley <aph@redhat.com>
1111 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
1112 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
1114 2007-01-22 Andrew Haley <aph@redhat.com>
1116 * builtins.c (VMSupportsCS8_builtin): New function.
1118 2007-01-23 Andrew Pinski <pinskia@gmail.com>
1121 * jcf-io.c (opendir_in_zip): Close the file
1122 and free zipf before returning after an error.
1124 2007-01-16 Tom Tromey <tromey@redhat.com>
1126 * java-tree.def: Added copyright header.
1128 2007-01-15 Tom Tromey <tromey@redhat.com>
1130 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
1132 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
1134 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
1135 (EXPR_WFL_NODE): Likewise.
1136 (EXPR_WFL_LINECOL): Likewise.
1137 (EXPR_WFL_FILENAME): Likewise.
1138 (EXPR_WFL_LINENO): Likewise.
1139 (build_expr_wfl, expr_add_location): Don't declare.
1140 (build_unknown_wfl): Removed.
1141 (EXPR_WFL_FILENAME_NODE): Removed.
1142 (EXPR_WFL_COLNO): Removed.
1143 (EXPR_WFL_SET_LINECOL): Removed.
1144 (DECL_FUNCTION_WFL): Removed.
1145 (DECL_FIELD_FINAL_WFL): Removed.
1146 (struct lang_decl_func) <wfl>: Removed field.
1147 <called_constructor>: Likewise.
1148 <inner_access>: Likewise.
1149 (struct lang_decl_var) <wfl>: Removed field.
1150 (DECL_CONSTRUCTOR_CALLS): Removed.
1151 (DECL_FUNCTION_ACCESS_DECL): Likewise.
1152 (DECL_FUNCTION_INNER_ACCESS): Likewise.
1153 (DECL_SPECIFIC_COUNT): Likewise.
1154 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
1155 * expr.c (build_expr_wfl): Removed.
1156 (expr_add_location): Likewise.
1158 2007-01-12 Tom Tromey <tromey@redhat.com>
1160 * jcf-dump.c (main): Updated call to find_class.
1161 * lang.c (java_init): Removed dead code.
1162 * jcf-parse.c (read_class): Don't use java_source field. Removed
1164 (parse_zip_file_entries): Don't use java_source field.
1165 (process_zip_dir): Likewise.
1166 (jcf_parse): Removed dead code.
1167 (java_parse_file): Likewise.
1168 (read_class): Updated call to find_class.
1169 * jcf-io.c (find_class): Don't use java_source field. Removed
1170 'source_ok' argument, .java logic.
1171 * jcf.h (JCF) <java_source>: Removed field.
1172 (JCF_ZERO): Updated. (find_class): Updated.
1173 * decl.c: Removed dead code.
1174 * class.c: Removed dead code.
1176 2007-01-11 Tom Tromey <tromey@redhat.com>
1178 * typeck.c (convert): Don't use flag_emit_class_files.
1179 * lang.c (java_post_options): Don't use flag_emit_class_files.
1180 (java_handle_option): Don't use flag_extraneous_semicolon or
1182 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
1183 flag_emit_class_files.
1184 (load_class): Likewise.
1185 * java-tree.h (flag_emit_class_files): Don't declare.
1186 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
1187 (flag_extraneous_semicolon): Don't declare.
1188 (flag_not_overriding): Likewise.
1189 (flag_static_local_jdk1_1): Likewise.
1190 (flag_redundant): Likewise.
1191 * expr.c (build_newarray): Don't use flag_emit_class_files.
1192 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
1193 flag_emit_class_files.
1194 (build_class_ref): Likewise.
1195 * builtins.c (check_for_builtin): Don't use
1196 flag_emit_class_files.
1198 2007-01-10 Tom Tromey <tromey@redhat.com>
1200 * lang.c (java_can_use_bit_fields_p): Removed.
1201 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
1203 2007-01-09 Andrew Haley <aph@redhat.com>
1205 * expr.c (build_java_arrayaccess): Rewrite to generate array
1206 access in canonical form.
1207 (expand_java_arraystore): Use build_fold_addr_expr() on address of
1210 2007-01-03 Andrew Haley <aph@redhat.com>
1213 * expr.c (expand_java_field_op): If we're initializing a field's
1214 declaring interface we should not also initialize the class
1215 context in which it was referenced.
1217 2007-01-02 Tom Tromey <tromey@redhat.com>
1219 * java-tree.h (compiling_from_source, current_encoding,
1220 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
1221 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
1222 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
1223 JTI_WFL_OPERATOR): Removed
1224 (finit_identifier_node, instinit_identifier_node,
1225 length_identifier_node, super_identifier_node,
1226 continue_identifier_node, access0_identifier_node, wfl_operator):
1228 (cyclic_inheritance_report,
1229 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
1230 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
1231 DECL_FIXED_CONSTRUCTOR_P): Removed.
1232 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
1234 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
1235 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
1236 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
1237 import_list, import_demand_list>: Removed.
1238 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
1239 cxx_keyword_p): Removed.
1240 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
1241 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
1242 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
1243 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
1244 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
1245 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
1246 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
1247 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
1248 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
1249 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
1250 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
1251 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
1252 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
1253 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
1254 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
1255 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
1256 java_parse_abort_on_error, extract_field_decl): Removed.
1258 * lang.c: (compiling_from_source, current_encoding): Removed.
1259 (java_handle_option): Ignore -fencoding.
1260 * parse.h: Don't include lex.h.
1261 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
1262 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
1263 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
1264 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
1265 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
1266 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
1267 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
1268 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
1269 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
1270 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
1271 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
1272 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
1273 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
1274 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
1275 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
1276 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
1277 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
1278 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
1279 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
1280 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
1281 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
1282 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
1283 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
1284 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
1285 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
1286 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
1287 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
1288 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
1289 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
1290 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
1291 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
1292 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
1293 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
1294 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
1295 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
1296 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
1297 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
1298 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
1299 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
1300 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
1301 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
1302 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
1303 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
1304 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
1305 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
1306 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
1307 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
1308 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
1309 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
1310 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
1311 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
1312 SET_CPC_STATIC_INITIALIZER_STMT,
1313 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
1314 java_complete_class, java_check_circular_reference,
1315 java_fix_constructors, java_layout_classes, java_reorder_fields,
1316 java_method_add_stmt, java_get_line_col, reset_report,
1317 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
1318 java_finish_classes, ctxp, ctxp_for_generation,
1319 ctxp_for_generation_last): Removed.
1320 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
1321 * mangle.c (utf8_cmp): New function.
1322 (cxx_keywords): New global.
1323 (cxx_keyword_p): New function.
1324 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
1325 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
1326 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
1327 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
1328 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
1329 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
1330 * Make-lang.in (java.srcextra): Do nothing.
1331 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
1332 (JAVA_OBJS): Don't mention deleted files.
1333 (java.mostlyclean): Likewise.
1334 (java.clean): Likewise.
1335 (JAVA_LEX_C): Removed.
1336 (buffer.o, check-init.o, parse.o): Remove unused targets.
1337 (typeck.o): Updated.
1338 * jcf-parse.c (read_class): Comment out unused code.
1339 (java_layout_seen_class_methods): New function.
1340 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
1342 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
1343 (init_jcf_parse): Removed.
1344 * config-lang.in (gtfiles): Remove deleted files.
1345 * decl.c (java_init_decl_processing): Don't initialize
1346 finit_identifier_node, instinit_identifier_node,
1347 length_identifier_node, super_identifier_node,
1348 continue_identifier_node, access0_identifier_node. Don't call
1350 * class.c (cyclic_inheritance_report): New global.
1351 (add_method_1): Don't use
1352 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
1353 (maybe_layout_super_class): Comment out code.
1354 (safe_layout_class): New function.
1355 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
1356 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
1357 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
1358 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
1359 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
1360 (java_gimplify_case_expr): Removed.
1361 (java_gimplify_default_expr): Likewise.
1362 (java_gimplify_new_array_init): Likewise.
1364 * keyword.gperf, keyword.h: Removed.
1365 * chartables.h: Removed.
1366 * check-init.c: Removed.
1367 * buffer.c, buffer.h: Removed.
1368 * convert.h: Removed.
1369 * gen-table.pl: Removed.
1370 * lex.c, lex.h: Removed.
1372 2007-01-02 Andrew Haley <aph@redhat.com>
1374 * expr.c (expand_java_arraystore): Make sure we perform a bounds
1375 check at runtime before we perform a type check.
1377 2006-12-19 Andrew Haley <aph@redhat.com>
1379 * decl.c: Bump minor BC ABI version.
1381 2006-12-13 Gary Benson <gbenson@redhat.com>
1383 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
1385 2006-12-12 Tom Tromey <tromey@redhat.com>
1387 * lang-specs.h: Pass -M options to jc1.
1388 * jcf-depend.c (jcf_dependency_add_file): Don't emit
1391 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
1393 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
1395 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
1397 * lang-specs.h: Pass '%U'-based options as separate arguments.
1399 2006-12-05 Tom Tromey <tromey@redhat.com>
1402 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
1404 * class.c (add_field): Handle ACC_SYNTHETIC.
1405 (add_method_1): Likewise. Handle bridge and varargs.
1406 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
1408 (set_class_decl_access_flags): Handle synthetic and annotation.
1409 * java-tree.h (METHOD_BRIDGE): New macro.
1410 (METHOD_VARARGS): Likewise.
1411 (TYPE_SYNTHETIC): Likewise.
1412 (TYPE_ANNOTATION): Likewise.
1413 (lang_type): New fields 'synthetic' and 'annotation'.
1414 (lang_decl_func): New fields 'varargs' and 'bridge'.
1416 2006-12-04 Andrew Haley <aph@redhat.com>
1418 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
1421 2006-11-29 Gary Benson <gbenson@redhat.com>
1423 * expr.c (rewrite_arglist_getcaller): Reorder.
1425 2006-11-29 Andrew Haley <aph@redhat.com>
1427 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
1428 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
1430 2006-11-23 Andrew Haley <aph@redhat.com>
1432 * expr.c (rewrite_arglist_getcaller): New.
1433 (rewrite_arglist_getclass): Fix indentation.
1434 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
1435 gnu.classpath.VMStackWalker.getCallingClassLoader().
1436 * builtins.c (initialize_builtins): Remove duplicate def'n of
1438 Add __builtin_return_address.
1440 2006-11-22 Andrew Haley <aph@redhat.com>
1442 * jcf-reader.c (get_attribute): Mark attr_type unused.
1444 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
1446 2007-01-08 Richard Guenther <rguenther@suse.de>
1448 * lex.c (do_java_lex): Use build_int_cst_wide_type.
1449 * jcf-parse.c (get_constant): Likewise.
1451 2006-11-12 Jan Hubicka <jh@suse.cz>
1453 * resource.c (compile_resource_data): Update for new varpool names.
1454 * java/class.c (build_utf8_ref): Likewise.
1456 2006-11-12 David Daney <ddaney@avtrex.com>
1459 * typeck.c (build_java_array_type): Increase buffer sizes.
1461 2006-11-11 Richard Guenther <rguenther@suse.de>
1463 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
1464 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
1466 2006-11-06 Andrew Haley <aph@redhat.com>
1468 * java-tree.h (CONSTANT_LazyFlag): New.
1469 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
1470 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
1472 (handle_constant): Return 0 for dummy cpool entries.
1473 Handle constants of kind Class.
1474 Handle constants of kind NameAndType.
1475 (handle_enclosingmethod_attribute): New.
1476 (handle_signature_attribute): New.
1477 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
1478 (HANDLE_SIGNATURE_ATTRIBUTE): New.
1479 (handle_constant): Use unmangle_classname()rather than calling
1480 identifier_subst() directly.
1482 2006-11-02 Andrew Haley <aph@redhat.com>
1484 * java-tree.h (FIELD_ENUM): New.
1485 (lang_decl_var.field_enum): New.
1486 (lang_type.enum_class): New.
1488 * class.c (set_class_decl_access_flags): Handle enum types.
1489 (add_field): Handle enum fields.
1490 (get_access_flags_from_decl): Likewise.
1492 * class.c (make_class_data): Put reflection_data into rodata.
1494 2006-11-01 Andrew Haley <aph@redhat.com>
1496 * jcf-parse.c (field_offsets, bit_obstack): New variables.
1497 (jcf_parse): Write end marker to annotation_data.
1498 (java_parse_file): Create field_offsets bitmap. Destroy it.
1499 (annotation_grow, annotation_rewrite_byte)
1500 (annotation_rewrite_short, annotation_rewrite_int)
1501 (annotation_read_short, annotation_write_byte)
1502 (annotation_write_short, annotation_write_int)
1503 (handle_long_constant, handle_constant, handle_element_value)
1504 (handle_annotation, handle_annotations)
1505 (handle_annotation_attribute, rewrite_reflection_indexes)
1506 (handle_member_annotations, handle_parameter_annotations)
1507 (handle_default_annotation): New functions.
1508 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
1509 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
1510 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1511 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1512 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
1513 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
1514 (TYPE_REFLECTION_DATA): New.
1515 (TYPE_REFLECTION_DATASIZE): New.
1516 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
1518 * jcf-reader.c (get_attribute): Pass field/method index and
1519 attribute type to get_attribute().
1520 * constants.c (find_class_or_string_constant): Make nonstatic.
1521 (cpool_for_class): Likewise.
1522 (build_constants_constructor): Separate string and scalar types.
1523 * class.c (make_class_data): Generate field_indexes permutation.
1524 Pass it to rewrite_reflection_indexes().
1525 (make_class_data): Generate constructor for reflection_data field.
1527 2006-10-20 Tom Tromey <tromey@redhat.com>
1529 * gcj.texi (Top): Don't mention jv-scan.
1530 (Invoking gcj): Likewise.
1531 (Invoking gcjh): Likewise.
1532 (Invoking gjnih): Likewise.
1533 (Invoking gij): Likewise.
1534 (Invoking gcj-dbtool): Likewise.
1535 (Invoking jv-scan): Removed.
1536 * parse-scan.y: Removed.
1537 * jv-scan.c: Removed.
1538 * config-lang.in (stagestuff): Don't mention jv-scan.
1539 * Make-lang.in (java): Removed jv-scan.
1540 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1541 (JVSCAN_OBJS): Removed.
1542 (jv-scan$(exeext)): Likewise.
1543 (JAVA_MANFILES): Removed jv-scan.1.
1544 (java.uninstall): Don't mention jv-scan.
1545 (java.mostlyclean): Likewise.
1546 (java.maintainer-clean): Likewise.
1547 (.INTERMEDIATE): Likewise.
1548 (java/jv-scan.o): Removed.
1549 (jv-scan.pod): Likewise.
1550 (java.srcextra): Don't mention parse-scan.c.
1551 (java.mostlyclean): Likewise.
1552 (java/parse-scan.c): Removed.
1553 (java/parse-scan.o-warn): Removed.
1554 (java/parse-scan.o): Removed.
1556 2006-10-20 Tom Tromey <tromey@redhat.com>
1558 * lang.c (java_handle_option): Don't use
1559 jcf_write_base_directory.
1560 * jcf.h (jcf_write_base_directory): Removed.
1561 * parse.y (java_expand_classes): Don't call write_classfile.
1562 * config-lang.in (gtfiles): Removed jcf-write.c.
1563 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
1564 (java/jcf-write.o): Removed.
1565 * jcf-parse.c (parse_class_file): Don't call write_classfile.
1566 * java-tree.h (write_classfile): Removed declaration.
1567 * jcf-write.c: Removed.
1569 2006-10-20 Tom Tromey <tromey@redhat.com>
1571 * Make-lang.in (java): Removed gjnih, gcjh.
1572 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1573 (GCJH_OBJS): Removed.
1574 (GJNIH_OBJS): Likewise.
1575 (gjnih$(exeext)): Likewise.
1576 (gcjh$(exeext)): Likewise.
1577 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
1578 (java.install-common): Don't special case gcjh.
1579 (java.uninstall): Don't mention gcjh, gjnih.
1580 (java.mostlyclean): Likewise.
1581 (java.maintainer-clean): Likewise.
1582 (.INTERMEDIATE): Likewise.
1583 (gcjh.pod): Removed.
1584 (gjnih.pod): Likewise.
1585 (GCJH_TARGET_INSTALL_NAME): Removed.
1586 (java/gjavah-jni.o): Removed.
1587 (java/gjavah.o): Likewise.
1588 * config-lang.in (stagestuff): Removed gjnih, gcjh.
1589 * gjavah.c: Removed.
1591 2006-10-17 Tom Tromey <tromey@redhat.com>
1593 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
1596 2006-10-17 Tom Tromey <tromey@redhat.com>
1598 * jvgenmain.c (main): Handle -findirect-dispatch.
1599 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1602 2006-10-06 Andrew Haley <aph@redhat.com>
1604 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1605 have a compare_and_swap builtin.
1606 (compareAndSwapLong_builtin): Likewise.
1607 (compareAndSwapObject_builtin): Likewise.
1609 2006-10-04 Andrew Haley <aph@redhat.com>
1611 * builtins.c (java_builtins): Add compareAndSwapInt,
1612 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1613 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1614 putObjectVolatile, getObjectVolatile, getIntVolatile,
1615 getLongVolatile, getLong.
1616 (UNMARSHAL3): New macro.
1617 (UNMARSHAL4): Likewise.
1618 (UNMARSHAL5): Likewise.
1619 (build_arglist_for_builtin): New function.
1620 (build_addr_sum, build_check_this): New functions.
1621 (putObject_builtin. compareAndSwapInt_builtin,
1622 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1623 putVolatile_builtin, getVolatile_builtin): New builtins.
1625 2006-06-08 Andrew Haley <aph@redhat.com>
1627 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1628 get_symbol_table_index().
1629 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1631 (build_known_method_ref): New arg: special. Pass it to
1632 get_symbol_table_index.
1633 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1635 (build_invokevirtual): New arg: special. Pass it to
1636 get_symbol_table_index.
1637 (expand_invoke): New variable: special.
1638 Pass it to maybe_rewrite_invocation().
1639 Pass it to build_known_method_ref().
1640 * class.c (build_symbol_entry): Add new arg: special. Use it to
1641 build the symbol table conbstructor.
1642 (emit_symbol_table): Extract SPECIAL from the method list and pass
1643 it to build_symbol_entry().
1644 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1645 special accordingly.
1647 2006-09-08 Andrew Haley <aph@redhat.com>
1649 * class.c (layout_class_method): Use build_java_signature, not
1650 build_java_argument_signature. Use lookup_java_method, not
1651 lookup_argument_method.
1653 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1654 Bryce McKinlay <bryce@mckinlay.net.nz>
1656 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1658 2006-07-18 Tom Tromey <tromey@redhat.com>
1660 * lang.opt: Added missing -W options.
1662 2006-07-12 Tom Tromey <tromey@redhat.com>
1665 * lang-specs.h: Pass '%U'-based options as separate arguments.
1666 Use -faux-classpath.
1667 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1668 * lang.opt (faux-classpath): New option.
1670 2006-07-07 Tom Tromey <tromey@redhat.com>
1672 * class.c (make_class_data): Set value for reflection_data field.
1673 * decl.c (java_init_decl_processing): Add reflection_data field.
1675 2006-07-07 Tom Tromey <tromey@redhat.com>
1677 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1679 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1681 2006-07-07 Andrew Haley <aph@redhat.com>
1683 * jcf-parse.c (set_source_filename): Don't check for
1684 CLASS_FROM_CURRENTLY_COMPILED_P.
1687 2006-07-07 Andrew Haley <aph@redhat.com>
1689 * java-tree.h (java_read_sourcefilenames): Declare.
1690 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1691 * lang.opt (fsource-filename): New opt.
1692 * lang-specs.h: Add -fsource-filename.
1693 * jcf-parse.c (num_files, filenames): New variables.
1694 (reverse, cmpstringp, java_read_sourcefilenames,
1695 find_sourcefile): New.
1696 (set_source_filename): Call find_sourcefile to find the real name
1699 2006-06-27 Tom Tromey <tromey@redhat.com>
1701 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1702 Signature, LocalVariableTypeTable, annotation attributes.
1703 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1704 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1705 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1706 (HANDLE_METHOD): Likewise.
1707 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1708 (print_annotation): New function.
1709 (print_element_value): Likewise.
1711 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1712 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1713 (print_parameter_annotations): New function.
1714 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1715 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1717 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1718 (print_annotations): New function.
1720 2006-06-23 Tom Tromey <tromey@redhat.com>
1722 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1723 emitting class files, always use 1.5.
1724 * gcj.texi (Input Options): Document -fsource.
1725 (Code Generation): Document -ftarget.
1727 2006-06-21 Tom Tromey <tromey@redhat.com>
1730 * expr.c (expand_java_field_op): Initialize field's declaring
1733 2006-06-20 Tom Tromey <tromey@redhat.com>
1735 * expr.c (push_value): Always flush quick stack.
1737 2006-06-19 Tom Tromey <tromey@redhat.com>
1739 * expr.c (push_value): Also flush quick stack if value is a
1742 2006-06-19 Tom Tromey <tromey@redhat.com>
1744 * expr.c (push_value): Flush quick stack if value has side
1747 2006-06-13 Tom Tromey <tromey@redhat.com>
1749 * class.c (is_compiled_class): Explicitly check for current
1752 2006-06-09 Tom Tromey <tromey@redhat.com>
1754 * gjavah.c (decompile_method): Don't decompile a static field
1757 2006-06-06 Tom Tromey <tromey@redhat.com>
1759 * lang-specs.h <jc1>: Add .jar file to command line if
1760 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1762 2006-06-05 Tom Tromey <tromey@redhat.com>
1764 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1765 synthetic, enum, annotation.
1766 * jcf.h (ACC_BRIDGE): New macro.
1767 (ACC_VARARGS): Likewise.
1768 (ACC_SYNTHETIC): Likewise.
1769 (ACC_ENUM): Likewise.
1770 (ACC_ANNOTATION): Likewise.
1772 2006-06-04 Tom Tromey <tromey@redhat.com>
1774 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1775 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1777 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1778 when needed. Handle classpath-setting.
1779 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1780 * lang-specs.h: Rewrote.
1782 2006-06-04 Tom Tromey <tromey@redhat.com>
1784 * jcf-io.c (find_class): Set source_ok to 0.
1785 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1786 (parse_class_file): Don't call java_mark_class_local.
1787 (java_parse_file): Skip .java files. Call java_mark_class_local
1788 before lowering any code.
1789 (parse_zip_file_entries): Don't call duplicate_class_warning
1791 (process_zip_dir): ... call it here.
1792 * class.c (add_field): Don't mark field external if it is being
1793 compiled into this object.
1794 (make_class_data): Handle situation where class_dtable_decl is
1795 created before Class is compiled.
1796 (is_compiled_class): Don't assume files in zip are compiled into
1798 (layout_class_method): Don't mark method external if it is being
1799 compiled into this object.
1801 2006-06-04 Tom Tromey <tromey@redhat.com>
1803 * jcf-path.c (jcf_path_compute): New function.
1804 * jcf.h (jcf_path_compute): Declare.
1806 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1808 * decl.c: Include langhooks.h.
1809 (builtin_function): Remove.
1810 (java_init_decl_processing): Replace calls to builtin_function
1811 with add_builtin_function.
1812 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1813 (java/decl.o): Depend on langhooks.h.
1814 * java-tree.h (builtin_function): Remove.
1816 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1818 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1820 2006-09-12 Tom Tromey <tromey@redhat.com>
1822 * expr.c (push_value): Always flush quick stack.
1824 2006-09-12 Tom Tromey <tromey@redhat.com>
1827 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1828 the push of the called method's return result.
1830 2006-09-12 Tom Tromey <tromey@redhat.com>
1832 * jvspec.c (lang_specific_driver): Read spec file even if
1835 2006-09-12 Tom Tromey <tromey@redhat.com>
1838 * expr.c (expand_java_field_op): Initialize field's declaring
1839 interface if necessary.
1841 2006-09-12 Tom Tromey <tromey@redhat.com>
1844 * expr.c (expand_java_field_op): No error for assignments not in
1845 class initializer or constructor.
1847 2006-08-22 Andrew Haley <aph@redhat.com>
1849 * decl.c (java_add_stmt): Give the statement list a type.
1851 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1852 Bryce McKinlay <bryce@mckinlay.net.nz>
1854 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1856 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1859 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1860 or '--' is used with a constant operand.
1861 (java_complete_lhs): When processing a '++' or '--' expression,
1862 don't call java_complete_tree but java_complete_lhs, so that a
1863 static final variable operand is never replaced by its value. This
1864 avoids an ICE later on.
1865 (patch_unaryop): Fixed typo in comment.
1867 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1869 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1871 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1873 * builtins.c (check_for_builtin): If a builtin could result in a
1874 direct call being generated, don't use it if flag_indirect_dispatch
1877 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1879 * gcj.texi (Invocation): Corrections for Invocation API example.
1881 2006-07-04 Andrew Haley <aph@redhat.com>
1883 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1886 2006-06-21 Andrew Haley <aph@redhat.com>
1888 * java-tree.h (update_aliases): Remove
1889 * expr.c (expand_iinc): Remove call to update_aliases().
1890 (STORE_INTERNAL): Likewise.
1891 * decl.c (update_aliases, initialize_local_variable)
1892 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1894 2006-06-19 Andrew Haley <aph@redhat.com>
1898 * expr.c (java_modify_addr_for_volatile): New function.
1899 (expand_java_field_op): Handle volatile fields.
1900 * java-gimplify.c (java_gimplify_component_ref): Call
1901 java_modify_addr_for_volatile to give the field_ref the correct
1903 (java_gimplify_modify_expr): Likewise.
1904 * java-tree.h (java_modify_addr_for_volatile): New decl.
1906 2006-06-17 Karl Berry <karl@gnu.org>
1908 * gcj.texi (@dircategory): Use "Software development" instead
1909 of "Programming", following the Free Software Directory.
1911 2006-06-16 Andrew Haley <aph@redhat.com>
1913 * class.c (make_class_data): When using flag_indirect_classes,
1914 don't initialize the vtable of Class instances.
1916 2006-06-09 Andrew Haley <aph@redhat.com>
1920 * builtins.c (initialize_builtins): Add __sync_synchronize().
1921 * class.c (add_field): Mark volatile fields.
1922 * java-gimplify.c (java_gimplify_expr): Call new functions to
1923 handle self-modifying exprs and COMPONENT_REFs.
1924 (java_gimplify_component_ref): New.
1925 (java_gimplify_modify_expr): Add handling for volatiles.
1927 2006-06-08 Tom Tromey <tromey@redhat.com>
1929 * gcj.texi (libgcj Runtime Properties): Document
1930 gnu.gcj.user.realname.
1932 2006-06-08 Andrew Haley <aph@redhat.com>
1934 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1935 get_symbol_table_index().
1936 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1938 (build_known_method_ref): New arg: special. Pass it to
1939 get_symbol_table_index.
1940 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1942 (build_invokevirtual): New arg: special. Pass it to
1943 get_symbol_table_index.
1944 (expand_invoke): New variable: special.
1945 Pass it to maybe_rewrite_invocation().
1946 Pass it to build_known_method_ref().
1947 * class.c (build_symbol_entry): Add new arg: special. Use it to
1948 build the symbol table conbstructor.
1949 (emit_symbol_table): Extract SPECIAL from the method list and pass
1950 it to build_symbol_entry().
1951 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1952 special accordingly.
1954 2006-06-06 David Daney <ddaney@avtrex.com>
1956 * gcj.texi (libgcj Runtime Properties): Document
1957 gnu.gcj.runtime.NameFinder.show_raw and
1958 gnu.gcj.runtime.NameFinder.remove_unknown.
1960 2006-06-06 Tom Tromey <tromey@redhat.com>
1962 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1963 synthetic, enum, annotation.
1964 * jcf.h (ACC_BRIDGE): New macro.
1965 (ACC_VARARGS): Likewise.
1966 (ACC_SYNTHETIC): Likewise.
1967 (ACC_ENUM): Likewise.
1968 (ACC_ANNOTATION): Likewise.
1970 2006-06-06 Mike Stump <mrs@apple.com>
1972 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1973 installing during build.
1975 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1977 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1978 classname-to-library resolution mechanism.
1979 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1980 mechanism deprecated.
1981 (libgcj Runtime Properties): Document
1982 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1984 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1986 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1988 (jword): Define to uint64 on 64-bit arches.
1989 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1991 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1993 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1996 2006-05-26 Tom Tromey <tromey@redhat.com>
1998 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1999 * verify-glue.c (vfy_class_type): New function.
2000 * verify-impl.c (check_constant): Allow 'ldc class'.
2001 * verify.h (vfy_class_type): Declare.
2003 2006-05-25 Andrew Haley <aph@redhat.com>
2006 * decl.c (maybe_pushlevels): When variable ranges are non-nested
2007 update all lifetimes, not just the first one.
2009 2006-05-24 Tom Tromey <tromey@redhat.com>
2011 * java-tree.h: Fixed flag documentation.
2013 2006-05-24 Tom Tromey <tromey@redhat.com>
2016 * jcf.h (ACC_INVISIBLE): Changed value.
2018 2006-05-24 Andrew Haley <aph@redhat.com>
2021 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
2024 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
2026 * lang.opt (femit-class-file): Remove VarExists.
2028 2006-05-16 Tom Tromey <tromey@redhat.com>
2030 * verify-impl.c (verify_instructions_0) <op_return>: Special case
2033 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
2036 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
2039 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
2041 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
2042 (java/expr.o): Replace target.h with $(TARGET_H).
2043 (java/parse.o): Likewise.
2045 2006-05-10 Andrew Haley <aph@redhat.com>
2047 * class.c (emit_indirect_register_classes): Fix comment.
2049 2006-05-04 Tom Tromey <tromey@redhat.com>
2051 * java-tree.h (uses_jv_markobj_p): Declare.
2052 * class.c (uses_jv_markobj_p): Removed.
2053 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
2054 (get_boehm_type_descriptor): Use it.
2055 (uses_jv_markobj_p): Moved from class.c. Return bool.
2057 2006-05-04 Tom Tromey <tromey@redhat.com>
2059 * java-tree.def (THIS_EXPR): Now a tcc_expression.
2061 2006-05-04 Andrew Haley <aph@redhat.com>
2063 * class.c (make_field_value): Always build_address_of fdecl if
2064 there is an initializer.
2066 2006-05-03 Andrew Haley <aph@redhat.com>
2069 * expr.c (maybe_rewrite_invocation): New function.
2070 (rewrite_arglist_getclass): Likewise.
2072 (expand_invoke): Call maybe_rewrite_invocation.
2073 * parse.y (patch_invoke): Likewise.
2074 * java-tree.h: (maybe_rewrite_invocation): New function.
2076 2006-04-21 Andrew Haley <aph@redhat.com>
2078 * lang.c (java_init): Handle flag_indirect_classes.
2079 * jvgenmain.c: Use "class$$" instead of "class$".
2080 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
2082 (mangle_class_field): Special case "class$$" as well as "class$".
2083 * constants.c (build_ref_from_constant_pool): If
2084 flag_indirect_classes, generate a ref into the heap.
2085 * decl.c (constants_field_decl_node,
2086 constants_data_field_decl_node): New.
2087 * class.c (build_static_class_ref): New.
2088 (build_classdollar_field): Factor out from build_class_ref().
2089 (make_field_value): Handle static fields in heap.
2090 (make_class_data): Make sure we get a static ref to class.
2091 Make class initializer const if flag_indirect_classes.
2092 (register_class): Build a class_ref for initialization if
2093 flag_indirect_classes.
2094 (emit_indirect_register_classes): New.
2096 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
2098 * expr.c, gjavah.c: Fix comment typos.
2100 2006-04-03 Andrew Haley <aph@redhat.com>
2103 * expr.c (build_field_ref): Don't check the field offset if
2106 2006-03-30 Andrew Haley <aph@redhat.com>
2109 * lang.c (java_attribute_table): New.
2110 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
2111 * expr.c (build_field_ref): Add a null pointer check for all
2112 fields of offset > 4k. Don't do so for accesses via the this
2113 pointer, which we know can never be null.
2114 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
2117 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
2119 * Make-lang.in: Rename docdir to gcc_docdir.
2121 2006-03-30 Tom Tromey <tromey@redhat.com>
2124 * parse.y (java_reorder_fields): Reset superclass field's size as
2127 2006-03-28 Tom Tromey <tromey@redhat.com>
2130 * parse.y (find_most_specific_methods_list): Added 'class'
2132 (lookup_method_invoke): Updated.
2134 2006-03-15 Tom Tromey <tromey@redhat.com>
2136 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
2137 non-static method calls.
2139 2006-03-15 David Daney <ddaney@avtrex.com>
2141 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
2144 2006-03-15 David Daney <ddaney@avtrex.com>
2146 * lang.opt (-freduced-reflection): New option.
2147 * lang.c (java_post_options): Generate an error if
2148 -freduced-reflection used with -fjni or -findirect-dispatch.
2149 * java-tree.h (flag_reduced_reflection): Declare new variable.
2150 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
2151 if bitmap overflows and flag_reduced_reflection set.
2152 * class.c (uses_jv_markobj_p): New function.
2153 (make_class_data): Moved generation of vtable to before
2154 reflection data, generate less reflection data if
2155 flag_reduced_reflection set.
2156 * gcj.texi: Document -freduced-reflection.
2158 2006-03-15 Tom Tromey <tromey@redhat.com>
2161 * class.c (get_interface_method_index): Don't put <clinit> into
2164 2006-03-15 Tom Tromey <tromey@redhat.com>
2166 * parse.y (analyze_clinit_body): Ignore empty statements.
2168 2006-03-08 David Daney <ddaney@avtrex.com>
2170 * gcj.texi: Document -static-libgcj option.
2172 2006-02-20 Andrew Haley <aph@redhat.com>
2174 * jcf-parse.c (parse_class_file): Set input_location from
2177 2006-02-15 Andrew Haley <aph@redhat.com>
2179 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
2180 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
2181 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
2183 2006-02-09 Andrew Haley <aph@redhat.com>
2186 * expr.c (expand_invoke): Allow methods in arrays to be resolved
2187 in their superclass.
2189 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
2192 2006-02-08 Tom Tromey <tromey@redhat.com>
2195 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
2196 * builtins.c (convert_real): New function.
2197 (java_builtins): Handle Float.intBitsToFloat,
2198 Float.floatToRawIntBits, Double.longBitsToDouble,
2199 Double.doubleToRawLongBits.
2201 2006-02-07 Andrew Haley <aph@redhat.com>
2203 * expr.c (expand_invoke): (BC mode.) If we find a method in a
2204 class other than the one in which we expected to find it, ignore
2208 * constants.c (build_constants_constructor): move initializer into
2209 first halfword on a 64-bit big-endian machine.
2211 2006-02-04 Tom Tromey <tromey@redhat.com>
2214 * builtins.c (max_builtin): Skip floating point 'max'.
2215 (min_builtin): Skip floating point 'min'.
2216 (check_for_builtin): Never return NULL_TREE.
2218 2006-02-04 Tom Tromey <tromey@redhat.com>
2221 * expr.c (push_type): Avoid side effect in gcc_assert.
2223 2006-02-04 Roger Sayle <roger@eyesopen.com>
2225 * decl.c (java_init_decl_processing): Create char_type_node as a
2226 regular INTEGER_TYPE node.
2227 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
2228 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
2229 test for char_type_node and promoted_char_type_node as special
2230 instances of INTEGER_TYPE tree codes.
2231 (promote_type,build_java_signature): Likewise.
2232 * jcf-write.c (adjust_typed_op): Likewise.
2233 * mangle.c (mangle_type): Likewise.
2234 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
2235 * parse.h (JINTEGRAL_TYPE_P): Likewise.
2237 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
2239 * expr.c (java_stack_swap): Revert gcc_assert patch.
2241 2006-02-03 Ben Elliston <bje@au.ibm.com>
2243 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
2244 * typeck.c: Likewise.
2245 * verify-impl.c: Likewise.
2246 * class.c: Likewise.
2248 * jcf-parse.c: Likewise.
2249 * constants.c: Likewise.
2250 * check-init.c: Likewise.
2251 * jcf-write.c: Likewise.
2252 * verify-glue.c: Likewise.
2253 * mangle.c: Likewise.
2256 * boehm.c: Likewise.
2258 2006-02-01 Jan Hubicka <jh@suse.cz>
2260 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
2261 * lang.c (java_init_options): Set no_unit_at_a_time_default.
2263 2006-01-30 Andrew Haley <aph@redhat.com>
2266 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
2268 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
2270 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
2271 Update copyright notice dates.
2273 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2275 * jvspec.c (lang_specific_spec_functions): Remove.
2277 2006-01-06 Tom Tromey <tromey@redhat.com>
2279 * gcj.texi (Arrays): Added more documentation for
2281 (Primitive types): Correct information about primitive classes.
2282 (Reference types): New node.
2285 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
2287 * jcf-parse.c (set_source_filename): Set the decl source location
2288 even when returning early.
2290 2005-12-15 Tom Tromey <tromey@redhat.com>
2291 Andrew Haley <aph@redhat.com>
2294 * parse.y (resolve_expression_name): Don't generate accessor
2295 methods for constant fields.
2297 2005-12-13 Andrew Haley <aph@redhat.com>
2301 * class.c (maybe_layout_super_class): Update current_class before
2302 calling do_resolve_class.
2304 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
2307 * jcf-write.c (write_classfile): Use PID in temporary class
2308 file. Save/restore errno when reporting error.
2310 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
2313 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
2314 to bare_function_type and including the return type
2315 * builtins.c (initialize_builtins) : Change builtin mangled name
2316 constants to conform to new mangling scheme
2318 2005-12-08 Andrew Haley <aph@redhat.com>
2321 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
2322 (soft_abstractmethod_node): New.
2323 * expr.c (build_field_ref): Add in-line check for missing field.
2324 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
2326 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2328 * Make-lang.in (java.all.build, java.install-normal): Remove.
2330 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2332 * Make-lang.in: Remove all dependencies on s-gtype, except for
2335 2005-12-07 Richard Sandiford <richard@codesourcery.com>
2337 * class.c (build_utf8_ref, emit_register_classes): Use
2338 switch_to_section and get_section.
2340 2005-12-06 Tom Tromey <tromey@redhat.com>
2343 * parse.y (patch_new_array_init): Revert previous patch.
2344 (lookup_method_invoke): Use size-less array type when creating an
2345 anonymous constructor.
2347 2005-12-05 Tom Tromey <tromey@redhat.com>
2349 * parse.y (patch_new_array_init): Don't set length on array.
2351 2005-12-02 Richard Guenther <rguenther@suse.de>
2353 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
2354 buildN instead of build.
2355 * class.c (finish_class): Likewise.
2356 * expr.c (java_create_object): Likewise.
2358 2005-11-28 Tom Tromey <tromey@redhat.com>
2361 * expr.c (build_jni_stub): Unwrap the return value.
2362 * java-tree.h (soft_unwrapjni_node): New define.
2363 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
2364 * decl.c (java_init_decl_processing): Initialize
2365 soft_unwrapjni_node.
2367 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
2369 * gcj.texi (gij options): Add -Xss documentation.
2371 2005-11-08 Wil Mahan <wmahan@gmail.com>
2374 * zextract.c (read_zip_archive): Fix out of memory error when
2375 reading jar files with zip-style comments.
2377 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
2379 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
2381 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
2383 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
2384 Wil Mahan <wmahan@gmail.com>
2387 * class.c (make_class): Create empty binfo here.
2388 (set_super_info): Only create binfo if we have superclasses.
2390 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
2393 * parse.y (method_header): Make the result of the rule a NULL_TREE
2394 when a parsing error occurs.
2396 2005-09-29 Tom Tromey <tromey@redhat.com>
2399 * jcf-io.c (memoized_dirlist_hash): New function.
2400 (caching_stat): Use it.
2402 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
2405 * class.c (inherits_from_p): Try to lay out super class
2406 if it is not already laid out.
2407 (maybe_layout_super_class): Handle the case where SUPER_CLASS
2410 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
2412 * builtins.c (max_builtin, min_builtin, abs_builtin,
2413 java_build_function_call_expr): Use fold_buildN.
2414 * class.c (layout_class_method): Likewise.
2415 * expr.c (java_truthvalue_conversion, build_java_jsr,
2416 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
2417 build_java_binop, build_field_ref, expand_compare,
2418 build_known_method_ref, build_invokevirtual,
2419 process_jvm_instruction): Likewise.
2420 * parse.y (patch_binop, patch_exit_expr): Likewise.
2421 * typeck.c (convert_ieee_real_to_integer): Likewise.
2422 (convert): Don't call fold after convert_ieee_real_to_integer.
2424 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
2427 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
2428 the newly created type. Set import lists here, not in create_class.
2429 (jdep_resolve_class): Set current_class.
2430 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
2431 the current package context, not ctxp->package.
2432 (cicp_cache): Removed.
2433 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
2434 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
2435 * java-tree.h (TYPE_PACKAGE): New macro.
2436 (struct lang_type): New member 'package'.
2438 2005-09-09 Andrew Haley <aph@redhat.com>
2441 * expr.c (pop_type_0): If the expected type is object or ptr
2442 (i.e. void*), return the type of the object we just popped from
2445 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
2447 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
2448 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
2450 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
2452 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
2453 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
2454 typos. Follow spelling conventions.
2456 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
2459 * typeck.c (lookup_do): Look up interfaces for the original class,
2461 * parse.y (java_check_regular_methods): Fix diagnostic message for
2462 more restrictive overriding of a method from an interface.
2464 2005-08-16 Tom Tromey <tromey@redhat.com>
2466 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
2467 class' initial state.
2469 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2472 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
2473 `literal_token' for large numeric input tokens.
2475 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2478 * parse.y (nested_field_access_p): Rename to nested_member_access_p
2479 and expand to handle method accesses across nested classes.
2480 (build_outer_method_access_method): Rename to
2481 build_nested_method_access_method. Minor adjustments to comments.
2482 (resolve_expression_name): Use the newly-renamed
2483 nested_member_access_p method.
2484 (resolve_qualified_expression_name): Likewise.
2485 (patch_method_invocation): Also consider static methods for access
2486 method generation. Minor adjustments to comments.
2487 (maybe_use_access_method): Use the more general
2488 nested_memeber_access_p to determine access across nested class
2489 boundaries. Allow THIS_ARG to be NULL (for static methods).
2491 2005-08-15 Tom Tromey <tromey@redhat.com>
2494 * expr.c (build_field_ref): Don't generate otable reference when
2495 DECL_FIELD_OFFSET is 0.
2496 * class.c (maybe_layout_super_class): Pass outer class to
2499 2005-08-15 Tom Tromey <tromey@redhat.com>
2501 * java-tree.h (LABEL_IN_SUBR): Removed.
2502 (LABEL_IN_SUBR): Likewise.
2503 (LABEL_IS_SUBR_START): Likewise.
2504 (LABEL_SUBR_START): Likewise.
2505 (LABEL_SUBR_CONTEXT): Likewise.
2506 (LABEL_CHANGED): Likewise.
2507 (LABEL_RETURN_LABEL): Likewise.
2508 (LABEL_RETURN_TYPE_STATE): Likewise.
2509 (LABEL_RETURN_LABELS): Likewise.
2510 (RETURN_MAP_ADJUSTED): Likewise.
2511 (LABEL_PENDING_CHAIN): Likewise.
2513 2005-08-15 Tom Tromey <tromey@redhat.com>
2515 * Make-lang.in (JAVA_OBJS): Removed verify.o
2516 (java/verify.o): Removed.
2517 * verify.c: Removed.
2518 * lang.c (flag_new_verifier): Removed.
2519 (java_post_options): Updated.
2520 * java-tree.h (flag_new_verifier): Removed.
2521 (verify_jvm_instructions): Removed.
2522 * expr.c (pop_type_0): Assume flag_new_verifier is true.
2523 (build_java_check_indexed_type): Likewise.
2524 (expand_java_arraystore): Likewise.
2525 (expand_java_arrayload): Likewise.
2526 (pop_arguments): Likewise.
2527 (expand_byte_code): Likewise.
2528 (process_jvm_instruction): Likewise.
2530 2005-08-10 Andrew Haley <aph@redhat.com>
2532 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
2533 type mismatches to make legal GIMPLE.
2535 2005-08-10 Robin Green <greenrd@greenrd.org>
2538 * parse.y (maybe_use_access_method): Generalize check from
2539 java.lang.Object to any superclass of current_class
2541 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2543 * class.c (build_class_ref): Wrap the primary class type in a
2545 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
2546 primary class type from the NOP_EXPR in which it was placed.
2548 2005-07-28 Diego Novillo <dnovillo@redhat.com>
2550 * expr.c (expand_load_internal): Fix missing parens in
2553 2005-07-28 Andrew Haley <aph@redhat.com>
2555 * expr.c (expand_load_internal): Convert to destination type.
2557 2005-07-22 Manfred Hollstein <mh@suse.com>
2559 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
2560 (check_constant): Likewise.
2561 (check_wide_constant): Likewise.
2563 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2565 Make CONSTRUCTOR use VEC to store initializers.
2566 * check-init.c (check_init): Update to cope with VEC in
2568 * class.c (make_field_value, make_method_value, get_dispatch_table,
2569 make_class_data, emit_symbol_table, emit_catch_table,
2570 emit_assertion_table): Use build_constructor_from_list instead of
2572 * constants.c (build_constants_constructor): Likewise.
2573 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
2574 VEC in CONSTRUCTOR_ELTS.
2575 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
2576 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
2578 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
2580 * parse.y (build_new_array_init): Use build_constructor_from_list
2581 instead of build_constructor.
2582 (patch_new_array_init): Update to cope with VEC in
2584 (array_constructor_check_entry): Likewise.
2586 2005-07-12 Tom Tromey <tromey@redhat.com>
2588 * jvspec.c (lang_specific_driver): Put filelist_filename first on
2591 2005-07-12 Tom Tromey <tromey@redhat.com>
2594 * parse-scan.y (interface_member_declaration): Added
2597 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2599 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2600 (LABEL_PENDING_CHAIN): Ditto.
2602 (DECL_BIT_INDEX): Ditto.
2604 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2607 * parse.y (inner_class_accessible): New function. Logic moved from
2608 check_inner_class_access.
2609 (check_inner_class_access): Use inner_class_accessible.
2610 (resolve_inner_class): Simplify arguments. Create circularity hash
2611 here. Keep looking for classes if we found one that was inaccessible.
2612 Return the inaccessible class only if there is no other match.
2613 (do_resolve_class): Update for new resolve_inner_class arguments.
2614 Don't create circularity_hash here.
2616 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2619 * parse.y (add_exception_to_throws): New function.
2620 (purge_unchecked_exceptions): Removed.
2621 (get_constructor_super): Renamed from verify_constructor_super. Now
2622 returns the super constructor after verification.
2623 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2624 or save/restore the exception list.
2625 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2626 class initializers and constructors to the throws clause of the method.
2628 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2631 * parse.y (interface_member_declaration): Allow empty statements in
2632 interface declarations.
2634 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2636 * Makefile.in (parse.o): Adjust dependencies.
2637 * parse.y: Include tree-dump.h.
2639 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2641 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2644 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2646 * parse.y (issue_warning_error_from_context): Call
2647 pp_output_formatted_text to be able to get the buffer.
2649 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2651 * parse.y (issue_warning_error_from_context): Update for the
2652 renaming of pp_format_text to pp_format.
2654 2005-06-28 Paul Brook <paul@codesourcery.com>
2656 * decl.c (java_init_decl_processing): Call
2657 default_init_unwind_resume_libfunc.
2659 2005-06-27 Tom Tromey <tromey@redhat.com>
2661 PR java/21540, PR java/13788:
2662 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2663 fold_constant_for_init.
2664 (patch_binop): Added 'folding' argument. Updated all callers.
2665 (patch_unaryop) <NOP_EXPR>: New case.
2666 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2667 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2669 2005-06-25 Jan Hubicka <jh@suse.cz>
2671 * builtins.c (define_builtin): Accept new flags parameter.
2672 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2674 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2676 * all files: Update FSF address in copyright headers.
2678 2005-06-24 Tom Tromey <tromey@redhat.com>
2680 * verify-impl.c (verify_instructions_0): Correctly handle
2681 situation where PC falls off end.
2683 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2686 * parse.y (find_most_specific_methods_list): Remove special case for
2689 2005-06-15 Tom Tromey <tromey@redhat.com>
2692 * class.c (make_method_value): Use soft_abstractmethod_node for
2694 * java-tree.h (soft_abstractmethod_node): New define.
2695 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2696 * decl.c (java_init_decl_processing): Initialize
2697 soft_abstractmethod_node.
2699 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2701 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2703 2005-06-13 Per Bothner <per@bothner.com>
2705 * expr.c (int highest_label_pc_this_method,
2706 start_label_pc_this_method): New globals.
2707 (lookup_label): Add start_label_pc_this_method to pc for label, and
2708 update highest_label_pc_this_method. This prevents conflicts between
2709 labels from different methods.
2710 * java-tree.h: Declare new globals.
2711 * jcf-parse.c (parse_class_file): If needed bump
2712 start_label_pc_this_method and reset highest_label_pc_this_method.
2714 2005-06-13 Tom Tromey <tromey@redhat.com>
2717 * parse.y (nested_field_access_p): Handle case where outer field
2718 is inherited by enclosing class.
2720 2005-06-12 Per Bothner <per@bothner.com>
2722 * class.c (inherits_from_p): Do load_class if needed.
2724 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2726 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2727 * java-tree.h (parse_error_context): Move...
2728 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2729 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2730 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2732 2005-06-08 Roger Sayle <roger@eyesopen.com>
2734 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2736 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2738 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2739 msgid for argument name.
2740 * gjavah.c (error): Likewise.
2741 * java-tree.h (parse_error_context): Likewise.
2742 * parse.y (parse_error_context, parse_warning_context,
2743 issue_warning_error_from_context): Likewise.
2745 2005-06-01 Tom Tromey <tromey@redhat.com>
2748 * class.c (build_static_field_ref): Don't fold constant fields if
2749 current class is from a .class file and we're using indirect
2752 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2754 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2755 * java/Make-lang.in: Updates dependencies.
2757 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2760 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2761 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2762 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2763 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2764 * jcf-write.c (generate_classfile): Use
2765 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2766 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2767 * parse.y (build_outer_field_access): Rename to
2768 build_nested_field_access. Support static fields and outer-to-inner
2770 (outer_field_access_p): Rename to nested_field_access_p. Support
2771 static fields and generalise to outer-to-inner class and sibling
2772 inner class accesses.
2773 (outer_field_expanded_access_p): Rename to
2774 nested_field_expanded_access_p and support static fields.
2775 (outer_field_access_fix): Rename to nested_field_access_fix and
2776 support static fields.
2777 (build_outer_field_access_expr): Rename to
2778 build_nested_field_access_expr and support static fields.
2779 (build_outer_field_access_methods): Rename to
2780 build_nested_field_access_methods and support static fields. For
2781 static fields, generate accessors without class instance parameters.
2782 (build_outer_field_access_method): Rename to
2783 build_nested_field_access_method and support static fields.
2784 (build_outer_method_access_method): Use
2785 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2786 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2787 (resolve_expression_name): Consider static field accesses across
2789 (resolve_qualified_expression_name): Likewise.
2790 (java_complete_lhs): Use nested_field_access_fix instead of
2791 outer_field_access_fix.
2792 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2793 Use nested_field_expanded_access_p instead of
2794 outer_field_expanded_access_p. Use nested_field_access_fix instead
2795 of outer_field_access_fix.
2796 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2797 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2799 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2801 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2802 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2803 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2804 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2805 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2806 (parse_version): Calculate version ID using new method. Use bit-flags
2807 for flag_indirect_dispatch and flag_bootstrap_classes.
2809 2005-05-25 Richard Henderson <rth@redhat.com>
2812 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2813 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2814 DECL_CONTEXT; avoid pushdecl_top_level.
2815 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2816 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2817 (layout_class_method): Likewise.
2818 * decl.c (java_mark_cni_decl_local): New.
2819 (java_mark_class_local): Use it.
2820 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2821 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2822 (struct lang_decl_func): Add local_cni;
2823 (struct lang_decl_var): Add class_field, vtable.
2824 (java_mangle_decl): Declare.
2825 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2826 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2827 (mangle_obstack_1): New.
2828 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2829 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2830 lhd_set_decl_assembler_name for things that don't need mangling.
2831 (mangle_class_field): Rename from java_mangle_class_field, make
2832 static, don't call init_mangling or finish_mangling.
2833 (mangle_vtable): Similarly.
2834 (mangle_local_cni_method_decl): New.
2835 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2836 gcc_assert, and MANGLE_RAW_STRING.
2837 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2839 2005-05-25 DJ Delorie <dj@redhat.com>
2841 * class.c (set_constant_value): Move warning control from if() to
2844 2005-05-24 Richard Henderson <rth@redhat.com>
2846 * builtins.c (define_builtin): Don't call make_decl_rtl.
2847 * constants.c (build_constant_data_ref): Likewise.
2848 * class.c (build_utf8_ref): Likewise.
2849 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2850 (get_dispatch_table, layout_class_method): Likewise.
2851 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2853 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2854 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2855 to determine if we need a non-zero address.
2856 * decl.c (builtin_function): Don't call make_decl_rtl.
2857 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2858 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2859 * resource.c (compile_resource_data): Likewise.
2860 * parse.y (resolve_field_access): Re-word comment to avoid
2863 2005-05-24 Richard Henderson <rth@redhat.com>
2865 * class.c (registered_class): Take it out of class_roots; turn into
2867 (register_class): Make static. Don't duplicate decl node. Use
2869 (emit_register_classes): Use VEC_iterate. Use output_constant
2870 instead of assemble_integer. Don't call mark_decl_referenced
2872 * java-tree.h (register_class): Remove decl.
2874 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2878 * parse.y (register_package, package_list): Remove.
2879 (package_declaration): Do not call register_package.
2880 (do_resolve_class): Do not use package_list.
2882 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2884 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2887 2005-05-15 Tom Tromey <tromey@redhat.com>
2890 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2893 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2895 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2897 2005-05-11 Tom Tromey <tromey@redhat.com>
2899 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2900 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2901 (parse_version): Use it.
2902 * lang.opt (-fbootstrap-classes): New option.
2904 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2907 * class.c (maybe_layout_super_class): Look for imports in this_class.
2908 * parse.h (ctxp_for_generation_last): New.
2909 (do_resolve_class): Add a parameter.
2910 * parse.y (ctxp_for_generation_last): New.
2911 (java_pop_parser_context): Add at end of list.
2912 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2913 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2914 the given type are NULL.
2915 (do_resolve_class): Look into the imports of the new second parameter.
2916 Adjust recursive calls.
2917 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2918 calls to do_resolve_class.
2919 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2920 (java_complete_class): Do not do that here.
2922 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2925 * Make-lang.in (java): Add gjnih.
2926 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2927 (GJNIH_OBJS): New variable.
2928 (gjnih$(exeext)): New target.
2929 (JAVA_MANFILES): Add gjnih.1.
2930 (java.uninstall): Add gjnih.1.
2931 (java.mostlyclean): Add gjnih.
2932 (java.maintainer-clean): Add gjnih.1.
2933 (java/gjavah-jni.o): New target.
2934 (.INTERMEDIATE): Add gjnih.pod.
2935 (gjnih.pod): New target.
2936 * config-lang.in (stagestuff): Add gjnih.
2937 * gcj.texi (Top): Add gjnih node.
2938 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2939 -bootclasspath options.
2940 (Invoking gjnih): New node.
2941 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2942 (TOOLNAME): New macro.
2943 (error): Replace hard-coded gcjh with TOOLNAME.
2944 (process_file): Likewise.
2946 (version): Likewise.
2947 (help): Likewise. Add help output for -force, -old, -trace and -J
2949 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2950 (options): Add force, old, trace and J fields.
2951 (main): Handle -force, -old, -trace and -J options.
2953 2005-05-03 Tom Tromey <tromey@redhat.com>
2956 * gjavah.c (main): Unlink output file on error.
2958 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2960 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2963 2005-04-29 Tom Tromey <tromey@redhat.com>
2965 * expr.c (build_jni_stub): Updated for change to build_block.
2967 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2969 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2971 2005-04-28 Andrew Haley <aph@redhat.com>
2974 * java-tree.h (soft_resolvepoolentry_node): New.
2975 (alloc_constant_fieldref): Declare.
2976 * expr.c (expand_java_field_op): Don't call class_init for
2977 accesses to static fields with indirect dispatch.
2978 * builtins.c (initialize_builtins): Add "__builtin_expect".
2979 * decl.c (soft_resolvepoolentry_node): New variable.
2980 (java_init_decl_processing): Create a decl for
2981 "_Jv_ResolvePoolEntry".
2982 * class.c (build_fieldref_cache_entry): New function.
2983 (build_static_field_ref): Rewrite for indirect dispatch.
2984 * constants.c (find_name_and_type_constant_tree): New function.
2985 (alloc_constant_fieldref): Likewise.
2986 (build_constants_constructor): Handle CONSTANT_Fieldref and
2987 CONSTANT_NameAndType.
2990 * expr.c (force_evaluation_order): Convert outgoing args smaller
2993 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2995 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2996 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2997 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2999 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3001 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
3002 to `unlock_stream' with `unlock_std_streams'.
3004 2005-04-25 Jakub Jelinek <jakub@redhat.com>
3006 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
3007 instead of just expr.h.
3009 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3011 * gjavah.c (main): Unlock the stdio streams.
3012 * jcf-dump.c (main): Likewise.
3013 * jv-scan.c (main): Likewise.
3014 * jvgenmain.c (main): Likewise.
3016 2005-04-23 DJ Delorie <dj@redhat.com>
3018 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
3019 parse.y: Adjust warning() callers.
3021 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
3023 * gcj.texi (Object fields): Change "Integer" to "Int" in example
3026 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
3028 * gcj.texi: Fix typos and bogus example.
3030 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
3032 * except.c: Fix a comment typo.
3034 2005-04-19 Julian Brown <julian@codesourcery.com>
3036 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
3037 indirect dispatch with PIC.
3039 2005-04-18 Andrew Haley <aph@redhat.com>
3041 * java-except.h (struct eh_range.handler): Remove unused field.
3042 (handle_nested_ranges): Remove function declaration.
3043 (sanity_check_exception_range): Add function declaration.
3044 * verify.c (verify_jvm_instructions): Remove call to
3045 handle_nested_ranges.
3046 * verify-glue.c (verify_jvm_instructions_new): Call
3047 sanity_check_exception_range.
3048 * except.c (link_handler, eh_range_freelist, link_handler,
3049 handle_nested_ranges): Remove.
3050 (add_handler): Rewrite.
3051 (sanity_check_exception_range): New function.
3052 (print_ranges): New function.
3054 2005-04-13 Julian Brown <julian@codesourcery.com>
3056 * decl.c (finish_method): Give methods once-only linkage.
3058 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
3060 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
3062 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3064 * java-tree.h: Don't use PARAMS().
3066 2005-04-07 Per Bothner <per@bothner.com>
3068 * class.c (push_class): By default, suppress debug output.
3069 (finish_class): Enable debug output for classes we're emitting.
3071 2005-04-07 Andrew Haley <aph@redhat.com>
3073 * gcj.texi: Correct gcj-dbtool instructions.
3075 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
3077 * gcj.texi: Fix a typo.
3078 * lang.c: Fix a comment typo.
3080 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
3082 * gcj.texi (Invoking gij): Add descriptions of new -X options.
3083 Mention recognized-and-ignored compatibility options.
3084 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
3086 (About CNI): Add Memory allocation section.
3088 2005-04-01 Tom Tromey <tromey@redhat.com>
3090 * decl.c (java_init_decl_processing): Fix types of
3091 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
3092 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
3093 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
3095 2005-03-31 Jan Hubicka <jh@suse.cz>
3097 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
3098 * class.c: Include cgraph.h
3099 (make_local_functoin_alias): Mark aslias as needed.
3100 * resource.c: Include cgraph.h
3101 (compile_resource_data): Go via cgraph interface.
3103 2005-03-30 Ian Lance Taylor <ian@airs.com>
3105 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
3107 2005-03-30 Tom Tromey <tromey@redhat.com>
3109 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
3110 inner_class_info_index==0 or outer_class_info_index==0.
3112 2005-03-29 Tom Tromey <tromey@redhat.com>
3114 * gcj.texi (libgcj Runtime Properties): Document
3115 gnu.gcj.runtime.endorsed.dirs.
3117 2005-03-24 Anthony Green <green@redhat.com>
3119 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
3122 2005-03-23 Tom Tromey <tromey@redhat.com>
3124 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
3125 (parse_version): Use it.
3127 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
3129 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
3131 2005-03-18 Andrew Haley <aph@redhat.com>
3134 * decl.c (update_aliases): Don't update variables that are about
3136 (maybe_poplevels): Add comment.
3138 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
3141 * jcf-parse.c (duplicate_class_warning): New function.
3142 (java_parse_file): Call duplicate_class_warning if
3143 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
3144 (parse_zip_file_entries): Likewise. Also set
3145 CLASS_FROM_CURRENTLY_COMPILED_P.
3147 2005-03-16 Andrew Haley <aph@redhat.com>
3149 * expr.c (expand_java_arrayload): Don't generate a
3150 NullPointerException based on the type of the node.
3151 (build_java_array_length_access): Likewise.
3153 2005-03-15 Zack Weinberg <zack@codesourcery.com>
3155 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
3157 2005-03-11 Tom Tromey <tromey@redhat.com>
3159 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
3160 (libgcj Runtime Properties): Document the default .db.
3162 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
3165 * parse.y (checks_throws_clauses): Check exceptions list even when
3166 the base class does not come from a source file being compiled.
3167 (java_complete_lhs): Remove unused variable 'wfl'.
3169 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
3172 * decl.c (finish_method): Emit _Jv_InitClass for private static
3173 methods inside inner classes as well.
3175 2005-03-08 Julian Brown <julian@codesourcery.com>
3176 * Revert patch from 2005-03-08 for causing bootstrap failure on
3179 2005-03-08 Julian Brown <julian@codesourcery.com>
3181 * decl.c (finish_method): Give methods once-only linkage.
3183 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
3185 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
3187 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
3189 * verify-glue.c (vfy_is_assignable_from): Perform static check using
3190 can_widen_reference_to if the C++ ABI is in use.
3191 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
3192 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
3193 type_isresolved, init_state, set_pc, state_get_pc,
3194 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
3195 (verify_fail): Report the current PC from the verifier context.
3196 (free_state): Remove #if 0 block to enable this function.
3197 (free_verifier_context): Call free_state on state_list iterator
3198 values before freeing them.
3199 * expr.c (pop_type_0): Pop correct type for error message when stack
3200 contains a multi-word type.
3202 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
3204 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
3205 for known NULL array length access.
3207 2005-03-07 Tom Tromey <tromey@redhat.com>
3209 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
3211 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
3213 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
3214 typeck.c: Update copyright.
3216 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
3219 * xref.c, xref.h: Remove file.
3220 * Make-lang.in (java/xref.o): Remove.
3221 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
3222 * lang.c (flag_emit_xref): Remove definition.
3223 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
3224 * typeck.c (convert): Remove use of do_not_fold.
3225 * parse.y (do_not_fold): Remove definition.
3226 (parser grammar): Remove xref code.
3227 (maybe_create_class_interface_decl, create_class): Likewise.
3228 (register_fields, method_header, finish_method_declaration): Likewise.
3229 (declare_local_variables, source_end_java_method): Likewise.
3230 (java_complete_expand_classes): Do not set do_not_fold.
3231 (java_complete_expand_method): Remove xref code.
3232 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
3233 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
3234 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
3235 (patch_synchronized_statement, patch_throw_statement): Likewise.
3236 (maybe_build_class_init_for_field): Likewise.
3238 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
3240 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
3241 instead of IS_NON_TYPE_CODE_CLASS.
3243 2005-03-04 Andrew Haley <aph@redhat.com>
3246 * class.c (set_method_index): Don't set method_index if it is
3248 (layout_class_method): Don't complain about "non-static method foo
3249 overrides static method" in the case of indirect dispatch.
3251 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3253 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
3255 * Make-lang.in: Don't elide warnings in jcf-io.c.
3257 2005-03-01 Per Bothner <per@bothner.com>
3260 * check-init.c (wfl): Remove static.
3261 (final_assign_error, check_init): Replace calls to parse_error_context
3263 (check_init): Save, set, and restore input_location for each exp.
3265 2005-03-01 Per Bothner <per@bothner.com>
3267 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
3268 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
3269 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
3271 2005-03-01 Per Bothner <per@bothner.com>
3273 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
3275 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
3278 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
3281 2005-02-22 Tom Tromey <tromey@redhat.com>
3284 * verify-impl.c (EITHER): New define.
3285 (types_compatible): Handle it.
3286 (check_field_constant): Use it.
3288 2005-02-18 Tom Tromey <tromey@redhat.com>
3291 * verify-impl.c (types_equal): Fixed test.
3294 * verify-glue.c (vfy_class_has_field): New function.
3295 * verify.h (vfy_class_has_field): Declare.
3296 * verify-impl.c (check_field_constant): Added 'putfield'
3298 (verify_instructions_0): Updated.
3299 (types_equal): New function.
3301 2005-02-14 Tom Tromey <tromey@redhat.com>
3304 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
3305 stack effect of multianewarray.
3307 2005-02-14 Andrew Haley <aph@redhat.com>
3310 * expr.c (expand_byte_code): Call promote_arguments().
3311 (promote_arguments): New function.
3312 * decl.c (check_local_unnamed_variable): Remove special case for
3314 (find_local_variable): Promote all boolean types to int
3315 when searching for local variable decls.
3317 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
3319 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
3320 parse-scan.y: Update copyright.
3322 2005-02-11 Per Bothner <per@bothner.com>
3325 * parse-scan.y (input_location): Remove variable.
3326 (main_input_filename): New - replaces input_filename, which isn't
3327 settable if USE_MAPPED_LOCATION.
3328 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
3329 so we don't reference input_location or wfl_operator in that case.
3330 * jv-scan.c (expand_location): Remove - no longer used.
3331 (main): Set main_input_filename rather than input_filename.
3333 2005-02-09 Richard Henderson <rth@redhat.com>
3335 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
3336 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
3338 2005-02-08 Marcin Dalecki <martin@dalecki.de>
3340 * expr.c (add_type_assertion): Use the proper enumeration type,
3341 since this is what htab_find_slot() is expecting.
3343 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
3345 * gcj.texi: Update copyright dates.
3347 2005-02-02 Tom Tromey <tromey@redhat.com>
3349 * gcj.texi (libgcj Runtime Properties): Default library_control
3352 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
3355 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
3356 (modifiers) when square brackets are present in a declaration for
3358 * jv-scan.c (main): Set input_filename and input_line.
3360 2005-02-01 Tom Tromey <tromey@redhat.com>
3363 * gjavah.c (get_field_name): Don't override name for JNI header.
3365 2005-02-01 Roger Sayle <roger@eyesopen.com>
3367 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
3368 of unsigned types using iushr and lushr JVM bytecodes.
3370 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3373 * gjavah.c (jni_print_float): Do not emit floating-point
3374 initialiser for a static final field.
3375 (jni_print_double): Likewise.
3377 2005-02-01 Mark Mitchell <mark@codesourcery.com>
3380 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3381 * gjavah.c (print_field_info): Mark static data members of
3382 floating-point type with "__extension__".
3384 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3386 * gjavah.c (print_field_info): Mark static data members of
3387 floating-point type with "__extension__".
3389 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3392 * parse.y (build_string_concatenation): Remove redundant if.
3393 (patch_conditional_expr): Attempt to patch_string() the condition
3394 of a ?: as well, in addition to its other operands.
3396 2005-01-25 Tom Tromey <tromey@redhat.com>
3398 * Make-lang.in (java/java-tree-inline.o): Removed.
3400 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
3403 * parse.y (patch_binop): Allow comparisons against NULL only
3404 if the other operand is of a reference type.
3406 2005-01-24 Tom Tromey <tromey@redhat.com>
3408 * java-tree.h (gcj_abi_version): Declare.
3409 * class.c (make_class_data): Push gcj_abi_version into "next"
3410 field. Renamed field.
3411 * decl.c (gcj_abi_version): New global.
3412 (parse_version): New function.
3413 (java_init_decl_processing): Call it. Renamed 'next' field.
3415 (GCJ_BINARYCOMPAT_ADDITION): New define.
3417 2005-01-24 Roger Sayle <roger@eyesopen.com>
3420 * jcf-write.c (generate_bytecode_insns): Conversions between
3421 integer types of the same precision shouldn't generate widening
3422 or narrowing conversion bytecodes.
3424 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
3426 * java-except.h, java-tree.h: Remove unused prototypes.
3428 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
3431 * jcf-write.c (perform_relocations): Don't call memcpy if source
3432 and destination are the same.
3434 2005-01-17 Tom Tromey <tromey@redhat.com>
3436 * verify-impl.c (get_short): Sign extend.
3437 (get_int): Likewise.
3439 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
3441 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
3444 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3446 * verify.c: Revert to the version before the BC-ABI merge.
3448 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3451 * check-init.c (check_init): Take care of references that do not
3452 have an explicit final variable declaration (e.g. array length
3453 access) for pre/post in/de-crement operators.
3455 2005-01-08 Mark Wielaard <mark@klomp.org>
3457 * parse.y (process_imports): Allocate (and free) original_name only
3458 when not already defined.
3459 * jcf-parse.c (read_class): Free results of find_class() and
3461 (java_parse_file): Keep pointer to head of file_list and free when
3462 done. Free result of lrealpath().
3464 2005-01-05 Tom Tromey <tromey@redhat.com>
3466 * gcj.texi (Standard Properties): java.ext.dirs is now used.
3468 2004-12-20 Andrew Haley <aph@redhat.com>
3470 * typeck.c: Use fold_convert for ints and booleans.
3472 2004-12-17 Andrew Haley <aph@redhat.com>
3475 * typeck.c (convert): Use a CONVERT_EXPR when converting to
3476 BOOLEAN_TYPE or CHAR_TYPE.
3477 (convert_to_boolean, convert_to_char) : Remove.
3478 * convert.h (convert_to_boolean, convert_to_char) : Remove.
3479 * expr.c (expand_load_internal): Do type conversion if type is not
3482 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
3485 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
3488 2004-12-07 Andrew Haley <aph@redhat.com>
3491 * jcf-parse.c (load_class): Remove sanity test for missing inner
3494 2004-12-06 Tom Tromey <tromey@redhat.com>
3496 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
3497 (java.uninstall): Likewise.
3498 (java.maintainer-clean): Likewise.
3499 (.INTERMEDIATE): Likewise.
3500 (java.install-man): Likewise.
3501 (gcj-dbtool.pod): New target.
3502 * gcj.texi (Code Generation): Document -findirect-dispatch.
3503 (libgcj Runtime Properties): Document
3504 gnu.gcj.precompiled.db.path.
3505 (Top): Link to "Invoking gcj-dbtool".
3507 2004-12-06 Tom Tromey <tromey@redhat.com>
3510 * java-tree.h (extract_field_decl): Declare.
3511 * parse.y (extract_field_decl): Renamed from
3512 strip_out_static_field_access_decl. No longer static.
3513 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
3515 2004-12-03 Tom Tromey <tromey@redhat.com>
3517 * lang.c (flag_new_verifier): Define.
3518 (java_post_options): Set flag_new_verifier if indirect dispatch
3520 * lang.opt (fnew-verifier): Removed.
3522 2004-12-03 Tom Tromey <tromey@redhat.com>
3525 * Make-lang.in (java.install-common): Only install transformed
3526 gcjh if gcj-cross exists.
3528 2004-12-03 Andrew Haley <aph@redhat.com>
3531 * except.c (link_handler): Patch 'outer' field of siblings of the
3532 range we're demoting.
3534 2004-12-03 Andrew Haley <aph@redhat.com>
3537 * class.c (layout_class_method): Don't fail to override a method
3538 simply because it has DECL_ARTIFICIAL set.
3540 2004-12-02 Tom Tromey <tromey@redhat.com>
3543 * parse.y (craft_constructor): Special case null_pointer_node.
3545 2004-12-02 Tom Tromey <tromey@redhat.com>
3548 * java-gimplify.c (java_gimplify_expr): Don't call
3549 SET_EXPR_LOCATION unless wrapped tree is an expression.
3551 2004-11-27 Per Bothner <per@bothner.com>
3553 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
3554 Fix fencepost error in 'i', which got executed one too many times.
3555 Also, fold memcpy into explicit loop, as originally intended.
3556 Also, free temporary 'buf' which otherwise leaks.
3558 2004-11-27 Per Bothner <per@bothner.com>
3560 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
3561 local static variables if not USE_MAPPED_LOCATION.
3563 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
3565 * class.c, decl.c, expr.c: Fix comment typos.
3567 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
3570 * decl.c (end_java_method): Call
3571 attach_init_test_initialization_flags on all the init_decls.
3572 * parse.y (attach_init_test_initialization_flags): Move to ...
3573 * expr.c (attach_init_test_initialization_flags): here and
3574 support BIND_EXPR also.
3575 * java-tree.h (attach_init_test_initialization_flags): Prototype.
3576 * jcf-parse.c (parse_class_file): Don't disable class init
3579 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
3581 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
3584 2004-11-24 Richard Henderson <rth@redhat.com>
3586 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
3587 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
3589 2004-11-24 Tom Tromey <tromey@redhat.com>
3591 * verify.c (defer_merging): Don't use C++-style comment.
3592 * verify.h (java_opcode): Added java_opcode_end.
3593 * class.c (build_class_ref): Remove C++ comment and old FIXME.
3595 * verify-impl.c (vfy_push_type): Removed bogus "return".
3596 (initialize_stack): Use vfy_alloc and vfy_free.
3597 (verify_instructions_0): Likewise.
3599 * Merged gcj-abi-2-dev-branch to trunk.
3601 2004-11-24 Andrew Haley <aph@redhat.com>
3603 * jcf-parse.c (parse_class_file): Set file_start_location.
3605 2004-11-10 Tom Tromey <tromey@redhat.com>
3607 * class.c (make_field_value): Don't call build_static_field_ref.
3608 (build_static_field_ref): Don't emit direct references when using
3611 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3612 -verbose:class into man page synopsis.
3614 2004-11-09 Tom Tromey <tromey@redhat.com>
3616 * expr.c (build_java_arraystore_check): Still generate check if
3617 element type is itself an array.
3619 2004-11-08 Tom Tromey <tromey@redhat.com>
3621 * java-tree.h (soft_check_assignment_node): Removed.
3622 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3623 * decl.c (java_init_decl_processing): Don't initialize
3624 soft_check_assignment_node.
3626 2004-11-05 Tom Tromey <tromey@redhat.com>
3628 * class.c (layout_class_methods): Don't add Miranda methods when
3629 using indirect dispatch.
3631 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3633 * class.c (make_class_data): Call emit_assertion_table to set the
3634 'assertion_table' field.
3635 (build_signature_for_libgcj): Move here from expr.c.
3636 (add_assertion_table_entry): New function. Callback for assertion
3637 hashtable traversal.
3638 (emit_assertion_table): New. Take class argument, and generate
3639 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3640 * decl.c (init_decl_processing): Define assertion_entry_type record.
3641 Push 'assertion_table' class field instead of 'verify'.
3642 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3643 (type_assertion_hash): Include 'assertion_code' in hash.
3644 (add_type_assertion): Rewritten. Take class and assertion_code
3645 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3646 (can_widen_reference_to): Use new add_type_assertion() arguments.
3647 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3648 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3649 (verify_identifier_node): Removed.
3650 (assertion_entry_type, assertion_table_type): New.
3651 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3652 assertion code definitions.
3653 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3654 'target_type' to 'op1' and 'op2'.
3655 (add_type_assertion): Declare.
3656 (lang_printable_name_wls): Remove unused definition.
3657 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3658 to emit runtime assertion.
3659 (vfy_note_stack_type): Clean up non-C90 declarations.
3660 (vfy_note_local_type): Likewise.
3661 * verify.h (vfy_is_assignable_from): Declare.
3662 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3663 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3664 instead of is_assignable_from_slow().
3665 (types_compatible): Reinstate ref_compatible() call.
3667 2004-11-04 Tom Tromey <tromey@redhat.com>
3669 * class.c (build_static_field_ref): Reverted previous patch.
3671 * class.c (build_static_field_ref): Don't emit direct references
3672 when using indirect dispatch.
3674 2004-11-03 Tom Tromey <tromey@redhat.com>
3676 * expr.c (expand_java_arrayload): Set lhs_type_node.
3677 (expand_java_arraystore): Set rhs_type_node.
3679 2004-11-02 Tom Tromey <tromey@redhat.com>
3681 * jcf-parse.c (compute_class_name): Use filename length from zip
3682 directory, not strlen.
3684 * expr.c (expand_invoke): Mark new interface methods as abstract.
3686 2004-11-01 Tom Tromey <tromey@redhat.com>
3688 * verify-impl.c (push_jump): Removed check for uninitialized
3690 (push_exception_jump): Likewise.
3691 (handle_ret_insn): Likewise.
3692 (handle_jsr_insn): Likewise.
3693 (state_check_no_uninitialized_objects): Removed.
3695 * decl.c (check_local_unnamed_variable): Recognize
3696 promoted-to-int parameters when using the new verifier.
3697 * expr.c (expand_java_arraystore): Explicitly request array type
3698 when using new verifier.
3699 (expand_java_arrayload): Likewise.
3700 (invoke_build_dtable): Don't pass object_type_node as
3701 expression argument to build_java_indirect_ref.
3702 (build_java_check_indexed_type): Do nothing.
3703 (build_java_arraystore_check): Handle case where array doesn't
3705 (build_java_array_length_access): Likewise.
3706 (expand_invoke): Handle case where interface overrides a method
3708 (pop_type_0): Always succeed for reference types.
3709 (process_jvm_instruction): Don't pop a value in a dead
3711 (pop_arguments): Convert arguments to correct types.
3713 2004-10-29 Andrew Haley <aph@redhat.com>
3715 * jcf-parse.c (give_name_to_class): Remove line that was
3718 2004-10-29 Andrew Haley <aph@redhat.com>
3720 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3722 2004-10-20 Andrew Haley <aph@redhat.com>
3724 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3726 2004-10-26 Tom Tromey <tromey@redhat.com>
3728 * verify.h (vfy_notify_verified): Removed.
3729 * verify-glue.c (vfy_notify_verified): Removed.
3731 2004-10-26 Tom Tromey <tromey@redhat.com>
3733 * verify-impl.c (debug_print_state): Declare `i' before code.
3734 (merge_types): Modify `t' when it is null_type.
3736 2004-10-26 Tom Tromey <tromey@redhat.com>
3738 * verify-impl.c (type_print): Renamed from print. Now static and
3740 (debug_print_state): Use type_print.
3742 2004-10-25 Tom Tromey <tromey@redhat.com>
3744 * expr.c (build_invokeinterface): Compute correct offset for
3745 index into interface methods.
3747 2004-10-20 Tom Tromey <tromey@redhat.com>
3749 * java-tree.h (verify_jvm_instructions_new): Declare.
3751 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
3754 * verify-impl.c (verify_instructions): Correctly handle wide
3756 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
3757 (vfy_get_component_type): Strip pointer types.
3758 (vfy_find_class): Use get_type_from_signature. Strip pointer
3760 Include java-except.h.
3762 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3764 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
3765 vfy_push_type_t, set_variable, add_new_state, merge_into,
3766 handle_jsr_insn, branch_prepass, check_class_constant,
3767 check_wide_constant, get_one_type, compute_static_types,
3768 verify_instructions_0): Clean up C99 declarations after statements.
3770 2004-10-20 Tom Tromey <tromey@redhat.com>
3772 * verify-impl.c (merge_refs): Compare reference against iterator,
3775 * verify-glue.c (vfy_tag): Mask off resolved flag.
3777 2004-10-19 Tom Tromey <tromey@redhat.com>
3779 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3780 (init_state_with_stack): Initialize `this_type' in state.
3781 (verify_method): Use debug_print.
3782 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3783 (vfy_note_stack_depth): Reverted last patch.
3784 (vfy_note_stack_type): Note pointer to Object, not Object.
3785 (vfy_note_local_type): Likewise.
3787 * verify.h (vfy_note_instruction_seen): Declare.
3788 * verify-glue.c (verify_jvm_instructions_new): Set
3789 BCODE_EXCEPTION_TARGET on target instruction.
3790 (vfy_note_instruction_seen): New function.
3791 * verify-impl.c (FLAG_INSN_SEEN): New define.
3792 (verify_instructions_0): Set flag on instruction. Save state for
3794 (verify_instructions): Call vfy_note_instruction_seen.
3796 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3797 (verify_jvm_instructions_new): Call method_init_exceptions,
3798 add_handler, and handle_nested_ranges.
3799 * verify-impl.c (verify_method): Return 1 on success.
3800 (verify_instructions_0): Save the state at PC=0.
3802 * verify-impl.c (init_type_from_class): Set is_resolved and
3803 ref_next on new ref_intersection.
3804 (init_type_from_string): Likewise.
3806 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
3808 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
3809 if flag_new_verifier is set.
3810 * java-tree.h (flag_new_verifier): Declare.
3811 * lang.opt (fnew-verifier): New option.
3812 * verify-impl.c: Work around namespace pollution by undef'ing
3814 (struct verifier_context): Make 'bytecode' const.
3815 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
3816 (types_compatible): For the BC-ABI, always consider reference types
3818 (check_class_constant): Use vfr->current_class.
3819 (check_constant): Likewise.
3820 (check_wide_constant): Likewise.
3821 (check_field_constant): Check for 'L' at start of type name.
3822 (get_one_type): Return pointer instead of type. Set type result in
3823 caller via passed type pointer.
3824 (compute_argument_types): Update to use new get_one_type arguments.
3825 (compute_return_type): Likewise.
3826 (make_verifier_context): New. Allocate and initialize 'vfr'.
3827 (free_verifier_context): New. Free 'vfr' and its contents.
3828 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
3829 and free_verifier_context.
3831 2004-10-15 Tom Tromey <tromey@redhat.com>
3833 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
3834 * verify.h (vfy_fail): Fixed formatting.
3836 * verify-impl.c (vfr): Fixed comment formatting.
3837 (collapse_type): New function.
3838 (verify_instructions): Notify compiler about type map.
3839 * verify.h (vfy_note_stack_depth): Updated.
3840 (vfy_note_stack_type): Likewise.
3841 (vfy_note_local_type): Likewise.
3842 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
3844 * verify-glue.c (vfy_note_stack_depth): Correctly size type
3845 state. Added `method' argument.
3846 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
3848 (vfy_note_local_type): New function.
3849 (vfy_unsuitable_type): Likewise.
3850 (vfy_return_address_type): Likewise.
3851 (vfy_null_type): Likewise.
3853 * verify.h (VFY_IN_GCC): Removed.
3854 (VFY_WANT_TYPEMAP): Removed.
3855 * verify-impl.c (verify_instructions_0): Removed useless "\".
3856 (struct state) <next>: Uncomment.
3858 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
3860 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
3863 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3865 * Make-lang.in (verify.o): Re-enabled this target.
3866 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
3867 (vfy_get_interface): Likewise.
3868 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
3869 * verify.h (verify_jvm_instructions_new): Declare.
3870 * verify-impl.c (free_state): Temporarily comment out unused
3873 2004-10-06 Tom Tromey <tromey@redhat.com>
3875 * java-tree.h (JV_STATE_READ): New enum value.
3877 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3879 * verify.h: New file.
3881 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
3883 * verify-impl.c, verify-glue.c, verify.h: New files.
3884 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
3886 2004-09-24 Andrew Haley <aph@redhat.com>
3888 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
3889 for a slot if it's of pointer type.
3891 2004-09-14 Tom Tromey <tromey@redhat.com>
3893 * class.c (make_class_data): Correctly initialize "state" field.
3894 Initialize "engine" field.
3895 * decl.c (java_init_decl_processing): Add "engine" field.
3897 2004-09-10 Andrew Haley <aph@redhat.com>
3900 * expr.c (build_invokeinterface): Use fast method for interface
3902 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
3903 JTI_ITABLE_PTR_TYPE.
3904 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
3905 (emit_symbol_table): Add new arg, element_size.
3906 * decl.c (java_init_decl_processing): Initialize Class.itable.
3907 * class.c (GEN_TABLE): New macro.
3908 (gen_indirect_dispatch_tables): Use it. Add itable.
3909 (make_class_data): Add new arg for emit_symbol_table().
3911 (add_miranda_methods): Make sure search_class has been parsed.
3912 (emit_symbol_table): Add new arg, element_size.
3914 2004-09-06 Andrew Haley <aph@redhat.com>
3916 * verify.c (merge_types): Return Object for all merges of
3918 * expr.c (add_type_assertion): Don't generate assertions when
3919 source type is array of Object.
3921 2004-09-03 Andrew Haley <aph@redhat.com>
3923 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3925 * lang.c (java_post_options): Force flag_verify_invocations if
3926 we're not using indirect dispatch.
3928 * expr.c (pop_type_0): Move test for interfaces before call to
3929 can_widen_reference_to().
3930 (build_signature_for_libgcj): Remove generation of canonical array
3932 (add_type_assertion): Canonicalize both arrays.
3933 Don't assert that type X can be assigned to Object.
3934 Don't assert that type X an be assigned to type X.
3935 Don't assert that Object can be assigned to type X.
3936 (can_widen_reference_to): Warn whenever we generate an assertion.
3937 (process_jvm_instruction): Use throwable_type_node for the type of
3940 2004-09-01 Andrew Haley <aph@redhat.com>
3942 * decl.c (java_init_decl_processing): Change
3943 verify_identifier_node to "__verify".
3944 * expr.c (add_type_assertion): Use verify_identifier_node for name.
3945 * java-tree.h (verify_identifier_node): Change to "__verify".
3947 * expr.c (build_signature_for_libgcj): New function.
3948 (add_type_assertion): Use it to construct signatures for
3949 source_type and target_type.
3951 2004-08-27 Andrew Haley <aph@redhat.com>
3953 * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
3954 (verify_identifier_node): New.
3955 (TYPE_VERIFY_METHOD): New.
3956 (struct type_assertion): New type.
3957 * expr.c (type_assertion_eq): New function.
3958 (type_assertion_hash): New function.
3959 (add_type_assertion): New function.
3960 (can_widen_reference_to): Call add_type_assertion().
3961 * decl.c (java_init_decl_processing): Add verify_identifier_node.
3962 * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
3963 (finish_class): Output TYPE_VERIFY_METHOD (type).
3965 * decl.c (end_java_method): Nullify unused fields.
3967 2004-08-17 Andrew Haley <aph@redhat.com>
3969 * verify.c (defer_merging): Quieten.
3970 * jcf-parse.c (load_class): Only try to open a class file if it's
3971 java.lang.Object or if it's part of the current compilation.
3972 Check that the class we just tried to load is the class we just
3974 (java_parse_file): Set flag_verify_invocations off if we're
3975 compiling from .class.
3976 (parse_zip_file_entries): Abort if we try to read a dummy class.
3977 * expr.c (can_widen_reference_to): Quieten.
3978 (build_invokevirtual): Abort if we try to invokevirtual an
3980 (expand_invoke): Don't build a non-interface call to an interface.
3981 (build_instanceof): Don't do premature optimization if
3982 flag_verify_invocations is not set.
3983 * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
3985 (build_static_field_ref): Add correct type conversion for
3987 (add_miranda_methods): Disable generation of Miranda methods for
3989 (layout_class_method): Don't complain about non-static method
3990 overrides static method with dummy classes.
3992 2004-08-13 Tom Tromey <tromey@redhat.com>
3994 * class.c (build_static_field_ref): Re-enable atable lookups for
3997 * parse.y (strip_out_static_field_access_decl): Indentation fix.
3999 2004-08-11 Tom Tromey <tromey@redhat.com>
4001 * gcj.texi (libgcj Runtime Properties): Document new properties.
4003 2004-08-06 Andrew Haley <aph@redhat.com>
4005 * jcf-parse.c (load_class): Check that we really have loaded the
4006 class we're looking for.
4008 2004-07-19 Andrew Haley <aph@redhat.com>
4010 * verify.c (verify_jvm_instructions): Comment change only.
4012 * typeck.c (build_java_array_type): Add size field to array name.
4014 * java-tree.h (LOCAL_SLOT_P): New.
4015 (update_aliases): Add PC argument.
4016 (pushdecl_function_level): New function.
4018 * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
4019 MODIFY_EXPR, and SAVE_EXPR.
4020 (java_gimplify_modify_expr): New function.
4022 * expr.c (push_type_0): Call find_stack_slot() to create temporary.
4023 (expand_iinc): Pass PC to update_aliases().
4024 (STORE_INTERNAL): Likewise.
4025 (process_jvm_instruction): Likewise.
4027 * decl.c (base_decl_map): New variable.
4028 (uniq): New variable.
4029 (update_aliases): Rewrite with more thorough checking.
4030 (debug_variable_p): New function.
4031 (push_jvm_slot): Don't initialize local variable. Don't pushdecl.
4032 (check_local_named_variable): Delete whole function.
4033 (initialize_local_variable): New function.
4034 (check_local_unnamed_variable): Add checks and comments.
4035 (find_local_variable): Rewrite.
4036 (java_replace_reference): New function.
4037 (function_binding_level): New variable.
4038 (pushdecl_function_level): New function.
4039 (maybe_pushlevels): Set DECL_LOCAL_END_PC.
4040 (maybe_pushlevels): Call pushdecl() on each of the new decls.
4041 (start_java_method): Reset uniq. Create base_decl_map. Set
4042 function_binding_level.
4043 (end_java_method): Null unused fields to save memory.
4045 2004-06-29 Andrew Haley <aph@redhat.com>
4047 * except.c (expand_start_java_handler): Push a new binding level.
4048 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
4049 register_exception_range() to register where we'll do it.
4050 (expand_end_java_handler): Remove old bogus code. Replace with
4051 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
4052 the top of the expression we're curently building.
4053 (maybe_end_try): Delete.
4054 * decl.c (binding_level.exception_range): New field.
4055 (clear_binding_level): Add field exception_range. Reformat.
4056 (poplevel): Call expand_end_java_handler().
4057 (poplevel): Call java_add_stmt only if functionbody is false.
4058 (maybe_poplevels): Don't call maybe_end_try() from here.
4059 (end_java_method): Clear no longer used trees in function decl.
4060 (register_exception_range): New function.
4061 * java-tree.h (register_exception_range, struct eh_range): Declare.
4063 2004-06-22 Andrew Haley <aph@redhat.com>
4065 * class.c (gen_indirect_dispatch_tables): Set the DECL_OWNER of