1 2008-10-24 Jakub Jelinek <jakub@redhat.com>
3 * Make-lang.in (check-java-subtargets): New target.
5 2008-10-16 David Edelsohn <edelsohn@gnu.org>
8 * Make-lang.in (class.o): Depend on $(TM_P_H).
10 * class.c: Include tm_p.h.
11 * expr.c: Include tm_p.h.
13 2008-10-14 Andrew Haley <aph@redhat.com>
15 * constants.c (build_constant_data_ref): Make sure we only build
16 one copy of the decl for the constant pool.
18 2008-09-22 Andrew Haley <aph@redhat.com>
20 * expr.c (rules): Add new rule for
21 gnu.java.lang.VMCPStringBuilder.toString.
22 (rewrite_rule.new_classname): New field.
23 (maybe_rewrite_invocation): Use new_classname field instead of
24 DECL_CONTEXT (*method_p).
25 Allow rewrite_arglist to be NULL.
27 2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
29 * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
30 (java_get_callee_fndecl): Kill.
32 2008-09-17 Jan Hubicka <jh@suse.cz>
35 * class.c (add_method_1): Do not initialize DECL_INLINE.
36 (make_local_function_alias): Likewise.
37 * expr.c (rewrite_arglist_getcaller): Set DECL_UNINLINABLE.
38 * lang.c (java_decl_ok_for_sibcall): Use DECL_UNINLINABLE.
40 2008-09-09 Richard Guenther <rguenther@suse.de>
42 * decl.c (build_result_decl): Remove no longer applicable
45 2008-09-05 David Daney <ddaney@avtrex.com>
47 * gcj.texi (-freduced-reflection): Clarify option's restrictions.
49 2008-08-21 David Daney <ddaney@avtrex.com>
51 * class.c (make_class_data): Don't add field_index when
52 flag_reduced_reflection set.
54 2008-08-12 Ulrich Weigand <uweigand@de.ibm.com>
56 * typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.
58 2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
61 * lang.c (java_handle_option): Replace set_Wunused with
64 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
66 * gcj.texi: Update copyright years. Do not list GPL as
69 2008-07-29 Jakub Jelinek <jakub@redhat.com>
71 * class.c (build_utf8_ref): Set DECL_SIZE and DECL_SIZE_UNIT
74 * class.c (build_utf8_ref): Pad initializer string to utf8const_type's
77 2008-07-29 Jan Hubicka <jh@suse.cz>
79 * lang.c (java_post_options): Remove handling of flag_no_inline.
81 2008-07-28 Richard Guenther <rguenther@suse.de>
83 Merge from gimple-tuples-branch.
85 2008-07-18 Richard Guenther <rguenther@suse.de>
87 * expr.c: Include tree-iterator.h.
88 * Make-lang.in (expr.o): Add tree-iterator.h dependency.
90 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
92 * java-gimplify.c: Include gimple.h instead of tree-gimple.h.
95 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
97 * java-gimplify.c (java_gimplify_expr): Same.
98 (java_gimplify_modify_expr): Same.
99 * java-tree.h: Rename GENERIC_NEXT to TREE_CHAIN.
101 2008-05-02 Diego Novillo <dnovillo@google.com>
103 * expr.c (build_java_throw_out_of_bounds_exception): Fix
104 mixed declarations and code.
106 2008-05-02 Doug Kwan <dougkwan@google.com>
108 * expr.c (build_java_throw_out_of_bounds_exception ): Wrap call to
109 _Jv_ThrowBadArrayIndex with a COMPOUND_EXPR to return 0.
111 2008-02-19 Diego Novillo <dnovillo@google.com>
113 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00804.html
115 * java-gimplify.c (java_gimplify_self_mod_expr): Change
116 gimple_seq arguments to gimple_seq *. Update all users.
118 2007-11-26 Aldy Hernandez <aldyh@redhat.com>
120 * java-gimplify.c (java_gimplify_expr): Make pre_p and post_p
122 (java_gimplify_self_mod_expr): Same.
123 * java-tree.h (java_gimplify_expr): Make pre_p and post_p
126 2008-07-24 Jan Hubicka <jh@suse.cz>
128 * java/decl.c: Include cgraph.h
129 (end_java_method): Remove non-unit-at-a-time code.
130 (java_mark_decl_local): Likewise; sanity check that we don't touch
133 2008-07-15 Jan Hubicka <jh@suse.cz>
135 * lang.c (java_init_options): Enable unit-at-a-time by default.
137 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
139 * Make-lang.in (jvspec.o): Fix dependencies.
141 2008-07-06 Tom Tromey <tromey@redhat.com>
143 * Make-lang.in (java/parse.o-warn): Remove.
144 (java/jcf-io.o-warn): Remove.
146 2008-07-05 Tom Tromey <tromey@redhat.com>
148 * jcf-io.c: Don't include fnmatch.h. Don't use JCF_USE_SCANDIR.
149 (compare_path): Remove.
150 (java_or_class_file): Likewise.
151 (memoized_dirlist_entry): Likewise.
152 (memoized_dirlist_hash): Likewise.
153 (memoized_dirlist_lookup_eq): Likewise.
154 (memoized_dirlists): Likewise.
155 (caching_stat): Likewise.
156 (find_class): Use stat.
157 * jcf.h (JCF_USE_SCANDIR): Remove.
159 2008-06-30 Joshua Sumali <jsumali@redhat.com>
161 * Make-lang.in (JAVA_MANFILES): Add doc/aot-compile.1 and
163 (java.uninstall): Likewise.
164 (java.maintainer-clean): Likewise.
165 (aot-compile.pod): New rule.
166 (rebuild-gcj-db.pod): New rule.
167 (java.install-man): Install doc/aot-compile.1 and doc/rebuild-gcj-db.1
168 * gcj.texi: Add new sections for aot-compile and rebuild-gcj-db.
170 2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
172 * Make-lang.in (java/jcf-io.o-warn): New.
174 2008-06-24 Tom Tromey <tromey@redhat.com>
176 * jcf-path.c (jcf_path_init): Don't name variable 'try'.
177 * expr.c (add_type_assertion): Rename argument.
178 (build_java_arrayaccess): Don't name variable 'throw'.
179 (ARRAY_NEW_MULTI): Don't name variable 'class'.
180 * jcf-io.c (find_class): Don't name variable 'class'.
181 * mangle.c (compression_table_add): Don't name variable 'new'.
182 * constants.c (cpool_for_class): Rename argument.
183 (alloc_constant_fieldref): Likewise.
184 * jcf-parse.c (handle_innerclass_attribute): Don't name variable
186 (read_class): Likewise.
187 (parse_zip_file_entries): Likewise.
188 (process_zip_dir): Likewise.
189 * decl.c (java_mark_class_local): Rename argument.
190 * class.c (GEN_TABLE): Use type_name, not typename.
191 (gen_indirect_dispatch_tables): Likewise.
192 (add_field): Rename argument.
193 (is_compiled_class): Likewise.
194 (safe_layout_class): Likewise.
195 (emit_assertion_table): Likewise.
196 * typeck.c (has_method): Rename argument.
198 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
200 * class.c (ident_subst, mangled_classname, unmangle_classname,
201 gen_indirect_dispatch_tables, add_method_1,
202 build_fieldref_cache_entry, make_local_function_alias,
203 layout_class, java_treetreehash_find, java_treetreehash_new,
204 split_qualified_name): Fix for -Wc++-compat.
205 * constants.c (set_constant_entry, cpool_for_class): Likewise.
206 * decl.c (make_binding_level, java_dup_lang_specific_decl,
207 start_java_method): Likewise.
208 * except.c (prepare_eh_table_type): Likewise.
209 * expr.c (type_assertion_hash, note_instructions): Likewise.
210 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC,
211 MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
212 * jcf-io.c (jcf_filbuf_from_stdio, opendir_in_zip, find_class):
214 * jcf-parse.c (reverse, java_read_sourcefilenames,
215 annotation_grow, rewrite_reflection_indexes, java_parse_file,
216 process_zip_dir): Likewise.
217 * jcf-path.c (add_entry, add_path, jcf_path_init,
218 jcf_path_extdirs_arg): Likewise.
219 * jcf-reader.c (jcf_parse_constant_pool): Likewise.
220 * jvgenmain.c (do_mangle_classname): Likewise.
221 * lang.c (put_decl_string): Likewise.
222 * verify-impl.c (make_state_copy, make_state, add_new_state):
225 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
227 * gcj.texi: Expand TABs, remove whitespace from blank lines.
229 2008-06-14 Tom Tromey <tromey@redhat.com>
232 * class.c (build_class_ref): Initialize this_classdollar when
235 2008-05-23 Andrew Haley <aph@redhat.com>
237 * jcf-parse.c (give_name_to_class): Call find_sourcefile to find full
238 pathname of source file.
240 2008-05-12 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
242 * jcf-dump.c (print_constant): Use
243 HOST_LONG_LONG_FORMAT.
245 2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
247 * decl.c (java_init_decl_processing): Change DECL_IS_PURE to
250 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
252 * class.c (build_utf8_ref): Don't set TREE_INVARIANT.
253 (build_classdollar_field): Don't set TREE_INVARIANT.
254 (get_dispatch_table): Don't set TREE_INVARIANT.
255 (make_class_data): Don't set TREE_INVARIANT.
256 (build_symbol_entry): Don't set TREE_INVARIANT.
257 (emit_symbol_table): Don't set TREE_INVARIANT.
258 * constants.c (build_constant_data_ref): Don't set TREE_INVARIANT.
259 (build_ref_from_constant_pool): Don't set TREE_INVARIANT.
260 * resource.c (compile_resource_data): Don't set TREE_INVARIANT.
261 * expr.c (cache_cpool_data_ref): Don't set TREE_INVARIANT.
263 2008-04-03 Tom Tromey <tromey@redhat.com>
265 * Make-lang.in (java_OBJS): New variable.
267 2008-04-03 Paolo Bonzini <bonzini@gnu.org>
269 * java-tree.h (insert_block): Kill.
270 * decl.c (insert_block): Kill.
272 2008-04-01 Joseph Myers <joseph@codesourcery.com>
274 * gcj.texi: Include gpl_v3.texi instead of gpl.texi
275 * Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
278 2008-03-27 Tom Tromey <tromey@redhat.com>
280 * Make-lang.in: Revert automatic dependency patch.
282 2008-03-25 Tom Tromey <tromey@redhat.com>
284 * Make-lang.in: Removed most explicit .o targets.
285 (java/jvspec.o): Reduce to variable setting. Moved to java/.
286 ($(GCJ)$(exeext)): Update.
287 (JAVA_OBJS): New variable.
288 (JCFDUMP_OBJS): Reformat.
289 (java_OBJS): New variable.
290 (java/jvspec.o-warn): Update.
291 (java/parse.o-warn): Remove.
292 (JAVA_TREE_H): Remove.
293 (java/jcf-io.o): Reduce to variable setting.
294 (ALL_CPPFLAGS): Likewise.
296 2008-03-12 Paolo Bonzini <bonzini@gnu.org>
298 * mangle.c (java_mangle_decl): Remove dead check.
300 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
302 * jcf-parse.c (java_parse_file): Assert binding levels are
304 * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
307 2008-03-02 Jakub Jelinek <jakub@redhat.com>
309 * jcf-dump.c (version): Update copyright notice dates.
311 2008-02-29 Tom Tromey <tromey@redhat.com>
313 * expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
315 * java-tree.h (struct lang_decl_func): Remove obsolete comment.
317 2008-02-26 Tom Tromey <tromey@redhat.com>
319 * lang.c (java_post_options): Remove conditional.
320 * expr.c (expand_byte_code): Remove old location code.
321 * jcf-parse.c (set_source_filename): Remove old location code.
322 (give_name_to_class): Likewise.
323 (jcf_parse): Likewise.
324 (duplicate_class_warning): Likewise.
325 (parse_class_file): Likewise.
326 (java_parse_file): Likewise.
327 * decl.c (finish_method): Remove old location code.
328 * class.c (push_class): Remove old location code.
330 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
333 * Make-lang.in (jc1): Add $(GMPLIBS).
335 2008-01-23 David Daney <ddaney@avtrex.com>
337 * class.c (hide) Rename to...
338 (java_hide_decl) ... this throughout, and make public.
339 * resource.c (Jr_count): Remove.
340 (compile_resource_data): Call java_mangle_resource_name to generate
341 decl name. Make resource decl public and hidden.
342 * mangle.c (java_mangle_resource_name): New function.
343 * java-tree.h (java_hide_decl, java_mangle_resource_name): Declare
346 2008-01-04 Andrew Haley <aph@redhat.com>
349 * jcf-parse.c (parse_zip_file_entries): Move decl to compile on
352 2008-01-03 Andrew Haley <aph@redhat.com>
355 * jcf-parse.c (parse_zip_file_entries): Unset TYPE_ALIAS_SET if
356 we're about to re-layout the type.
358 2007-12-20 Alexandre Oliva <aoliva@redhat.com>
360 * lang.c (java_classify_record): Don't return
361 RECORD_IS_INTERFACE for now.
363 2007-12-18 Andrew Haley <aph@redhat.com>
366 * jcf-parse.c (java_parse_file): Remove call to
367 java_mark_class_local.
368 (parse_class_file): Reinstate call to java_mark_class_local here.
369 * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
370 already set, call java_mangle_decl() and make_decl_rtl() to
371 rewrite its name as a hidden alias.
373 2007-12-15 Alexandre Oliva <aoliva@redhat.com>
376 * lang.c (java_classify_record): New.
377 (LANG_HOOKS_CLASSIFY_RECORD): Override.
379 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
382 * decl.c (finish_method): Pass 'false' for the new
383 allocate_struct_function parameter.
385 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
387 * expr.c (build_jni_stub): Use the computed jni func type for
390 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
392 * class.c (JAVA_TREEHASHHASH_H): Use TYPE_UID.
394 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
396 * expr.c (type_assertion_hash): Hash type uids rather than
399 2007-11-17 David Daney <ddaney@avtrex.com>
400 Andrew Haley <aph@redhat.com>
402 * constants.c (build_constants_constructor): Use POINTER_SIZE
403 insead of BITS_PER_WORD in big-endian work around.
405 2007-11-07 Tom Tromey <tromey@redhat.com>
408 * gcj.texi (Input Options): Add missing noun.
410 2007-11-02 Tom Tromey <tromey@redhat.com>
413 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
414 * zipfile.h (ZIPEMPTYMAGIC): New define.
416 2007-11-01 Tom Tromey <tromey@redhat.com>
418 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
419 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
420 (java/jcf-io.o): Depend on zipfile.h.
422 2007-10-17 Richard Guenther <rguenther@suse.de>
424 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
427 2007-10-03 Andrew Haley <aph@redhat.com>
430 * class.c (mangled_classname): Detect and replace illegal
431 characters in assembly language symbols.
432 (gen_indirect_dispatch_tables): Call mangled_classname() on
435 2007-09-27 Jakub Jelinek <jakub@redhat.com>
437 * lang.c (java_print_error_function): Add third argument.
439 2007-09-15 Tom Tromey <tromey@redhat.com>
441 * java-tree.h (struct lang_decl_func) <function_decl_body>:
443 <init_final>: Likewise.
444 * lang.c (java_dump_tree): Update.
445 * java-tree.h (DECL_FUNCTION_BODY): Remove.
447 2007-09-11 Jan Hubicka <jh@suse.cz>
449 * decl.c (java_expand_body): Kill.
450 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
452 2007-09-06 Tom Tromey <tromey@redhat.com>
454 * jcf-parse.c (parse_class_file): Re-enter the current file.
456 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
458 * boehm.c (mark_reference_fields): Move misaligned pointer check
459 after JREFERENCE_TYPE_P test
461 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
463 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
464 if pointer is misaligned.
466 2007-09-06 Tom Tromey <tromey@redhat.com>
468 * lang.c (java_post_options): Update.
469 * jcf-parse.c (set_source_filename): Update.
470 (give_name_to_class): Update.
472 (duplicate_class_warning): Update.
473 (parse_class_file): Update.
474 (java_parse_file): Update.
475 * expr.c (expand_byte_code): Update.
477 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
479 * decl.c (finish_method): Use set_cfun.
481 2007-09-04 Andrew Haley <aph@redhat.com>
483 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
484 when using the ARM EABI.
486 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
488 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
490 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
492 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
494 * jcf.h (JCF_FINISH): Likewise.
496 2007-08-28 Tom Tromey <tromey@redhat.com>
498 * Make-lang.in (java.tags): Don't tag '*.y' files.
500 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
502 * lang.c (java_decl_ok_for_sibcall): Likewise.
504 2007-08-21 Paul Brook <paul@codesourcery.com>
505 Nathan Sidwell <nathan@codesourcery.com>
506 Mark Mitchell <mark@codesourcery.com>
507 Joseph Myers <joseph@codesourcery.com>
509 * jcf-dump.c (version): Use pkgversion_string. Update copyright
512 2007-08-20 Richard Guenther <rguenther@suse.de>
514 * lang.c (java_tree_inlining_walk_subtrees): Remove.
515 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
517 2007-08-17 Tom Tromey <tromey@redhat.com>
519 * typeck.c (find_method_in_interfaces): Update.
520 * jcf-parse.c (load_class): Update.
521 * java-gimplify.c (java_gimplify_component_ref): Removed.
522 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
524 (java_gimplify_expr): Update.
525 * decl.c (java_init_decl_processing): Update.
526 * class.c (set_constant_value): Update.
527 (make_class_data): Update.
528 (finish_class): Update.
529 (build_static_field_ref): Update.
530 (is_compiled_class): Update.
531 (maybe_layout_super_class): Update.
532 (layout_class): Update.
533 (layout_class_method): Update.
534 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
535 (lang_decl_var) <am, final_iud, cif>: Removed fields.
536 (lang_decl_func) <init_calls_this>: Removed field.
537 (lang_type) <dot_class, verify_method>: Removed fields.
538 (FIELD_NESTED_ACCESS): Removed.
539 (FIELD_NESTED_ACCESS_P): Removed.
540 (DECL_FIELD_FINAL_IUD): Removed.
541 (DECL_LOCAL_FINAL_IUD): Removed
542 (LOCAL_FINAL_P): Removed.
543 (FINAL_VARIABLE_P): Removed.
544 (CLASS_FINAL_VARIABLE_P): Removed.
545 (DECL_BIT_INDEX): Removed.
546 (DECL_INIT_CALLS_THIS): Removed.
547 (FIELD_LOCAL_ALIAS): Removed.
548 (FIELD_LOCAL_ALIAS_USED): Removed.
549 (FIELD_THISN): Removed.
550 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
551 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
552 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
553 (TYPE_DOT_CLASS): Removed.
554 (TYPE_VERIFY_METHOD): Removed.
555 (ID_CLASSDOLLAR_P): Removed.
556 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
558 (classdollar_identifier_node): Removed.
559 (TYPE_UNKNOWN): Removed.
560 (CLASS_FROM_SOURCE_P): Removed.
561 * expr.c (build_jni_stub): Update.
562 (force_evaluation_order): Update.
563 (build_java_empty_stmt): Update.
564 (build_class_init): Update.
565 (java_stack_swap): Update.
566 (build_jni_stub): Update.
568 2007-08-17 Tom Tromey <tromey@redhat.com>
570 * java-tree.h (LABEL_TYPE_STATE): Removed.
571 (load_type_state): Removed.
573 (LABEL_VERIFIED): Removed.
574 (type_states): Declare.
575 * expr.c (type_states): New global.
576 (load_type_state): Now static. Use type_states. Changed
578 (lookup_label): Don't set LABEL_PC.
579 (expand_byte_code): Don't use LABEL_VERIFIED.
580 (note_instructions): Initialize type_states.
581 * verify-glue.c (vfy_note_stack_depth): Rewrote.
582 (vfy_note_stack_type): Use type_states.
583 (vfy_note_local_type): Likewise.
585 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
587 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
588 * jcf.h (JCF_FINISH): Likewise.
590 2007-07-31 Nick Clifton <nickc@redhat.com>
592 * java-gimplify.c: Change copyright header to refer to version 3
593 of the GNU General Public License and to point readers at the
594 COPYING3 file and the FSF's license web page.
595 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
596 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
597 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
598 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
599 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
600 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
601 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
603 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
605 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
607 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
609 * lang.c (java_get_callee_fndecl): Constify.
611 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
613 * mangle.c (set_type_package_list): Constify.
614 * verify-glue.c (vfy_make_string): Delete.
615 * verify.h (vfy_make_string): Likewise.
617 2007-07-26 Tom Tromey <tromey@redhat.com>
619 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
620 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
621 EXIT_BLOCK_LABELED_BLOCK): Likewise.
622 * lang.c (java_tree_inlining_walk_subtrees): Update.
623 (java_dump_tree): Likewise.
624 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
626 * decl.c (push_labeled_block, pop_labeled_block): Remove.
627 * java-gimplify.c (java_gimplify_labeled_block_expr,
628 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
629 (java_gimplify_expr): Update.
631 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
633 * class.c (java_treetreehash_hash, java_treetreehash_compare):
635 * expr.c (type_assertion_eq): Likewise.
636 * jcf-io.c (compare_path): Likewise.
637 * jcf-parse.c (cmpstringp): Likewise.
638 * verify-impl.c (get_one_type, compute_argument_types,
639 compute_return_type): Likewise.
641 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
645 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
647 2007-07-12 Richard Guenther <rguenther@suse.de>
649 * expr.c (expand_java_return): RETURN_EXPR has void type.
650 (build_jni_stub): Likewise. Use a comparison against zero
651 for null-pointer test in COND_EXPR.
652 (build_field_ref): Build POINTER_PLUS_EXPR with correct
653 type. Convert result instead.
654 (build_invokevirtual): Likewise.
656 2007-07-09 Geoffrey Keating <geoffk@apple.com>
659 * lang.c (java_init): Remove setting of force_align_functions_log.
660 * class.c (add_method_1): Set DECL_ALIGN of non-static method
661 to cope with ptrmemfunc_vbit_in_pfn.
663 2007-07-03 David Daney <ddaney@avtrex.com>
665 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
669 (java/index.html): Same.
671 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
673 * class.c (make_class_data): Build the index in sizetype.
674 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
675 adding to a pointer type.
676 (build_symbol_entry): Likewise.
677 * expr.c (build_java_arrayaccess): Likewise.
678 (build_field_ref): Likewise.
679 (build_known_method_ref): Likewise.
680 (build_invokevirtual): Likewise.
681 * except.c (build_exception_object_ref): Do a
682 NEGATIVE and then a POINTER_PLUS_EXPR instead
685 2007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
687 * typeck.c (java_signed_type): Remove.
688 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
689 * java-tree.h (java_signed_type): Remove.
691 2007-05-18 Geoffrey Keating <geoffk@apple.com>
693 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
694 (print_constant): Likewise.
696 2007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
698 * expr.c (build_java_binop): Use unsigned_type_for instead of
700 * java-tree.h (java_unsigned_type): Remove.
701 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
702 * typeck.c (java_unsigned_type): Remove.
704 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
706 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
707 instead of checking GIMPLE_STMT_P in chain_next.
709 2007-04-06 Colin Walters <walters@redhat.com>
711 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
712 * jcf-io.c (open_class): Copy 'filename'.
714 2007-04-03 Andrew Haley <aph@redhat.com>
716 * jvgenmain.c (main): Change main to use class$, not class$$.
717 (do_mangle_classname): Likewise.
718 * class.c (hide): New function.
719 (add_field): Hide everything that shouldn't be visible outside a
721 (build_static_class_ref): Likewise.
722 (build_classdollar_field): Likewise.
723 (make_class_data): Likewise.
724 (layout_class_method): Likewise.
725 * expr.c (special_method_p): New function.
727 * class.c (push_class): Don't bogusly guess the source filename.
728 * jcf-parse.c (give_name_to_class): Don't set input_location from
729 DECL_ARTIFICIAL decls.
731 2007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
733 * typeck.c (java_signed_or_unsigned_type): Removed.
734 (java_signed_type): use get_signed_or_unsigned_type instead of
735 java_signed_or_unsigned_type.
736 (java_unsigned_type): Ditto.
737 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
738 * java-tree.h (java_signed_or_unsigned_type): Removed.
740 2007-03-26 Tom Tromey <tromey@redhat.com>
742 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
743 (java.maintainer-clean): Likewise.
744 (java.install-man): Likewise.
745 (.INTERMEDIATE): Removed grmiregistry.pod.
746 (grmiregistry.pod): Removed.
747 * gcj.texi (Invoking gcjh): Removed.
748 (Invoking gjnih): Likewise.
749 (Invoking grmiregistry): Likewise.
752 (which-gcj): Removed.
754 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
756 * Make-lang.in: Add install-pdf target as copied from
757 automake v1.10 rules.
759 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
761 * gcj.texi: Standardize title page.
763 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
765 * class.c: Fix a comment typo.
767 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
768 Brooks Moses <brooks.moses@codesourcery.com>
769 Lee Millward <lee.millward@codesourcery.com>
771 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
773 (BUILD_MONITOR_EXIT): Likewise.
775 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
776 (java_gimplify_modify_expr): Likewise.
778 * class.c (cache_this_class_ref): Use build_call_expr.
779 (build_static_field_ref): Likewise.
780 (emit_indirect_register_classes): Likewise.
781 (emit_register_classes): Likewise.
783 * resource.c (write_resource_constructor): Use build_call_expr.
785 * builtins.c (builtin_creator_function): Change interpretation of
786 the second parameter to be the whole CALL_EXPR instead of the arglist.
787 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
788 (min_builtin): Likewise.
789 (abs_builtin): Likewise.
790 (java_build_function_call_expr): Likewise.
791 (convert_real): Likewise.
792 (UNMARSHAL3): Likewise.
793 (UNMARSHAL4): Likewise.
794 (UNMARSHAL5): Likewise.
795 (build_arglist_for_builtin): Delete. Fix callers to use
796 build_call_expr instead.
797 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
799 (compareAndSwapInt_builtin): Likewise.
800 (compareAndSwapLong_builtin): Likewise.
801 (compareAndSwapObject_builtin): Likewise.
802 (putVolatile_builtin): Likewise.
803 (getVolatile_builtin): Likewise.
804 (VMSupportsCS8_builtin): Likewise.
805 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
808 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
809 (build_java_throw_out_of_bounds_exception): Likewise.
810 (java_check_reference): Likewise.
811 (build_java_arraystore_check): Likewise.
812 (build_newarray): Likewise.
813 (build_anewarray): Likewise.
814 (expand_java_multinewarray): Use build_call_list instead of build3.
815 (build_java_monitor): Use build_call_nary instead of build3.
816 (java_create_object): Likewise.
817 (expand_java_NEW): Likewise.
818 (build_instanceof): Likewise.
819 (expand_java_CHECKCAST): Likewise.
820 (build_java_soft_divmod): Likewise.
821 (build_java_binop): Likewise.
822 (build_field_ref): Likewise.
823 (build_class_init): Likewise.
824 (rewrite_arglist_getcaller): Use build_call_expr.
825 (build_invokeinterface): Use build_call_nary instead of build3.
826 (expand_invoke): Use build_call_list instead of build3.
827 (build_jni_stub): Use build_call_nary, build_call_list, or
828 build_call_expr instead of build3.
829 (expand_java_field_op): Use build_call_expr instead of build3.
830 (force_evaluation_order): Use new CALL_EXPR accessors.
832 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
834 2007-02-15 David Daney <ddaney@avtrex.com>
836 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
837 (java.maintainer-clean):Add gc-analyze.1.
838 (.INTERMEDIATE): Add gc-analyze.pod.
839 (gc-analyze.pod): New rule.
840 (java.install-man): Install gc-analyze.1
841 * gcj.texi: Add new section for the gc-analyze program.
843 2007-02-07 Andrew Haley <aph@redhat.com>
845 * class.c (uncache_this_class_ref): New.
846 * expr.c (build_jni_stub): Initialize the class.
847 (expand_byte_code): Call uncache_this_class_ref after generating
850 2007-02-06 Tom Tromey <tromey@redhat.com>
853 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
855 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
857 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
859 2007-02-02 Andrew Haley <aph@redhat.com>
861 * expr.c (expand_byte_code): Call cache_this_class_ref() and
862 cache_cpool_data_ref().
863 Set TYPE_CPOOL_DATA_REF.
864 (cache_cpool_data_ref): New function.
865 * constants.c (build_ref_from_constant_pool): Remove special-case
866 code for flag_indirect_classes.
867 (build_constant_data_ref): Move special-case code for
868 flag_indirect_classes here from build_ref_from_constant_pool.
869 * decl.c (finish_method): Move class initialization from here to
870 cache_this_class_ref.
871 * class.c (cache_this_class_ref): New function.
872 (build_class_ref): Use this_classdollar for the ouput class.
874 2007-02-02 David Daney <ddaney@avtrex.com>
876 * class.c (is_compiled_class): Move check to avoid reloading
878 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
881 2007-02-01 Andrew Haley <aph@redhat.com>
884 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
886 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
888 * class.c, jcf-parse.c: Fix comment typos.
890 2007-01-30 Tom Tromey <tromey@redhat.com>
892 * gcj.texi (Strings): Fix documentation for JvNewString.
894 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
896 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
899 2007-01-30 Ben Elliston <bje@au.ibm.com>
901 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
903 2007-01-29 Tom Tromey <tromey@redhat.com>
906 * jvspec.c (lang_specific_driver): Handle separate -I argument.
907 * lang.opt (-I): Add 'Separate'.
909 2007-01-29 Andrew Haley <aph@redhat.com>
911 * class.c (add_method_1): Mark fndecl as external unless we are
912 compiling it into this object file.
914 2007-01-24 Andrew Haley <aph@redhat.com>
916 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
917 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
919 2007-01-22 Andrew Haley <aph@redhat.com>
921 * builtins.c (VMSupportsCS8_builtin): New function.
923 2007-01-23 Andrew Pinski <pinskia@gmail.com>
926 * jcf-io.c (opendir_in_zip): Close the file
927 and free zipf before returning after an error.
929 2007-01-16 Tom Tromey <tromey@redhat.com>
931 * java-tree.def: Added copyright header.
933 2007-01-15 Tom Tromey <tromey@redhat.com>
935 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
937 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
939 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
940 (EXPR_WFL_NODE): Likewise.
941 (EXPR_WFL_LINECOL): Likewise.
942 (EXPR_WFL_FILENAME): Likewise.
943 (EXPR_WFL_LINENO): Likewise.
944 (build_expr_wfl, expr_add_location): Don't declare.
945 (build_unknown_wfl): Removed.
946 (EXPR_WFL_FILENAME_NODE): Removed.
947 (EXPR_WFL_COLNO): Removed.
948 (EXPR_WFL_SET_LINECOL): Removed.
949 (DECL_FUNCTION_WFL): Removed.
950 (DECL_FIELD_FINAL_WFL): Removed.
951 (struct lang_decl_func) <wfl>: Removed field.
952 <called_constructor>: Likewise.
953 <inner_access>: Likewise.
954 (struct lang_decl_var) <wfl>: Removed field.
955 (DECL_CONSTRUCTOR_CALLS): Removed.
956 (DECL_FUNCTION_ACCESS_DECL): Likewise.
957 (DECL_FUNCTION_INNER_ACCESS): Likewise.
958 (DECL_SPECIFIC_COUNT): Likewise.
959 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
960 * expr.c (build_expr_wfl): Removed.
961 (expr_add_location): Likewise.
963 2007-01-12 Tom Tromey <tromey@redhat.com>
965 * jcf-dump.c (main): Updated call to find_class.
966 * lang.c (java_init): Removed dead code.
967 * jcf-parse.c (read_class): Don't use java_source field. Removed
969 (parse_zip_file_entries): Don't use java_source field.
970 (process_zip_dir): Likewise.
971 (jcf_parse): Removed dead code.
972 (java_parse_file): Likewise.
973 (read_class): Updated call to find_class.
974 * jcf-io.c (find_class): Don't use java_source field. Removed
975 'source_ok' argument, .java logic.
976 * jcf.h (JCF) <java_source>: Removed field.
977 (JCF_ZERO): Updated. (find_class): Updated.
978 * decl.c: Removed dead code.
979 * class.c: Removed dead code.
981 2007-01-11 Tom Tromey <tromey@redhat.com>
983 * typeck.c (convert): Don't use flag_emit_class_files.
984 * lang.c (java_post_options): Don't use flag_emit_class_files.
985 (java_handle_option): Don't use flag_extraneous_semicolon or
987 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
988 flag_emit_class_files.
989 (load_class): Likewise.
990 * java-tree.h (flag_emit_class_files): Don't declare.
991 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
992 (flag_extraneous_semicolon): Don't declare.
993 (flag_not_overriding): Likewise.
994 (flag_static_local_jdk1_1): Likewise.
995 (flag_redundant): Likewise.
996 * expr.c (build_newarray): Don't use flag_emit_class_files.
997 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
998 flag_emit_class_files.
999 (build_class_ref): Likewise.
1000 * builtins.c (check_for_builtin): Don't use
1001 flag_emit_class_files.
1003 2007-01-10 Tom Tromey <tromey@redhat.com>
1005 * lang.c (java_can_use_bit_fields_p): Removed.
1006 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
1008 2007-01-09 Andrew Haley <aph@redhat.com>
1010 * expr.c (build_java_arrayaccess): Rewrite to generate array
1011 access in canonical form.
1012 (expand_java_arraystore): Use build_fold_addr_expr() on address of
1015 2007-01-03 Andrew Haley <aph@redhat.com>
1018 * expr.c (expand_java_field_op): If we're initializing a field's
1019 declaring interface we should not also initialize the class
1020 context in which it was referenced.
1022 2007-01-02 Tom Tromey <tromey@redhat.com>
1024 * java-tree.h (compiling_from_source, current_encoding,
1025 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
1026 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
1027 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
1028 JTI_WFL_OPERATOR): Removed
1029 (finit_identifier_node, instinit_identifier_node,
1030 length_identifier_node, super_identifier_node,
1031 continue_identifier_node, access0_identifier_node, wfl_operator):
1033 (cyclic_inheritance_report,
1034 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
1035 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
1036 DECL_FIXED_CONSTRUCTOR_P): Removed.
1037 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
1039 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
1040 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
1041 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
1042 import_list, import_demand_list>: Removed.
1043 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
1044 cxx_keyword_p): Removed.
1045 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
1046 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
1047 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
1048 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
1049 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
1050 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
1051 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
1052 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
1053 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
1054 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
1055 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
1056 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
1057 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
1058 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
1059 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
1060 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
1061 java_parse_abort_on_error, extract_field_decl): Removed.
1063 * lang.c: (compiling_from_source, current_encoding): Removed.
1064 (java_handle_option): Ignore -fencoding.
1065 * parse.h: Don't include lex.h.
1066 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
1067 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
1068 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
1069 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
1070 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
1071 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
1072 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
1073 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
1074 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
1075 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
1076 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
1077 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
1078 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
1079 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
1080 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
1081 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
1082 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
1083 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
1084 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
1085 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
1086 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
1087 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
1088 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
1089 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
1090 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
1091 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
1092 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
1093 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
1094 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
1095 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
1096 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
1097 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
1098 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
1099 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
1100 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
1101 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
1102 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
1103 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
1104 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
1105 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
1106 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
1107 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
1108 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
1109 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
1110 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
1111 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
1112 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
1113 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
1114 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
1115 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
1116 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
1117 SET_CPC_STATIC_INITIALIZER_STMT,
1118 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
1119 java_complete_class, java_check_circular_reference,
1120 java_fix_constructors, java_layout_classes, java_reorder_fields,
1121 java_method_add_stmt, java_get_line_col, reset_report,
1122 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
1123 java_finish_classes, ctxp, ctxp_for_generation,
1124 ctxp_for_generation_last): Removed.
1125 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
1126 * mangle.c (utf8_cmp): New function.
1127 (cxx_keywords): New global.
1128 (cxx_keyword_p): New function.
1129 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
1130 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
1131 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
1132 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
1133 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
1134 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
1135 * Make-lang.in (java.srcextra): Do nothing.
1136 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
1137 (JAVA_OBJS): Don't mention deleted files.
1138 (java.mostlyclean): Likewise.
1139 (java.clean): Likewise.
1140 (JAVA_LEX_C): Removed.
1141 (buffer.o, check-init.o, parse.o): Remove unused targets.
1142 (typeck.o): Updated.
1143 * jcf-parse.c (read_class): Comment out unused code.
1144 (java_layout_seen_class_methods): New function.
1145 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
1147 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
1148 (init_jcf_parse): Removed.
1149 * config-lang.in (gtfiles): Remove deleted files.
1150 * decl.c (java_init_decl_processing): Don't initialize
1151 finit_identifier_node, instinit_identifier_node,
1152 length_identifier_node, super_identifier_node,
1153 continue_identifier_node, access0_identifier_node. Don't call
1155 * class.c (cyclic_inheritance_report): New global.
1156 (add_method_1): Don't use
1157 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
1158 (maybe_layout_super_class): Comment out code.
1159 (safe_layout_class): New function.
1160 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
1161 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
1162 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
1163 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
1164 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
1165 (java_gimplify_case_expr): Removed.
1166 (java_gimplify_default_expr): Likewise.
1167 (java_gimplify_new_array_init): Likewise.
1169 * keyword.gperf, keyword.h: Removed.
1170 * chartables.h: Removed.
1171 * check-init.c: Removed.
1172 * buffer.c, buffer.h: Removed.
1173 * convert.h: Removed.
1174 * gen-table.pl: Removed.
1175 * lex.c, lex.h: Removed.
1177 2007-01-02 Andrew Haley <aph@redhat.com>
1179 * expr.c (expand_java_arraystore): Make sure we perform a bounds
1180 check at runtime before we perform a type check.
1182 2006-12-19 Andrew Haley <aph@redhat.com>
1184 * decl.c: Bump minor BC ABI version.
1186 2006-12-13 Gary Benson <gbenson@redhat.com>
1188 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
1190 2006-12-12 Tom Tromey <tromey@redhat.com>
1192 * lang-specs.h: Pass -M options to jc1.
1193 * jcf-depend.c (jcf_dependency_add_file): Don't emit
1196 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
1198 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
1200 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
1202 * lang-specs.h: Pass '%U'-based options as separate arguments.
1204 2006-12-05 Tom Tromey <tromey@redhat.com>
1207 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
1209 * class.c (add_field): Handle ACC_SYNTHETIC.
1210 (add_method_1): Likewise. Handle bridge and varargs.
1211 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
1213 (set_class_decl_access_flags): Handle synthetic and annotation.
1214 * java-tree.h (METHOD_BRIDGE): New macro.
1215 (METHOD_VARARGS): Likewise.
1216 (TYPE_SYNTHETIC): Likewise.
1217 (TYPE_ANNOTATION): Likewise.
1218 (lang_type): New fields 'synthetic' and 'annotation'.
1219 (lang_decl_func): New fields 'varargs' and 'bridge'.
1221 2006-12-04 Andrew Haley <aph@redhat.com>
1223 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
1226 2006-11-29 Gary Benson <gbenson@redhat.com>
1228 * expr.c (rewrite_arglist_getcaller): Reorder.
1230 2006-11-29 Andrew Haley <aph@redhat.com>
1232 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
1233 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
1235 2006-11-23 Andrew Haley <aph@redhat.com>
1237 * expr.c (rewrite_arglist_getcaller): New.
1238 (rewrite_arglist_getclass): Fix indentation.
1239 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
1240 gnu.classpath.VMStackWalker.getCallingClassLoader().
1241 * builtins.c (initialize_builtins): Remove duplicate def'n of
1243 Add __builtin_return_address.
1245 2006-11-22 Andrew Haley <aph@redhat.com>
1247 * jcf-reader.c (get_attribute): Mark attr_type unused.
1249 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
1251 2007-01-08 Richard Guenther <rguenther@suse.de>
1253 * lex.c (do_java_lex): Use build_int_cst_wide_type.
1254 * jcf-parse.c (get_constant): Likewise.
1256 2006-11-12 Jan Hubicka <jh@suse.cz>
1258 * resource.c (compile_resource_data): Update for new varpool names.
1259 * java/class.c (build_utf8_ref): Likewise.
1261 2006-11-12 David Daney <ddaney@avtrex.com>
1264 * typeck.c (build_java_array_type): Increase buffer sizes.
1266 2006-11-11 Richard Guenther <rguenther@suse.de>
1268 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
1269 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
1271 2006-11-06 Andrew Haley <aph@redhat.com>
1273 * java-tree.h (CONSTANT_LazyFlag): New.
1274 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
1275 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
1277 (handle_constant): Return 0 for dummy cpool entries.
1278 Handle constants of kind Class.
1279 Handle constants of kind NameAndType.
1280 (handle_enclosingmethod_attribute): New.
1281 (handle_signature_attribute): New.
1282 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
1283 (HANDLE_SIGNATURE_ATTRIBUTE): New.
1284 (handle_constant): Use unmangle_classname()rather than calling
1285 identifier_subst() directly.
1287 2006-11-02 Andrew Haley <aph@redhat.com>
1289 * java-tree.h (FIELD_ENUM): New.
1290 (lang_decl_var.field_enum): New.
1291 (lang_type.enum_class): New.
1293 * class.c (set_class_decl_access_flags): Handle enum types.
1294 (add_field): Handle enum fields.
1295 (get_access_flags_from_decl): Likewise.
1297 * class.c (make_class_data): Put reflection_data into rodata.
1299 2006-11-01 Andrew Haley <aph@redhat.com>
1301 * jcf-parse.c (field_offsets, bit_obstack): New variables.
1302 (jcf_parse): Write end marker to annotation_data.
1303 (java_parse_file): Create field_offsets bitmap. Destroy it.
1304 (annotation_grow, annotation_rewrite_byte)
1305 (annotation_rewrite_short, annotation_rewrite_int)
1306 (annotation_read_short, annotation_write_byte)
1307 (annotation_write_short, annotation_write_int)
1308 (handle_long_constant, handle_constant, handle_element_value)
1309 (handle_annotation, handle_annotations)
1310 (handle_annotation_attribute, rewrite_reflection_indexes)
1311 (handle_member_annotations, handle_parameter_annotations)
1312 (handle_default_annotation): New functions.
1313 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
1314 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
1315 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1316 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1317 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
1318 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
1319 (TYPE_REFLECTION_DATA): New.
1320 (TYPE_REFLECTION_DATASIZE): New.
1321 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
1323 * jcf-reader.c (get_attribute): Pass field/method index and
1324 attribute type to get_attribute().
1325 * constants.c (find_class_or_string_constant): Make nonstatic.
1326 (cpool_for_class): Likewise.
1327 (build_constants_constructor): Separate string and scalar types.
1328 * class.c (make_class_data): Generate field_indexes permutation.
1329 Pass it to rewrite_reflection_indexes().
1330 (make_class_data): Generate constructor for reflection_data field.
1332 2006-10-20 Tom Tromey <tromey@redhat.com>
1334 * gcj.texi (Top): Don't mention jv-scan.
1335 (Invoking gcj): Likewise.
1336 (Invoking gcjh): Likewise.
1337 (Invoking gjnih): Likewise.
1338 (Invoking gij): Likewise.
1339 (Invoking gcj-dbtool): Likewise.
1340 (Invoking jv-scan): Removed.
1341 * parse-scan.y: Removed.
1342 * jv-scan.c: Removed.
1343 * config-lang.in (stagestuff): Don't mention jv-scan.
1344 * Make-lang.in (java): Removed jv-scan.
1345 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1346 (JVSCAN_OBJS): Removed.
1347 (jv-scan$(exeext)): Likewise.
1348 (JAVA_MANFILES): Removed jv-scan.1.
1349 (java.uninstall): Don't mention jv-scan.
1350 (java.mostlyclean): Likewise.
1351 (java.maintainer-clean): Likewise.
1352 (.INTERMEDIATE): Likewise.
1353 (java/jv-scan.o): Removed.
1354 (jv-scan.pod): Likewise.
1355 (java.srcextra): Don't mention parse-scan.c.
1356 (java.mostlyclean): Likewise.
1357 (java/parse-scan.c): Removed.
1358 (java/parse-scan.o-warn): Removed.
1359 (java/parse-scan.o): Removed.
1361 2006-10-20 Tom Tromey <tromey@redhat.com>
1363 * lang.c (java_handle_option): Don't use
1364 jcf_write_base_directory.
1365 * jcf.h (jcf_write_base_directory): Removed.
1366 * parse.y (java_expand_classes): Don't call write_classfile.
1367 * config-lang.in (gtfiles): Removed jcf-write.c.
1368 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
1369 (java/jcf-write.o): Removed.
1370 * jcf-parse.c (parse_class_file): Don't call write_classfile.
1371 * java-tree.h (write_classfile): Removed declaration.
1372 * jcf-write.c: Removed.
1374 2006-10-20 Tom Tromey <tromey@redhat.com>
1376 * Make-lang.in (java): Removed gjnih, gcjh.
1377 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1378 (GCJH_OBJS): Removed.
1379 (GJNIH_OBJS): Likewise.
1380 (gjnih$(exeext)): Likewise.
1381 (gcjh$(exeext)): Likewise.
1382 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
1383 (java.install-common): Don't special case gcjh.
1384 (java.uninstall): Don't mention gcjh, gjnih.
1385 (java.mostlyclean): Likewise.
1386 (java.maintainer-clean): Likewise.
1387 (.INTERMEDIATE): Likewise.
1388 (gcjh.pod): Removed.
1389 (gjnih.pod): Likewise.
1390 (GCJH_TARGET_INSTALL_NAME): Removed.
1391 (java/gjavah-jni.o): Removed.
1392 (java/gjavah.o): Likewise.
1393 * config-lang.in (stagestuff): Removed gjnih, gcjh.
1394 * gjavah.c: Removed.
1396 2006-10-17 Tom Tromey <tromey@redhat.com>
1398 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
1401 2006-10-17 Tom Tromey <tromey@redhat.com>
1403 * jvgenmain.c (main): Handle -findirect-dispatch.
1404 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1407 2006-10-06 Andrew Haley <aph@redhat.com>
1409 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1410 have a compare_and_swap builtin.
1411 (compareAndSwapLong_builtin): Likewise.
1412 (compareAndSwapObject_builtin): Likewise.
1414 2006-10-04 Andrew Haley <aph@redhat.com>
1416 * builtins.c (java_builtins): Add compareAndSwapInt,
1417 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1418 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1419 putObjectVolatile, getObjectVolatile, getIntVolatile,
1420 getLongVolatile, getLong.
1421 (UNMARSHAL3): New macro.
1422 (UNMARSHAL4): Likewise.
1423 (UNMARSHAL5): Likewise.
1424 (build_arglist_for_builtin): New function.
1425 (build_addr_sum, build_check_this): New functions.
1426 (putObject_builtin. compareAndSwapInt_builtin,
1427 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1428 putVolatile_builtin, getVolatile_builtin): New builtins.
1430 2006-06-08 Andrew Haley <aph@redhat.com>
1432 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1433 get_symbol_table_index().
1434 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1436 (build_known_method_ref): New arg: special. Pass it to
1437 get_symbol_table_index.
1438 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1440 (build_invokevirtual): New arg: special. Pass it to
1441 get_symbol_table_index.
1442 (expand_invoke): New variable: special.
1443 Pass it to maybe_rewrite_invocation().
1444 Pass it to build_known_method_ref().
1445 * class.c (build_symbol_entry): Add new arg: special. Use it to
1446 build the symbol table conbstructor.
1447 (emit_symbol_table): Extract SPECIAL from the method list and pass
1448 it to build_symbol_entry().
1449 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1450 special accordingly.
1452 2006-09-08 Andrew Haley <aph@redhat.com>
1454 * class.c (layout_class_method): Use build_java_signature, not
1455 build_java_argument_signature. Use lookup_java_method, not
1456 lookup_argument_method.
1458 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1459 Bryce McKinlay <bryce@mckinlay.net.nz>
1461 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1463 2006-07-18 Tom Tromey <tromey@redhat.com>
1465 * lang.opt: Added missing -W options.
1467 2006-07-12 Tom Tromey <tromey@redhat.com>
1470 * lang-specs.h: Pass '%U'-based options as separate arguments.
1471 Use -faux-classpath.
1472 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1473 * lang.opt (faux-classpath): New option.
1475 2006-07-07 Tom Tromey <tromey@redhat.com>
1477 * class.c (make_class_data): Set value for reflection_data field.
1478 * decl.c (java_init_decl_processing): Add reflection_data field.
1480 2006-07-07 Tom Tromey <tromey@redhat.com>
1482 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1484 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1486 2006-07-07 Andrew Haley <aph@redhat.com>
1488 * jcf-parse.c (set_source_filename): Don't check for
1489 CLASS_FROM_CURRENTLY_COMPILED_P.
1492 2006-07-07 Andrew Haley <aph@redhat.com>
1494 * java-tree.h (java_read_sourcefilenames): Declare.
1495 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1496 * lang.opt (fsource-filename): New opt.
1497 * lang-specs.h: Add -fsource-filename.
1498 * jcf-parse.c (num_files, filenames): New variables.
1499 (reverse, cmpstringp, java_read_sourcefilenames,
1500 find_sourcefile): New.
1501 (set_source_filename): Call find_sourcefile to find the real name
1504 2006-06-27 Tom Tromey <tromey@redhat.com>
1506 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1507 Signature, LocalVariableTypeTable, annotation attributes.
1508 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1509 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1510 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1511 (HANDLE_METHOD): Likewise.
1512 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1513 (print_annotation): New function.
1514 (print_element_value): Likewise.
1516 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1517 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1518 (print_parameter_annotations): New function.
1519 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1520 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1522 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1523 (print_annotations): New function.
1525 2006-06-23 Tom Tromey <tromey@redhat.com>
1527 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1528 emitting class files, always use 1.5.
1529 * gcj.texi (Input Options): Document -fsource.
1530 (Code Generation): Document -ftarget.
1532 2006-06-21 Tom Tromey <tromey@redhat.com>
1535 * expr.c (expand_java_field_op): Initialize field's declaring
1538 2006-06-20 Tom Tromey <tromey@redhat.com>
1540 * expr.c (push_value): Always flush quick stack.
1542 2006-06-19 Tom Tromey <tromey@redhat.com>
1544 * expr.c (push_value): Also flush quick stack if value is a
1547 2006-06-19 Tom Tromey <tromey@redhat.com>
1549 * expr.c (push_value): Flush quick stack if value has side
1552 2006-06-13 Tom Tromey <tromey@redhat.com>
1554 * class.c (is_compiled_class): Explicitly check for current
1557 2006-06-09 Tom Tromey <tromey@redhat.com>
1559 * gjavah.c (decompile_method): Don't decompile a static field
1562 2006-06-06 Tom Tromey <tromey@redhat.com>
1564 * lang-specs.h <jc1>: Add .jar file to command line if
1565 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1567 2006-06-05 Tom Tromey <tromey@redhat.com>
1569 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1570 synthetic, enum, annotation.
1571 * jcf.h (ACC_BRIDGE): New macro.
1572 (ACC_VARARGS): Likewise.
1573 (ACC_SYNTHETIC): Likewise.
1574 (ACC_ENUM): Likewise.
1575 (ACC_ANNOTATION): Likewise.
1577 2006-06-04 Tom Tromey <tromey@redhat.com>
1579 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1580 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1582 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1583 when needed. Handle classpath-setting.
1584 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1585 * lang-specs.h: Rewrote.
1587 2006-06-04 Tom Tromey <tromey@redhat.com>
1589 * jcf-io.c (find_class): Set source_ok to 0.
1590 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1591 (parse_class_file): Don't call java_mark_class_local.
1592 (java_parse_file): Skip .java files. Call java_mark_class_local
1593 before lowering any code.
1594 (parse_zip_file_entries): Don't call duplicate_class_warning
1596 (process_zip_dir): ... call it here.
1597 * class.c (add_field): Don't mark field external if it is being
1598 compiled into this object.
1599 (make_class_data): Handle situation where class_dtable_decl is
1600 created before Class is compiled.
1601 (is_compiled_class): Don't assume files in zip are compiled into
1603 (layout_class_method): Don't mark method external if it is being
1604 compiled into this object.
1606 2006-06-04 Tom Tromey <tromey@redhat.com>
1608 * jcf-path.c (jcf_path_compute): New function.
1609 * jcf.h (jcf_path_compute): Declare.
1611 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1613 * decl.c: Include langhooks.h.
1614 (builtin_function): Remove.
1615 (java_init_decl_processing): Replace calls to builtin_function
1616 with add_builtin_function.
1617 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1618 (java/decl.o): Depend on langhooks.h.
1619 * java-tree.h (builtin_function): Remove.
1621 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1623 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1625 2006-09-12 Tom Tromey <tromey@redhat.com>
1627 * expr.c (push_value): Always flush quick stack.
1629 2006-09-12 Tom Tromey <tromey@redhat.com>
1632 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1633 the push of the called method's return result.
1635 2006-09-12 Tom Tromey <tromey@redhat.com>
1637 * jvspec.c (lang_specific_driver): Read spec file even if
1640 2006-09-12 Tom Tromey <tromey@redhat.com>
1643 * expr.c (expand_java_field_op): Initialize field's declaring
1644 interface if necessary.
1646 2006-09-12 Tom Tromey <tromey@redhat.com>
1649 * expr.c (expand_java_field_op): No error for assignments not in
1650 class initializer or constructor.
1652 2006-08-22 Andrew Haley <aph@redhat.com>
1654 * decl.c (java_add_stmt): Give the statement list a type.
1656 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1657 Bryce McKinlay <bryce@mckinlay.net.nz>
1659 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1661 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1664 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1665 or '--' is used with a constant operand.
1666 (java_complete_lhs): When processing a '++' or '--' expression,
1667 don't call java_complete_tree but java_complete_lhs, so that a
1668 static final variable operand is never replaced by its value. This
1669 avoids an ICE later on.
1670 (patch_unaryop): Fixed typo in comment.
1672 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1674 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1676 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1678 * builtins.c (check_for_builtin): If a builtin could result in a
1679 direct call being generated, don't use it if flag_indirect_dispatch
1682 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1684 * gcj.texi (Invocation): Corrections for Invocation API example.
1686 2006-07-04 Andrew Haley <aph@redhat.com>
1688 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1691 2006-06-21 Andrew Haley <aph@redhat.com>
1693 * java-tree.h (update_aliases): Remove
1694 * expr.c (expand_iinc): Remove call to update_aliases().
1695 (STORE_INTERNAL): Likewise.
1696 * decl.c (update_aliases, initialize_local_variable)
1697 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1699 2006-06-19 Andrew Haley <aph@redhat.com>
1703 * expr.c (java_modify_addr_for_volatile): New function.
1704 (expand_java_field_op): Handle volatile fields.
1705 * java-gimplify.c (java_gimplify_component_ref): Call
1706 java_modify_addr_for_volatile to give the field_ref the correct
1708 (java_gimplify_modify_expr): Likewise.
1709 * java-tree.h (java_modify_addr_for_volatile): New decl.
1711 2006-06-17 Karl Berry <karl@gnu.org>
1713 * gcj.texi (@dircategory): Use "Software development" instead
1714 of "Programming", following the Free Software Directory.
1716 2006-06-16 Andrew Haley <aph@redhat.com>
1718 * class.c (make_class_data): When using flag_indirect_classes,
1719 don't initialize the vtable of Class instances.
1721 2006-06-09 Andrew Haley <aph@redhat.com>
1725 * builtins.c (initialize_builtins): Add __sync_synchronize().
1726 * class.c (add_field): Mark volatile fields.
1727 * java-gimplify.c (java_gimplify_expr): Call new functions to
1728 handle self-modifying exprs and COMPONENT_REFs.
1729 (java_gimplify_component_ref): New.
1730 (java_gimplify_modify_expr): Add handling for volatiles.
1732 2006-06-08 Tom Tromey <tromey@redhat.com>
1734 * gcj.texi (libgcj Runtime Properties): Document
1735 gnu.gcj.user.realname.
1737 2006-06-08 Andrew Haley <aph@redhat.com>
1739 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1740 get_symbol_table_index().
1741 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1743 (build_known_method_ref): New arg: special. Pass it to
1744 get_symbol_table_index.
1745 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1747 (build_invokevirtual): New arg: special. Pass it to
1748 get_symbol_table_index.
1749 (expand_invoke): New variable: special.
1750 Pass it to maybe_rewrite_invocation().
1751 Pass it to build_known_method_ref().
1752 * class.c (build_symbol_entry): Add new arg: special. Use it to
1753 build the symbol table conbstructor.
1754 (emit_symbol_table): Extract SPECIAL from the method list and pass
1755 it to build_symbol_entry().
1756 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1757 special accordingly.
1759 2006-06-06 David Daney <ddaney@avtrex.com>
1761 * gcj.texi (libgcj Runtime Properties): Document
1762 gnu.gcj.runtime.NameFinder.show_raw and
1763 gnu.gcj.runtime.NameFinder.remove_unknown.
1765 2006-06-06 Tom Tromey <tromey@redhat.com>
1767 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1768 synthetic, enum, annotation.
1769 * jcf.h (ACC_BRIDGE): New macro.
1770 (ACC_VARARGS): Likewise.
1771 (ACC_SYNTHETIC): Likewise.
1772 (ACC_ENUM): Likewise.
1773 (ACC_ANNOTATION): Likewise.
1775 2006-06-06 Mike Stump <mrs@apple.com>
1777 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1778 installing during build.
1780 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1782 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1783 classname-to-library resolution mechanism.
1784 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1785 mechanism deprecated.
1786 (libgcj Runtime Properties): Document
1787 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1789 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1791 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1793 (jword): Define to uint64 on 64-bit arches.
1794 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1796 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1798 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1801 2006-05-26 Tom Tromey <tromey@redhat.com>
1803 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1804 * verify-glue.c (vfy_class_type): New function.
1805 * verify-impl.c (check_constant): Allow 'ldc class'.
1806 * verify.h (vfy_class_type): Declare.
1808 2006-05-25 Andrew Haley <aph@redhat.com>
1811 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1812 update all lifetimes, not just the first one.
1814 2006-05-24 Tom Tromey <tromey@redhat.com>
1816 * java-tree.h: Fixed flag documentation.
1818 2006-05-24 Tom Tromey <tromey@redhat.com>
1821 * jcf.h (ACC_INVISIBLE): Changed value.
1823 2006-05-24 Andrew Haley <aph@redhat.com>
1826 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1829 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1831 * lang.opt (femit-class-file): Remove VarExists.
1833 2006-05-16 Tom Tromey <tromey@redhat.com>
1835 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1838 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1841 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1844 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1846 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1847 (java/expr.o): Replace target.h with $(TARGET_H).
1848 (java/parse.o): Likewise.
1850 2006-05-10 Andrew Haley <aph@redhat.com>
1852 * class.c (emit_indirect_register_classes): Fix comment.
1854 2006-05-04 Tom Tromey <tromey@redhat.com>
1856 * java-tree.h (uses_jv_markobj_p): Declare.
1857 * class.c (uses_jv_markobj_p): Removed.
1858 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1859 (get_boehm_type_descriptor): Use it.
1860 (uses_jv_markobj_p): Moved from class.c. Return bool.
1862 2006-05-04 Tom Tromey <tromey@redhat.com>
1864 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1866 2006-05-04 Andrew Haley <aph@redhat.com>
1868 * class.c (make_field_value): Always build_address_of fdecl if
1869 there is an initializer.
1871 2006-05-03 Andrew Haley <aph@redhat.com>
1874 * expr.c (maybe_rewrite_invocation): New function.
1875 (rewrite_arglist_getclass): Likewise.
1877 (expand_invoke): Call maybe_rewrite_invocation.
1878 * parse.y (patch_invoke): Likewise.
1879 * java-tree.h: (maybe_rewrite_invocation): New function.
1881 2006-04-21 Andrew Haley <aph@redhat.com>
1883 * lang.c (java_init): Handle flag_indirect_classes.
1884 * jvgenmain.c: Use "class$$" instead of "class$".
1885 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1887 (mangle_class_field): Special case "class$$" as well as "class$".
1888 * constants.c (build_ref_from_constant_pool): If
1889 flag_indirect_classes, generate a ref into the heap.
1890 * decl.c (constants_field_decl_node,
1891 constants_data_field_decl_node): New.
1892 * class.c (build_static_class_ref): New.
1893 (build_classdollar_field): Factor out from build_class_ref().
1894 (make_field_value): Handle static fields in heap.
1895 (make_class_data): Make sure we get a static ref to class.
1896 Make class initializer const if flag_indirect_classes.
1897 (register_class): Build a class_ref for initialization if
1898 flag_indirect_classes.
1899 (emit_indirect_register_classes): New.
1901 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1903 * expr.c, gjavah.c: Fix comment typos.
1905 2006-04-03 Andrew Haley <aph@redhat.com>
1908 * expr.c (build_field_ref): Don't check the field offset if
1911 2006-03-30 Andrew Haley <aph@redhat.com>
1914 * lang.c (java_attribute_table): New.
1915 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1916 * expr.c (build_field_ref): Add a null pointer check for all
1917 fields of offset > 4k. Don't do so for accesses via the this
1918 pointer, which we know can never be null.
1919 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1922 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1924 * Make-lang.in: Rename docdir to gcc_docdir.
1926 2006-03-30 Tom Tromey <tromey@redhat.com>
1929 * parse.y (java_reorder_fields): Reset superclass field's size as
1932 2006-03-28 Tom Tromey <tromey@redhat.com>
1935 * parse.y (find_most_specific_methods_list): Added 'class'
1937 (lookup_method_invoke): Updated.
1939 2006-03-15 Tom Tromey <tromey@redhat.com>
1941 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1942 non-static method calls.
1944 2006-03-15 David Daney <ddaney@avtrex.com>
1946 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1949 2006-03-15 David Daney <ddaney@avtrex.com>
1951 * lang.opt (-freduced-reflection): New option.
1952 * lang.c (java_post_options): Generate an error if
1953 -freduced-reflection used with -fjni or -findirect-dispatch.
1954 * java-tree.h (flag_reduced_reflection): Declare new variable.
1955 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1956 if bitmap overflows and flag_reduced_reflection set.
1957 * class.c (uses_jv_markobj_p): New function.
1958 (make_class_data): Moved generation of vtable to before
1959 reflection data, generate less reflection data if
1960 flag_reduced_reflection set.
1961 * gcj.texi: Document -freduced-reflection.
1963 2006-03-15 Tom Tromey <tromey@redhat.com>
1966 * class.c (get_interface_method_index): Don't put <clinit> into
1969 2006-03-15 Tom Tromey <tromey@redhat.com>
1971 * parse.y (analyze_clinit_body): Ignore empty statements.
1973 2006-03-08 David Daney <ddaney@avtrex.com>
1975 * gcj.texi: Document -static-libgcj option.
1977 2006-02-20 Andrew Haley <aph@redhat.com>
1979 * jcf-parse.c (parse_class_file): Set input_location from
1982 2006-02-15 Andrew Haley <aph@redhat.com>
1984 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1985 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1986 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1988 2006-02-09 Andrew Haley <aph@redhat.com>
1991 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1992 in their superclass.
1994 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1997 2006-02-08 Tom Tromey <tromey@redhat.com>
2000 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
2001 * builtins.c (convert_real): New function.
2002 (java_builtins): Handle Float.intBitsToFloat,
2003 Float.floatToRawIntBits, Double.longBitsToDouble,
2004 Double.doubleToRawLongBits.
2006 2006-02-07 Andrew Haley <aph@redhat.com>
2008 * expr.c (expand_invoke): (BC mode.) If we find a method in a
2009 class other than the one in which we expected to find it, ignore
2013 * constants.c (build_constants_constructor): move initializer into
2014 first halfword on a 64-bit big-endian machine.
2016 2006-02-04 Tom Tromey <tromey@redhat.com>
2019 * builtins.c (max_builtin): Skip floating point 'max'.
2020 (min_builtin): Skip floating point 'min'.
2021 (check_for_builtin): Never return NULL_TREE.
2023 2006-02-04 Tom Tromey <tromey@redhat.com>
2026 * expr.c (push_type): Avoid side effect in gcc_assert.
2028 2006-02-04 Roger Sayle <roger@eyesopen.com>
2030 * decl.c (java_init_decl_processing): Create char_type_node as a
2031 regular INTEGER_TYPE node.
2032 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
2033 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
2034 test for char_type_node and promoted_char_type_node as special
2035 instances of INTEGER_TYPE tree codes.
2036 (promote_type,build_java_signature): Likewise.
2037 * jcf-write.c (adjust_typed_op): Likewise.
2038 * mangle.c (mangle_type): Likewise.
2039 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
2040 * parse.h (JINTEGRAL_TYPE_P): Likewise.
2042 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
2044 * expr.c (java_stack_swap): Revert gcc_assert patch.
2046 2006-02-03 Ben Elliston <bje@au.ibm.com>
2048 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
2049 * typeck.c: Likewise.
2050 * verify-impl.c: Likewise.
2051 * class.c: Likewise.
2053 * jcf-parse.c: Likewise.
2054 * constants.c: Likewise.
2055 * check-init.c: Likewise.
2056 * jcf-write.c: Likewise.
2057 * verify-glue.c: Likewise.
2058 * mangle.c: Likewise.
2061 * boehm.c: Likewise.
2063 2006-02-01 Jan Hubicka <jh@suse.cz>
2065 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
2066 * lang.c (java_init_options): Set no_unit_at_a_time_default.
2068 2006-01-30 Andrew Haley <aph@redhat.com>
2071 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
2073 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
2075 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
2076 Update copyright notice dates.
2078 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2080 * jvspec.c (lang_specific_spec_functions): Remove.
2082 2006-01-06 Tom Tromey <tromey@redhat.com>
2084 * gcj.texi (Arrays): Added more documentation for
2086 (Primitive types): Correct information about primitive classes.
2087 (Reference types): New node.
2090 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
2092 * jcf-parse.c (set_source_filename): Set the decl source location
2093 even when returning early.
2095 2005-12-15 Tom Tromey <tromey@redhat.com>
2096 Andrew Haley <aph@redhat.com>
2099 * parse.y (resolve_expression_name): Don't generate accessor
2100 methods for constant fields.
2102 2005-12-13 Andrew Haley <aph@redhat.com>
2106 * class.c (maybe_layout_super_class): Update current_class before
2107 calling do_resolve_class.
2109 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
2112 * jcf-write.c (write_classfile): Use PID in temporary class
2113 file. Save/restore errno when reporting error.
2115 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
2118 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
2119 to bare_function_type and including the return type
2120 * builtins.c (initialize_builtins) : Change builtin mangled name
2121 constants to conform to new mangling scheme
2123 2005-12-08 Andrew Haley <aph@redhat.com>
2126 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
2127 (soft_abstractmethod_node): New.
2128 * expr.c (build_field_ref): Add in-line check for missing field.
2129 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
2131 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2133 * Make-lang.in (java.all.build, java.install-normal): Remove.
2135 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2137 * Make-lang.in: Remove all dependencies on s-gtype, except for
2140 2005-12-07 Richard Sandiford <richard@codesourcery.com>
2142 * class.c (build_utf8_ref, emit_register_classes): Use
2143 switch_to_section and get_section.
2145 2005-12-06 Tom Tromey <tromey@redhat.com>
2148 * parse.y (patch_new_array_init): Revert previous patch.
2149 (lookup_method_invoke): Use size-less array type when creating an
2150 anonymous constructor.
2152 2005-12-05 Tom Tromey <tromey@redhat.com>
2154 * parse.y (patch_new_array_init): Don't set length on array.
2156 2005-12-02 Richard Guenther <rguenther@suse.de>
2158 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
2159 buildN instead of build.
2160 * class.c (finish_class): Likewise.
2161 * expr.c (java_create_object): Likewise.
2163 2005-11-28 Tom Tromey <tromey@redhat.com>
2166 * expr.c (build_jni_stub): Unwrap the return value.
2167 * java-tree.h (soft_unwrapjni_node): New define.
2168 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
2169 * decl.c (java_init_decl_processing): Initialize
2170 soft_unwrapjni_node.
2172 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
2174 * gcj.texi (gij options): Add -Xss documentation.
2176 2005-11-08 Wil Mahan <wmahan@gmail.com>
2179 * zextract.c (read_zip_archive): Fix out of memory error when
2180 reading jar files with zip-style comments.
2182 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
2184 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
2186 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
2188 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
2189 Wil Mahan <wmahan@gmail.com>
2192 * class.c (make_class): Create empty binfo here.
2193 (set_super_info): Only create binfo if we have superclasses.
2195 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
2198 * parse.y (method_header): Make the result of the rule a NULL_TREE
2199 when a parsing error occurs.
2201 2005-09-29 Tom Tromey <tromey@redhat.com>
2204 * jcf-io.c (memoized_dirlist_hash): New function.
2205 (caching_stat): Use it.
2207 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
2210 * class.c (inherits_from_p): Try to lay out super class
2211 if it is not already laid out.
2212 (maybe_layout_super_class): Handle the case where SUPER_CLASS
2215 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
2217 * builtins.c (max_builtin, min_builtin, abs_builtin,
2218 java_build_function_call_expr): Use fold_buildN.
2219 * class.c (layout_class_method): Likewise.
2220 * expr.c (java_truthvalue_conversion, build_java_jsr,
2221 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
2222 build_java_binop, build_field_ref, expand_compare,
2223 build_known_method_ref, build_invokevirtual,
2224 process_jvm_instruction): Likewise.
2225 * parse.y (patch_binop, patch_exit_expr): Likewise.
2226 * typeck.c (convert_ieee_real_to_integer): Likewise.
2227 (convert): Don't call fold after convert_ieee_real_to_integer.
2229 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
2232 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
2233 the newly created type. Set import lists here, not in create_class.
2234 (jdep_resolve_class): Set current_class.
2235 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
2236 the current package context, not ctxp->package.
2237 (cicp_cache): Removed.
2238 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
2239 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
2240 * java-tree.h (TYPE_PACKAGE): New macro.
2241 (struct lang_type): New member 'package'.
2243 2005-09-09 Andrew Haley <aph@redhat.com>
2246 * expr.c (pop_type_0): If the expected type is object or ptr
2247 (i.e. void*), return the type of the object we just popped from
2250 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
2252 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
2253 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
2255 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
2257 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
2258 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
2259 typos. Follow spelling conventions.
2261 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
2264 * typeck.c (lookup_do): Look up interfaces for the original class,
2266 * parse.y (java_check_regular_methods): Fix diagnostic message for
2267 more restrictive overriding of a method from an interface.
2269 2005-08-16 Tom Tromey <tromey@redhat.com>
2271 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
2272 class' initial state.
2274 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2277 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
2278 `literal_token' for large numeric input tokens.
2280 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2283 * parse.y (nested_field_access_p): Rename to nested_member_access_p
2284 and expand to handle method accesses across nested classes.
2285 (build_outer_method_access_method): Rename to
2286 build_nested_method_access_method. Minor adjustments to comments.
2287 (resolve_expression_name): Use the newly-renamed
2288 nested_member_access_p method.
2289 (resolve_qualified_expression_name): Likewise.
2290 (patch_method_invocation): Also consider static methods for access
2291 method generation. Minor adjustments to comments.
2292 (maybe_use_access_method): Use the more general
2293 nested_memeber_access_p to determine access across nested class
2294 boundaries. Allow THIS_ARG to be NULL (for static methods).
2296 2005-08-15 Tom Tromey <tromey@redhat.com>
2299 * expr.c (build_field_ref): Don't generate otable reference when
2300 DECL_FIELD_OFFSET is 0.
2301 * class.c (maybe_layout_super_class): Pass outer class to
2304 2005-08-15 Tom Tromey <tromey@redhat.com>
2306 * java-tree.h (LABEL_IN_SUBR): Removed.
2307 (LABEL_IN_SUBR): Likewise.
2308 (LABEL_IS_SUBR_START): Likewise.
2309 (LABEL_SUBR_START): Likewise.
2310 (LABEL_SUBR_CONTEXT): Likewise.
2311 (LABEL_CHANGED): Likewise.
2312 (LABEL_RETURN_LABEL): Likewise.
2313 (LABEL_RETURN_TYPE_STATE): Likewise.
2314 (LABEL_RETURN_LABELS): Likewise.
2315 (RETURN_MAP_ADJUSTED): Likewise.
2316 (LABEL_PENDING_CHAIN): Likewise.
2318 2005-08-15 Tom Tromey <tromey@redhat.com>
2320 * Make-lang.in (JAVA_OBJS): Removed verify.o
2321 (java/verify.o): Removed.
2322 * verify.c: Removed.
2323 * lang.c (flag_new_verifier): Removed.
2324 (java_post_options): Updated.
2325 * java-tree.h (flag_new_verifier): Removed.
2326 (verify_jvm_instructions): Removed.
2327 * expr.c (pop_type_0): Assume flag_new_verifier is true.
2328 (build_java_check_indexed_type): Likewise.
2329 (expand_java_arraystore): Likewise.
2330 (expand_java_arrayload): Likewise.
2331 (pop_arguments): Likewise.
2332 (expand_byte_code): Likewise.
2333 (process_jvm_instruction): Likewise.
2335 2005-08-10 Andrew Haley <aph@redhat.com>
2337 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
2338 type mismatches to make legal GIMPLE.
2340 2005-08-10 Robin Green <greenrd@greenrd.org>
2343 * parse.y (maybe_use_access_method): Generalize check from
2344 java.lang.Object to any superclass of current_class
2346 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2348 * class.c (build_class_ref): Wrap the primary class type in a
2350 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
2351 primary class type from the NOP_EXPR in which it was placed.
2353 2005-07-28 Diego Novillo <dnovillo@redhat.com>
2355 * expr.c (expand_load_internal): Fix missing parens in
2358 2005-07-28 Andrew Haley <aph@redhat.com>
2360 * expr.c (expand_load_internal): Convert to destination type.
2362 2005-07-22 Manfred Hollstein <mh@suse.com>
2364 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
2365 (check_constant): Likewise.
2366 (check_wide_constant): Likewise.
2368 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2370 Make CONSTRUCTOR use VEC to store initializers.
2371 * check-init.c (check_init): Update to cope with VEC in
2373 * class.c (make_field_value, make_method_value, get_dispatch_table,
2374 make_class_data, emit_symbol_table, emit_catch_table,
2375 emit_assertion_table): Use build_constructor_from_list instead of
2377 * constants.c (build_constants_constructor): Likewise.
2378 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
2379 VEC in CONSTRUCTOR_ELTS.
2380 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
2381 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
2383 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
2385 * parse.y (build_new_array_init): Use build_constructor_from_list
2386 instead of build_constructor.
2387 (patch_new_array_init): Update to cope with VEC in
2389 (array_constructor_check_entry): Likewise.
2391 2005-07-12 Tom Tromey <tromey@redhat.com>
2393 * jvspec.c (lang_specific_driver): Put filelist_filename first on
2396 2005-07-12 Tom Tromey <tromey@redhat.com>
2399 * parse-scan.y (interface_member_declaration): Added
2402 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2404 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2405 (LABEL_PENDING_CHAIN): Ditto.
2407 (DECL_BIT_INDEX): Ditto.
2409 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2412 * parse.y (inner_class_accessible): New function. Logic moved from
2413 check_inner_class_access.
2414 (check_inner_class_access): Use inner_class_accessible.
2415 (resolve_inner_class): Simplify arguments. Create circularity hash
2416 here. Keep looking for classes if we found one that was inaccessible.
2417 Return the inaccessible class only if there is no other match.
2418 (do_resolve_class): Update for new resolve_inner_class arguments.
2419 Don't create circularity_hash here.
2421 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2424 * parse.y (add_exception_to_throws): New function.
2425 (purge_unchecked_exceptions): Removed.
2426 (get_constructor_super): Renamed from verify_constructor_super. Now
2427 returns the super constructor after verification.
2428 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2429 or save/restore the exception list.
2430 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2431 class initializers and constructors to the throws clause of the method.
2433 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2436 * parse.y (interface_member_declaration): Allow empty statements in
2437 interface declarations.
2439 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2441 * Makefile.in (parse.o): Adjust dependencies.
2442 * parse.y: Include tree-dump.h.
2444 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2446 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2449 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2451 * parse.y (issue_warning_error_from_context): Call
2452 pp_output_formatted_text to be able to get the buffer.
2454 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2456 * parse.y (issue_warning_error_from_context): Update for the
2457 renaming of pp_format_text to pp_format.
2459 2005-06-28 Paul Brook <paul@codesourcery.com>
2461 * decl.c (java_init_decl_processing): Call
2462 default_init_unwind_resume_libfunc.
2464 2005-06-27 Tom Tromey <tromey@redhat.com>
2466 PR java/21540, PR java/13788:
2467 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2468 fold_constant_for_init.
2469 (patch_binop): Added 'folding' argument. Updated all callers.
2470 (patch_unaryop) <NOP_EXPR>: New case.
2471 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2472 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2474 2005-06-25 Jan Hubicka <jh@suse.cz>
2476 * builtins.c (define_builtin): Accept new flags parameter.
2477 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2479 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2481 * all files: Update FSF address in copyright headers.
2483 2005-06-24 Tom Tromey <tromey@redhat.com>
2485 * verify-impl.c (verify_instructions_0): Correctly handle
2486 situation where PC falls off end.
2488 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2491 * parse.y (find_most_specific_methods_list): Remove special case for
2494 2005-06-15 Tom Tromey <tromey@redhat.com>
2497 * class.c (make_method_value): Use soft_abstractmethod_node for
2499 * java-tree.h (soft_abstractmethod_node): New define.
2500 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2501 * decl.c (java_init_decl_processing): Initialize
2502 soft_abstractmethod_node.
2504 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2506 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2508 2005-06-13 Per Bothner <per@bothner.com>
2510 * expr.c (int highest_label_pc_this_method,
2511 start_label_pc_this_method): New globals.
2512 (lookup_label): Add start_label_pc_this_method to pc for label, and
2513 update highest_label_pc_this_method. This prevents conflicts between
2514 labels from different methods.
2515 * java-tree.h: Declare new globals.
2516 * jcf-parse.c (parse_class_file): If needed bump
2517 start_label_pc_this_method and reset highest_label_pc_this_method.
2519 2005-06-13 Tom Tromey <tromey@redhat.com>
2522 * parse.y (nested_field_access_p): Handle case where outer field
2523 is inherited by enclosing class.
2525 2005-06-12 Per Bothner <per@bothner.com>
2527 * class.c (inherits_from_p): Do load_class if needed.
2529 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2531 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2532 * java-tree.h (parse_error_context): Move...
2533 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2534 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2535 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2537 2005-06-08 Roger Sayle <roger@eyesopen.com>
2539 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2541 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2543 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2544 msgid for argument name.
2545 * gjavah.c (error): Likewise.
2546 * java-tree.h (parse_error_context): Likewise.
2547 * parse.y (parse_error_context, parse_warning_context,
2548 issue_warning_error_from_context): Likewise.
2550 2005-06-01 Tom Tromey <tromey@redhat.com>
2553 * class.c (build_static_field_ref): Don't fold constant fields if
2554 current class is from a .class file and we're using indirect
2557 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2559 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2560 * java/Make-lang.in: Updates dependencies.
2562 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2565 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2566 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2567 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2568 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2569 * jcf-write.c (generate_classfile): Use
2570 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2571 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2572 * parse.y (build_outer_field_access): Rename to
2573 build_nested_field_access. Support static fields and outer-to-inner
2575 (outer_field_access_p): Rename to nested_field_access_p. Support
2576 static fields and generalise to outer-to-inner class and sibling
2577 inner class accesses.
2578 (outer_field_expanded_access_p): Rename to
2579 nested_field_expanded_access_p and support static fields.
2580 (outer_field_access_fix): Rename to nested_field_access_fix and
2581 support static fields.
2582 (build_outer_field_access_expr): Rename to
2583 build_nested_field_access_expr and support static fields.
2584 (build_outer_field_access_methods): Rename to
2585 build_nested_field_access_methods and support static fields. For
2586 static fields, generate accessors without class instance parameters.
2587 (build_outer_field_access_method): Rename to
2588 build_nested_field_access_method and support static fields.
2589 (build_outer_method_access_method): Use
2590 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2591 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2592 (resolve_expression_name): Consider static field accesses across
2594 (resolve_qualified_expression_name): Likewise.
2595 (java_complete_lhs): Use nested_field_access_fix instead of
2596 outer_field_access_fix.
2597 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2598 Use nested_field_expanded_access_p instead of
2599 outer_field_expanded_access_p. Use nested_field_access_fix instead
2600 of outer_field_access_fix.
2601 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2602 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2604 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2606 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2607 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2608 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2609 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2610 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2611 (parse_version): Calculate version ID using new method. Use bit-flags
2612 for flag_indirect_dispatch and flag_bootstrap_classes.
2614 2005-05-25 Richard Henderson <rth@redhat.com>
2617 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2618 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2619 DECL_CONTEXT; avoid pushdecl_top_level.
2620 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2621 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2622 (layout_class_method): Likewise.
2623 * decl.c (java_mark_cni_decl_local): New.
2624 (java_mark_class_local): Use it.
2625 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2626 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2627 (struct lang_decl_func): Add local_cni;
2628 (struct lang_decl_var): Add class_field, vtable.
2629 (java_mangle_decl): Declare.
2630 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2631 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2632 (mangle_obstack_1): New.
2633 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2634 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2635 lhd_set_decl_assembler_name for things that don't need mangling.
2636 (mangle_class_field): Rename from java_mangle_class_field, make
2637 static, don't call init_mangling or finish_mangling.
2638 (mangle_vtable): Similarly.
2639 (mangle_local_cni_method_decl): New.
2640 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2641 gcc_assert, and MANGLE_RAW_STRING.
2642 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2644 2005-05-25 DJ Delorie <dj@redhat.com>
2646 * class.c (set_constant_value): Move warning control from if() to
2649 2005-05-24 Richard Henderson <rth@redhat.com>
2651 * builtins.c (define_builtin): Don't call make_decl_rtl.
2652 * constants.c (build_constant_data_ref): Likewise.
2653 * class.c (build_utf8_ref): Likewise.
2654 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2655 (get_dispatch_table, layout_class_method): Likewise.
2656 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2658 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2659 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2660 to determine if we need a non-zero address.
2661 * decl.c (builtin_function): Don't call make_decl_rtl.
2662 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2663 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2664 * resource.c (compile_resource_data): Likewise.
2665 * parse.y (resolve_field_access): Re-word comment to avoid
2668 2005-05-24 Richard Henderson <rth@redhat.com>
2670 * class.c (registered_class): Take it out of class_roots; turn into
2672 (register_class): Make static. Don't duplicate decl node. Use
2674 (emit_register_classes): Use VEC_iterate. Use output_constant
2675 instead of assemble_integer. Don't call mark_decl_referenced
2677 * java-tree.h (register_class): Remove decl.
2679 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2683 * parse.y (register_package, package_list): Remove.
2684 (package_declaration): Do not call register_package.
2685 (do_resolve_class): Do not use package_list.
2687 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2689 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2692 2005-05-15 Tom Tromey <tromey@redhat.com>
2695 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2698 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2700 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2702 2005-05-11 Tom Tromey <tromey@redhat.com>
2704 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2705 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2706 (parse_version): Use it.
2707 * lang.opt (-fbootstrap-classes): New option.
2709 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2712 * class.c (maybe_layout_super_class): Look for imports in this_class.
2713 * parse.h (ctxp_for_generation_last): New.
2714 (do_resolve_class): Add a parameter.
2715 * parse.y (ctxp_for_generation_last): New.
2716 (java_pop_parser_context): Add at end of list.
2717 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2718 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2719 the given type are NULL.
2720 (do_resolve_class): Look into the imports of the new second parameter.
2721 Adjust recursive calls.
2722 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2723 calls to do_resolve_class.
2724 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2725 (java_complete_class): Do not do that here.
2727 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2730 * Make-lang.in (java): Add gjnih.
2731 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2732 (GJNIH_OBJS): New variable.
2733 (gjnih$(exeext)): New target.
2734 (JAVA_MANFILES): Add gjnih.1.
2735 (java.uninstall): Add gjnih.1.
2736 (java.mostlyclean): Add gjnih.
2737 (java.maintainer-clean): Add gjnih.1.
2738 (java/gjavah-jni.o): New target.
2739 (.INTERMEDIATE): Add gjnih.pod.
2740 (gjnih.pod): New target.
2741 * config-lang.in (stagestuff): Add gjnih.
2742 * gcj.texi (Top): Add gjnih node.
2743 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2744 -bootclasspath options.
2745 (Invoking gjnih): New node.
2746 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2747 (TOOLNAME): New macro.
2748 (error): Replace hard-coded gcjh with TOOLNAME.
2749 (process_file): Likewise.
2751 (version): Likewise.
2752 (help): Likewise. Add help output for -force, -old, -trace and -J
2754 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2755 (options): Add force, old, trace and J fields.
2756 (main): Handle -force, -old, -trace and -J options.
2758 2005-05-03 Tom Tromey <tromey@redhat.com>
2761 * gjavah.c (main): Unlink output file on error.
2763 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2765 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2768 2005-04-29 Tom Tromey <tromey@redhat.com>
2770 * expr.c (build_jni_stub): Updated for change to build_block.
2772 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2774 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2776 2005-04-28 Andrew Haley <aph@redhat.com>
2779 * java-tree.h (soft_resolvepoolentry_node): New.
2780 (alloc_constant_fieldref): Declare.
2781 * expr.c (expand_java_field_op): Don't call class_init for
2782 accesses to static fields with indirect dispatch.
2783 * builtins.c (initialize_builtins): Add "__builtin_expect".
2784 * decl.c (soft_resolvepoolentry_node): New variable.
2785 (java_init_decl_processing): Create a decl for
2786 "_Jv_ResolvePoolEntry".
2787 * class.c (build_fieldref_cache_entry): New function.
2788 (build_static_field_ref): Rewrite for indirect dispatch.
2789 * constants.c (find_name_and_type_constant_tree): New function.
2790 (alloc_constant_fieldref): Likewise.
2791 (build_constants_constructor): Handle CONSTANT_Fieldref and
2792 CONSTANT_NameAndType.
2795 * expr.c (force_evaluation_order): Convert outgoing args smaller
2798 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2800 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2801 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2802 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2804 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2806 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2807 to `unlock_stream' with `unlock_std_streams'.
2809 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2811 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2812 instead of just expr.h.
2814 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2816 * gjavah.c (main): Unlock the stdio streams.
2817 * jcf-dump.c (main): Likewise.
2818 * jv-scan.c (main): Likewise.
2819 * jvgenmain.c (main): Likewise.
2821 2005-04-23 DJ Delorie <dj@redhat.com>
2823 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2824 parse.y: Adjust warning() callers.
2826 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2828 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2831 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2833 * gcj.texi: Fix typos and bogus example.
2835 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2837 * except.c: Fix a comment typo.
2839 2005-04-19 Julian Brown <julian@codesourcery.com>
2841 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2842 indirect dispatch with PIC.
2844 2005-04-18 Andrew Haley <aph@redhat.com>
2846 * java-except.h (struct eh_range.handler): Remove unused field.
2847 (handle_nested_ranges): Remove function declaration.
2848 (sanity_check_exception_range): Add function declaration.
2849 * verify.c (verify_jvm_instructions): Remove call to
2850 handle_nested_ranges.
2851 * verify-glue.c (verify_jvm_instructions_new): Call
2852 sanity_check_exception_range.
2853 * except.c (link_handler, eh_range_freelist, link_handler,
2854 handle_nested_ranges): Remove.
2855 (add_handler): Rewrite.
2856 (sanity_check_exception_range): New function.
2857 (print_ranges): New function.
2859 2005-04-13 Julian Brown <julian@codesourcery.com>
2861 * decl.c (finish_method): Give methods once-only linkage.
2863 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2865 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2867 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2869 * java-tree.h: Don't use PARAMS().
2871 2005-04-07 Per Bothner <per@bothner.com>
2873 * class.c (push_class): By default, suppress debug output.
2874 (finish_class): Enable debug output for classes we're emitting.
2876 2005-04-07 Andrew Haley <aph@redhat.com>
2878 * gcj.texi: Correct gcj-dbtool instructions.
2880 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2882 * gcj.texi: Fix a typo.
2883 * lang.c: Fix a comment typo.
2885 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2887 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2888 Mention recognized-and-ignored compatibility options.
2889 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2891 (About CNI): Add Memory allocation section.
2893 2005-04-01 Tom Tromey <tromey@redhat.com>
2895 * decl.c (java_init_decl_processing): Fix types of
2896 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2897 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2898 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2900 2005-03-31 Jan Hubicka <jh@suse.cz>
2902 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2903 * class.c: Include cgraph.h
2904 (make_local_functoin_alias): Mark aslias as needed.
2905 * resource.c: Include cgraph.h
2906 (compile_resource_data): Go via cgraph interface.
2908 2005-03-30 Ian Lance Taylor <ian@airs.com>
2910 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2912 2005-03-30 Tom Tromey <tromey@redhat.com>
2914 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2915 inner_class_info_index==0 or outer_class_info_index==0.
2917 2005-03-29 Tom Tromey <tromey@redhat.com>
2919 * gcj.texi (libgcj Runtime Properties): Document
2920 gnu.gcj.runtime.endorsed.dirs.
2922 2005-03-24 Anthony Green <green@redhat.com>
2924 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2927 2005-03-23 Tom Tromey <tromey@redhat.com>
2929 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2930 (parse_version): Use it.
2932 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2934 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2936 2005-03-18 Andrew Haley <aph@redhat.com>
2939 * decl.c (update_aliases): Don't update variables that are about
2941 (maybe_poplevels): Add comment.
2943 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2946 * jcf-parse.c (duplicate_class_warning): New function.
2947 (java_parse_file): Call duplicate_class_warning if
2948 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2949 (parse_zip_file_entries): Likewise. Also set
2950 CLASS_FROM_CURRENTLY_COMPILED_P.
2952 2005-03-16 Andrew Haley <aph@redhat.com>
2954 * expr.c (expand_java_arrayload): Don't generate a
2955 NullPointerException based on the type of the node.
2956 (build_java_array_length_access): Likewise.
2958 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2960 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2962 2005-03-11 Tom Tromey <tromey@redhat.com>
2964 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2965 (libgcj Runtime Properties): Document the default .db.
2967 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2970 * parse.y (checks_throws_clauses): Check exceptions list even when
2971 the base class does not come from a source file being compiled.
2972 (java_complete_lhs): Remove unused variable 'wfl'.
2974 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2977 * decl.c (finish_method): Emit _Jv_InitClass for private static
2978 methods inside inner classes as well.
2980 2005-03-08 Julian Brown <julian@codesourcery.com>
2981 * Revert patch from 2005-03-08 for causing bootstrap failure on
2984 2005-03-08 Julian Brown <julian@codesourcery.com>
2986 * decl.c (finish_method): Give methods once-only linkage.
2988 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2990 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2992 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2994 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2995 can_widen_reference_to if the C++ ABI is in use.
2996 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2997 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2998 type_isresolved, init_state, set_pc, state_get_pc,
2999 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
3000 (verify_fail): Report the current PC from the verifier context.
3001 (free_state): Remove #if 0 block to enable this function.
3002 (free_verifier_context): Call free_state on state_list iterator
3003 values before freeing them.
3004 * expr.c (pop_type_0): Pop correct type for error message when stack
3005 contains a multi-word type.
3007 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
3009 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
3010 for known NULL array length access.
3012 2005-03-07 Tom Tromey <tromey@redhat.com>
3014 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
3016 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
3018 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
3019 typeck.c: Update copyright.
3021 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
3024 * xref.c, xref.h: Remove file.
3025 * Make-lang.in (java/xref.o): Remove.
3026 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
3027 * lang.c (flag_emit_xref): Remove definition.
3028 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
3029 * typeck.c (convert): Remove use of do_not_fold.
3030 * parse.y (do_not_fold): Remove definition.
3031 (parser grammar): Remove xref code.
3032 (maybe_create_class_interface_decl, create_class): Likewise.
3033 (register_fields, method_header, finish_method_declaration): Likewise.
3034 (declare_local_variables, source_end_java_method): Likewise.
3035 (java_complete_expand_classes): Do not set do_not_fold.
3036 (java_complete_expand_method): Remove xref code.
3037 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
3038 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
3039 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
3040 (patch_synchronized_statement, patch_throw_statement): Likewise.
3041 (maybe_build_class_init_for_field): Likewise.
3043 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
3045 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
3046 instead of IS_NON_TYPE_CODE_CLASS.
3048 2005-03-04 Andrew Haley <aph@redhat.com>
3051 * class.c (set_method_index): Don't set method_index if it is
3053 (layout_class_method): Don't complain about "non-static method foo
3054 overrides static method" in the case of indirect dispatch.
3056 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3058 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
3060 * Make-lang.in: Don't elide warnings in jcf-io.c.
3062 2005-03-01 Per Bothner <per@bothner.com>
3065 * check-init.c (wfl): Remove static.
3066 (final_assign_error, check_init): Replace calls to parse_error_context
3068 (check_init): Save, set, and restore input_location for each exp.
3070 2005-03-01 Per Bothner <per@bothner.com>
3072 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
3073 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
3074 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
3076 2005-03-01 Per Bothner <per@bothner.com>
3078 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
3080 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
3083 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
3086 2005-02-22 Tom Tromey <tromey@redhat.com>
3089 * verify-impl.c (EITHER): New define.
3090 (types_compatible): Handle it.
3091 (check_field_constant): Use it.
3093 2005-02-18 Tom Tromey <tromey@redhat.com>
3096 * verify-impl.c (types_equal): Fixed test.
3099 * verify-glue.c (vfy_class_has_field): New function.
3100 * verify.h (vfy_class_has_field): Declare.
3101 * verify-impl.c (check_field_constant): Added 'putfield'
3103 (verify_instructions_0): Updated.
3104 (types_equal): New function.
3106 2005-02-14 Tom Tromey <tromey@redhat.com>
3109 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
3110 stack effect of multianewarray.
3112 2005-02-14 Andrew Haley <aph@redhat.com>
3115 * expr.c (expand_byte_code): Call promote_arguments().
3116 (promote_arguments): New function.
3117 * decl.c (check_local_unnamed_variable): Remove special case for
3119 (find_local_variable): Promote all boolean types to int
3120 when searching for local variable decls.
3122 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
3124 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
3125 parse-scan.y: Update copyright.
3127 2005-02-11 Per Bothner <per@bothner.com>
3130 * parse-scan.y (input_location): Remove variable.
3131 (main_input_filename): New - replaces input_filename, which isn't
3132 settable if USE_MAPPED_LOCATION.
3133 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
3134 so we don't reference input_location or wfl_operator in that case.
3135 * jv-scan.c (expand_location): Remove - no longer used.
3136 (main): Set main_input_filename rather than input_filename.
3138 2005-02-09 Richard Henderson <rth@redhat.com>
3140 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
3141 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
3143 2005-02-08 Marcin Dalecki <martin@dalecki.de>
3145 * expr.c (add_type_assertion): Use the proper enumeration type,
3146 since this is what htab_find_slot() is expecting.
3148 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
3150 * gcj.texi: Update copyright dates.
3152 2005-02-02 Tom Tromey <tromey@redhat.com>
3154 * gcj.texi (libgcj Runtime Properties): Default library_control
3157 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
3160 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
3161 (modifiers) when square brackets are present in a declaration for
3163 * jv-scan.c (main): Set input_filename and input_line.
3165 2005-02-01 Tom Tromey <tromey@redhat.com>
3168 * gjavah.c (get_field_name): Don't override name for JNI header.
3170 2005-02-01 Roger Sayle <roger@eyesopen.com>
3172 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
3173 of unsigned types using iushr and lushr JVM bytecodes.
3175 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3178 * gjavah.c (jni_print_float): Do not emit floating-point
3179 initialiser for a static final field.
3180 (jni_print_double): Likewise.
3182 2005-02-01 Mark Mitchell <mark@codesourcery.com>
3185 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3186 * gjavah.c (print_field_info): Mark static data members of
3187 floating-point type with "__extension__".
3189 2005-01-31 Mark Mitchell <mark@codesourcery.com>
3191 * gjavah.c (print_field_info): Mark static data members of
3192 floating-point type with "__extension__".
3194 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
3197 * parse.y (build_string_concatenation): Remove redundant if.
3198 (patch_conditional_expr): Attempt to patch_string() the condition
3199 of a ?: as well, in addition to its other operands.
3201 2005-01-25 Tom Tromey <tromey@redhat.com>
3203 * Make-lang.in (java/java-tree-inline.o): Removed.
3205 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
3208 * parse.y (patch_binop): Allow comparisons against NULL only
3209 if the other operand is of a reference type.
3211 2005-01-24 Tom Tromey <tromey@redhat.com>
3213 * java-tree.h (gcj_abi_version): Declare.
3214 * class.c (make_class_data): Push gcj_abi_version into "next"
3215 field. Renamed field.
3216 * decl.c (gcj_abi_version): New global.
3217 (parse_version): New function.
3218 (java_init_decl_processing): Call it. Renamed 'next' field.
3220 (GCJ_BINARYCOMPAT_ADDITION): New define.
3222 2005-01-24 Roger Sayle <roger@eyesopen.com>
3225 * jcf-write.c (generate_bytecode_insns): Conversions between
3226 integer types of the same precision shouldn't generate widening
3227 or narrowing conversion bytecodes.
3229 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
3231 * java-except.h, java-tree.h: Remove unused prototypes.
3233 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
3236 * jcf-write.c (perform_relocations): Don't call memcpy if source
3237 and destination are the same.
3239 2005-01-17 Tom Tromey <tromey@redhat.com>
3241 * verify-impl.c (get_short): Sign extend.
3242 (get_int): Likewise.
3244 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
3246 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
3249 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3251 * verify.c: Revert to the version before the BC-ABI merge.
3253 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
3256 * check-init.c (check_init): Take care of references that do not
3257 have an explicit final variable declaration (e.g. array length
3258 access) for pre/post in/de-crement operators.
3260 2005-01-08 Mark Wielaard <mark@klomp.org>
3262 * parse.y (process_imports): Allocate (and free) original_name only
3263 when not already defined.
3264 * jcf-parse.c (read_class): Free results of find_class() and
3266 (java_parse_file): Keep pointer to head of file_list and free when
3267 done. Free result of lrealpath().
3269 2005-01-05 Tom Tromey <tromey@redhat.com>
3271 * gcj.texi (Standard Properties): java.ext.dirs is now used.
3273 2004-12-20 Andrew Haley <aph@redhat.com>
3275 * typeck.c: Use fold_convert for ints and booleans.
3277 2004-12-17 Andrew Haley <aph@redhat.com>
3280 * typeck.c (convert): Use a CONVERT_EXPR when converting to
3281 BOOLEAN_TYPE or CHAR_TYPE.
3282 (convert_to_boolean, convert_to_char) : Remove.
3283 * convert.h (convert_to_boolean, convert_to_char) : Remove.
3284 * expr.c (expand_load_internal): Do type conversion if type is not
3287 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
3290 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
3293 2004-12-07 Andrew Haley <aph@redhat.com>
3296 * jcf-parse.c (load_class): Remove sanity test for missing inner
3299 2004-12-06 Tom Tromey <tromey@redhat.com>
3301 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
3302 (java.uninstall): Likewise.
3303 (java.maintainer-clean): Likewise.
3304 (.INTERMEDIATE): Likewise.
3305 (java.install-man): Likewise.
3306 (gcj-dbtool.pod): New target.
3307 * gcj.texi (Code Generation): Document -findirect-dispatch.
3308 (libgcj Runtime Properties): Document
3309 gnu.gcj.precompiled.db.path.
3310 (Top): Link to "Invoking gcj-dbtool".
3312 2004-12-06 Tom Tromey <tromey@redhat.com>
3315 * java-tree.h (extract_field_decl): Declare.
3316 * parse.y (extract_field_decl): Renamed from
3317 strip_out_static_field_access_decl. No longer static.
3318 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
3320 2004-12-03 Tom Tromey <tromey@redhat.com>
3322 * lang.c (flag_new_verifier): Define.
3323 (java_post_options): Set flag_new_verifier if indirect dispatch
3325 * lang.opt (fnew-verifier): Removed.
3327 2004-12-03 Tom Tromey <tromey@redhat.com>
3330 * Make-lang.in (java.install-common): Only install transformed
3331 gcjh if gcj-cross exists.
3333 2004-12-03 Andrew Haley <aph@redhat.com>
3336 * except.c (link_handler): Patch 'outer' field of siblings of the
3337 range we're demoting.
3339 2004-12-03 Andrew Haley <aph@redhat.com>
3342 * class.c (layout_class_method): Don't fail to override a method
3343 simply because it has DECL_ARTIFICIAL set.
3345 2004-12-02 Tom Tromey <tromey@redhat.com>
3348 * parse.y (craft_constructor): Special case null_pointer_node.
3350 2004-12-02 Tom Tromey <tromey@redhat.com>
3353 * java-gimplify.c (java_gimplify_expr): Don't call
3354 SET_EXPR_LOCATION unless wrapped tree is an expression.
3356 2004-11-27 Per Bothner <per@bothner.com>
3358 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
3359 Fix fencepost error in 'i', which got executed one too many times.
3360 Also, fold memcpy into explicit loop, as originally intended.
3361 Also, free temporary 'buf' which otherwise leaks.
3363 2004-11-27 Per Bothner <per@bothner.com>
3365 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
3366 local static variables if not USE_MAPPED_LOCATION.
3368 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
3370 * class.c, decl.c, expr.c: Fix comment typos.
3372 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
3375 * decl.c (end_java_method): Call
3376 attach_init_test_initialization_flags on all the init_decls.
3377 * parse.y (attach_init_test_initialization_flags): Move to ...
3378 * expr.c (attach_init_test_initialization_flags): here and
3379 support BIND_EXPR also.
3380 * java-tree.h (attach_init_test_initialization_flags): Prototype.
3381 * jcf-parse.c (parse_class_file): Don't disable class init
3384 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
3386 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
3389 2004-11-24 Richard Henderson <rth@redhat.com>
3391 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
3392 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
3394 2004-11-24 Tom Tromey <tromey@redhat.com>
3396 * verify.c (defer_merging): Don't use C++-style comment.
3397 * verify.h (java_opcode): Added java_opcode_end.
3398 * class.c (build_class_ref): Remove C++ comment and old FIXME.
3400 * verify-impl.c (vfy_push_type): Removed bogus "return".
3401 (initialize_stack): Use vfy_alloc and vfy_free.
3402 (verify_instructions_0): Likewise.
3404 * Merged gcj-abi-2-dev-branch to trunk.
3406 2004-11-24 Andrew Haley <aph@redhat.com>
3408 * jcf-parse.c (parse_class_file): Set file_start_location.
3410 2004-11-10 Tom Tromey <tromey@redhat.com>
3412 * class.c (make_field_value): Don't call build_static_field_ref.
3413 (build_static_field_ref): Don't emit direct references when using
3416 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3417 -verbose:class into man page synopsis.
3419 2004-11-09 Tom Tromey <tromey@redhat.com>
3421 * expr.c (build_java_arraystore_check): Still generate check if
3422 element type is itself an array.
3424 2004-11-08 Tom Tromey <tromey@redhat.com>
3426 * java-tree.h (soft_check_assignment_node): Removed.
3427 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3428 * decl.c (java_init_decl_processing): Don't initialize
3429 soft_check_assignment_node.
3431 2004-11-05 Tom Tromey <tromey@redhat.com>
3433 * class.c (layout_class_methods): Don't add Miranda methods when
3434 using indirect dispatch.
3436 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3438 * class.c (make_class_data): Call emit_assertion_table to set the
3439 'assertion_table' field.
3440 (build_signature_for_libgcj): Move here from expr.c.
3441 (add_assertion_table_entry): New function. Callback for assertion
3442 hashtable traversal.
3443 (emit_assertion_table): New. Take class argument, and generate
3444 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3445 * decl.c (init_decl_processing): Define assertion_entry_type record.
3446 Push 'assertion_table' class field instead of 'verify'.
3447 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3448 (type_assertion_hash): Include 'assertion_code' in hash.
3449 (add_type_assertion): Rewritten. Take class and assertion_code
3450 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3451 (can_widen_reference_to): Use new add_type_assertion() arguments.
3452 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3453 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3454 (verify_identifier_node): Removed.
3455 (assertion_entry_type, assertion_table_type): New.
3456 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3457 assertion code definitions.
3458 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3459 'target_type' to 'op1' and 'op2'.
3460 (add_type_assertion): Declare.
3461 (lang_printable_name_wls): Remove unused definition.
3462 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3463 to emit runtime assertion.
3464 (vfy_note_stack_type): Clean up non-C90 declarations.
3465 (vfy_note_local_type): Likewise.
3466 * verify.h (vfy_is_assignable_from): Declare.
3467 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3468 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3469 instead of is_assignable_from_slow().
3470 (types_compatible): Reinstate ref_compatible() call.
3472 2004-11-04 Tom Tromey <tromey@redhat.com>