1 2008-04-01 Joseph Myers <joseph@codesourcery.com>
3 * gcj.texi: Include gpl_v3.texi instead of gpl.texi
4 * Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
7 2008-03-27 Tom Tromey <tromey@redhat.com>
9 * Make-lang.in: Revert automatic dependency patch.
11 2008-03-25 Tom Tromey <tromey@redhat.com>
13 * Make-lang.in: Removed most explicit .o targets.
14 (java/jvspec.o): Reduce to variable setting. Moved to java/.
15 ($(GCJ)$(exeext)): Update.
16 (JAVA_OBJS): New variable.
17 (JCFDUMP_OBJS): Reformat.
18 (java_OBJS): New variable.
19 (java/jvspec.o-warn): Update.
20 (java/parse.o-warn): Remove.
21 (JAVA_TREE_H): Remove.
22 (java/jcf-io.o): Reduce to variable setting.
23 (ALL_CPPFLAGS): Likewise.
25 2008-03-12 Paolo Bonzini <bonzini@gnu.org>
27 * mangle.c (java_mangle_decl): Remove dead check.
29 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
31 * jcf-parse.c (java_parse_file): Assert binding levels are
33 * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
36 2008-03-02 Jakub Jelinek <jakub@redhat.com>
38 * jcf-dump.c (version): Update copyright notice dates.
40 2008-02-29 Tom Tromey <tromey@redhat.com>
42 * expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
44 * java-tree.h (struct lang_decl_func): Remove obsolete comment.
46 2008-02-26 Tom Tromey <tromey@redhat.com>
48 * lang.c (java_post_options): Remove conditional.
49 * expr.c (expand_byte_code): Remove old location code.
50 * jcf-parse.c (set_source_filename): Remove old location code.
51 (give_name_to_class): Likewise.
52 (jcf_parse): Likewise.
53 (duplicate_class_warning): Likewise.
54 (parse_class_file): Likewise.
55 (java_parse_file): Likewise.
56 * decl.c (finish_method): Remove old location code.
57 * class.c (push_class): Remove old location code.
59 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
62 * Make-lang.in (jc1): Add $(GMPLIBS).
64 2008-01-23 David Daney <ddaney@avtrex.com>
66 * class.c (hide) Rename to...
67 (java_hide_decl) ... this throughout, and make public.
68 * resource.c (Jr_count): Remove.
69 (compile_resource_data): Call java_mangle_resource_name to generate
70 decl name. Make resource decl public and hidden.
71 * mangle.c (java_mangle_resource_name): New function.
72 * java-tree.h (java_hide_decl, java_mangle_resource_name): Declare
75 2008-01-04 Andrew Haley <aph@redhat.com>
78 * jcf-parse.c (parse_zip_file_entries): Move decl to compile on
81 2008-01-03 Andrew Haley <aph@redhat.com>
84 * jcf-parse.c (parse_zip_file_entries): Unset TYPE_ALIAS_SET if
85 we're about to re-layout the type.
87 2007-12-20 Alexandre Oliva <aoliva@redhat.com>
89 * lang.c (java_classify_record): Don't return
90 RECORD_IS_INTERFACE for now.
92 2007-12-18 Andrew Haley <aph@redhat.com>
95 * jcf-parse.c (java_parse_file): Remove call to
96 java_mark_class_local.
97 (parse_class_file): Reinstate call to java_mark_class_local here.
98 * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
99 already set, call java_mangle_decl() and make_decl_rtl() to
100 rewrite its name as a hidden alias.
102 2007-12-15 Alexandre Oliva <aoliva@redhat.com>
105 * lang.c (java_classify_record): New.
106 (LANG_HOOKS_CLASSIFY_RECORD): Override.
108 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
111 * decl.c (finish_method): Pass 'false' for the new
112 allocate_struct_function parameter.
114 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
116 * expr.c (build_jni_stub): Use the computed jni func type for
119 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
121 * class.c (JAVA_TREEHASHHASH_H): Use TYPE_UID.
123 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
125 * expr.c (type_assertion_hash): Hash type uids rather than
128 2007-11-17 David Daney <ddaney@avtrex.com>
129 Andrew Haley <aph@redhat.com>
131 * constants.c (build_constants_constructor): Use POINTER_SIZE
132 insead of BITS_PER_WORD in big-endian work around.
134 2007-11-07 Tom Tromey <tromey@redhat.com>
137 * gcj.texi (Input Options): Add missing noun.
139 2007-11-02 Tom Tromey <tromey@redhat.com>
142 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
143 * zipfile.h (ZIPEMPTYMAGIC): New define.
145 2007-11-01 Tom Tromey <tromey@redhat.com>
147 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
148 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
149 (java/jcf-io.o): Depend on zipfile.h.
151 2007-10-17 Richard Guenther <rguenther@suse.de>
153 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
156 2007-10-03 Andrew Haley <aph@redhat.com>
159 * class.c (mangled_classname): Detect and replace illegal
160 characters in assembly language symbols.
161 (gen_indirect_dispatch_tables): Call mangled_classname() on
164 2007-09-27 Jakub Jelinek <jakub@redhat.com>
166 * lang.c (java_print_error_function): Add third argument.
168 2007-09-15 Tom Tromey <tromey@redhat.com>
170 * java-tree.h (struct lang_decl_func) <function_decl_body>:
172 <init_final>: Likewise.
173 * lang.c (java_dump_tree): Update.
174 * java-tree.h (DECL_FUNCTION_BODY): Remove.
176 2007-09-11 Jan Hubicka <jh@suse.cz>
178 * decl.c (java_expand_body): Kill.
179 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
181 2007-09-06 Tom Tromey <tromey@redhat.com>
183 * jcf-parse.c (parse_class_file): Re-enter the current file.
185 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
187 * boehm.c (mark_reference_fields): Move misaligned pointer check
188 after JREFERENCE_TYPE_P test
190 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
192 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
193 if pointer is misaligned.
195 2007-09-06 Tom Tromey <tromey@redhat.com>
197 * lang.c (java_post_options): Update.
198 * jcf-parse.c (set_source_filename): Update.
199 (give_name_to_class): Update.
201 (duplicate_class_warning): Update.
202 (parse_class_file): Update.
203 (java_parse_file): Update.
204 * expr.c (expand_byte_code): Update.
206 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
208 * decl.c (finish_method): Use set_cfun.
210 2007-09-04 Andrew Haley <aph@redhat.com>
212 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
213 when using the ARM EABI.
215 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
217 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
219 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
221 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
223 * jcf.h (JCF_FINISH): Likewise.
225 2007-08-28 Tom Tromey <tromey@redhat.com>
227 * Make-lang.in (java.tags): Don't tag '*.y' files.
229 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
231 * lang.c (java_decl_ok_for_sibcall): Likewise.
233 2007-08-21 Paul Brook <paul@codesourcery.com>
234 Nathan Sidwell <nathan@codesourcery.com>
235 Mark Mitchell <mark@codesourcery.com>
236 Joseph Myers <joseph@codesourcery.com>
238 * jcf-dump.c (version): Use pkgversion_string. Update copyright
241 2007-08-20 Richard Guenther <rguenther@suse.de>
243 * lang.c (java_tree_inlining_walk_subtrees): Remove.
244 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
246 2007-08-17 Tom Tromey <tromey@redhat.com>
248 * typeck.c (find_method_in_interfaces): Update.
249 * jcf-parse.c (load_class): Update.
250 * java-gimplify.c (java_gimplify_component_ref): Removed.
251 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
253 (java_gimplify_expr): Update.
254 * decl.c (java_init_decl_processing): Update.
255 * class.c (set_constant_value): Update.
256 (make_class_data): Update.
257 (finish_class): Update.
258 (build_static_field_ref): Update.
259 (is_compiled_class): Update.
260 (maybe_layout_super_class): Update.
261 (layout_class): Update.
262 (layout_class_method): Update.
263 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
264 (lang_decl_var) <am, final_iud, cif>: Removed fields.
265 (lang_decl_func) <init_calls_this>: Removed field.
266 (lang_type) <dot_class, verify_method>: Removed fields.
267 (FIELD_NESTED_ACCESS): Removed.
268 (FIELD_NESTED_ACCESS_P): Removed.
269 (DECL_FIELD_FINAL_IUD): Removed.
270 (DECL_LOCAL_FINAL_IUD): Removed
271 (LOCAL_FINAL_P): Removed.
272 (FINAL_VARIABLE_P): Removed.
273 (CLASS_FINAL_VARIABLE_P): Removed.
274 (DECL_BIT_INDEX): Removed.
275 (DECL_INIT_CALLS_THIS): Removed.
276 (FIELD_LOCAL_ALIAS): Removed.
277 (FIELD_LOCAL_ALIAS_USED): Removed.
278 (FIELD_THISN): Removed.
279 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
280 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
281 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
282 (TYPE_DOT_CLASS): Removed.
283 (TYPE_VERIFY_METHOD): Removed.
284 (ID_CLASSDOLLAR_P): Removed.
285 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
287 (classdollar_identifier_node): Removed.
288 (TYPE_UNKNOWN): Removed.
289 (CLASS_FROM_SOURCE_P): Removed.
290 * expr.c (build_jni_stub): Update.
291 (force_evaluation_order): Update.
292 (build_java_empty_stmt): Update.
293 (build_class_init): Update.
294 (java_stack_swap): Update.
295 (build_jni_stub): Update.
297 2007-08-17 Tom Tromey <tromey@redhat.com>
299 * java-tree.h (LABEL_TYPE_STATE): Removed.
300 (load_type_state): Removed.
302 (LABEL_VERIFIED): Removed.
303 (type_states): Declare.
304 * expr.c (type_states): New global.
305 (load_type_state): Now static. Use type_states. Changed
307 (lookup_label): Don't set LABEL_PC.
308 (expand_byte_code): Don't use LABEL_VERIFIED.
309 (note_instructions): Initialize type_states.
310 * verify-glue.c (vfy_note_stack_depth): Rewrote.
311 (vfy_note_stack_type): Use type_states.
312 (vfy_note_local_type): Likewise.
314 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
316 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
317 * jcf.h (JCF_FINISH): Likewise.
319 2007-07-31 Nick Clifton <nickc@redhat.com>
321 * java-gimplify.c: Change copyright header to refer to version 3
322 of the GNU General Public License and to point readers at the
323 COPYING3 file and the FSF's license web page.
324 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
325 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
326 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
327 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
328 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
329 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
330 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
332 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
334 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
336 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
338 * lang.c (java_get_callee_fndecl): Constify.
340 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
342 * mangle.c (set_type_package_list): Constify.
343 * verify-glue.c (vfy_make_string): Delete.
344 * verify.h (vfy_make_string): Likewise.
346 2007-07-26 Tom Tromey <tromey@redhat.com>
348 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
349 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
350 EXIT_BLOCK_LABELED_BLOCK): Likewise.
351 * lang.c (java_tree_inlining_walk_subtrees): Update.
352 (java_dump_tree): Likewise.
353 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
355 * decl.c (push_labeled_block, pop_labeled_block): Remove.
356 * java-gimplify.c (java_gimplify_labeled_block_expr,
357 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
358 (java_gimplify_expr): Update.
360 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
362 * class.c (java_treetreehash_hash, java_treetreehash_compare):
364 * expr.c (type_assertion_eq): Likewise.
365 * jcf-io.c (compare_path): Likewise.
366 * jcf-parse.c (cmpstringp): Likewise.
367 * verify-impl.c (get_one_type, compute_argument_types,
368 compute_return_type): Likewise.
370 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
374 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
376 2007-07-12 Richard Guenther <rguenther@suse.de>
378 * expr.c (expand_java_return): RETURN_EXPR has void type.
379 (build_jni_stub): Likewise. Use a comparison against zero
380 for null-pointer test in COND_EXPR.
381 (build_field_ref): Build POINTER_PLUS_EXPR with correct
382 type. Convert result instead.
383 (build_invokevirtual): Likewise.
385 2007-07-09 Geoffrey Keating <geoffk@apple.com>
388 * lang.c (java_init): Remove setting of force_align_functions_log.
389 * class.c (add_method_1): Set DECL_ALIGN of non-static method
390 to cope with ptrmemfunc_vbit_in_pfn.
392 2007-07-03 David Daney <ddaney@avtrex.com>
394 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
398 (java/index.html): Same.
400 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
402 * class.c (make_class_data): Build the index in sizetype.
403 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
404 adding to a pointer type.
405 (build_symbol_entry): Likewise.
406 * expr.c (build_java_arrayaccess): Likewise.
407 (build_field_ref): Likewise.
408 (build_known_method_ref): Likewise.
409 (build_invokevirtual): Likewise.
410 * except.c (build_exception_object_ref): Do a
411 NEGATIVE and then a POINTER_PLUS_EXPR instead
414 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
416 * typeck.c (java_signed_type): Remove.
417 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
418 * java-tree.h (java_signed_type): Remove.
420 2007-05-18 Geoffrey Keating <geoffk@apple.com>
422 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
423 (print_constant): Likewise.
425 2007-05-14 Rafael Avila de Espindola <espindola@google.com>
427 * expr.c (build_java_binop): Use unsigned_type_for instead of
429 * java-tree.h (java_unsigned_type): Remove.
430 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
431 * typeck.c (java_unsigned_type): Remove.
433 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
435 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
436 instead of checking GIMPLE_STMT_P in chain_next.
438 2007-04-06 Colin Walters <walters@redhat.com>
440 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
441 * jcf-io.c (open_class): Copy 'filename'.
443 2007-04-03 Andrew Haley <aph@redhat.com>
445 * jvgenmain.c (main): Change main to use class$, not class$$.
446 (do_mangle_classname): Likewise.
447 * class.c (hide): New function.
448 (add_field): Hide everything that shouldn't be visible outside a
450 (build_static_class_ref): Likewise.
451 (build_classdollar_field): Likewise.
452 (make_class_data): Likewise.
453 (layout_class_method): Likewise.
454 * expr.c (special_method_p): New function.
456 * class.c (push_class): Don't bogusly guess the source filename.
457 * jcf-parse.c (give_name_to_class): Don't set input_location from
458 DECL_ARTIFICIAL decls.
460 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
462 * typeck.c (java_signed_or_unsigned_type): Removed.
463 (java_signed_type): use get_signed_or_unsigned_type instead of
464 java_signed_or_unsigned_type.
465 (java_unsigned_type): Ditto.
466 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
467 * java-tree.h (java_signed_or_unsigned_type): Removed.
469 2007-03-26 Tom Tromey <tromey@redhat.com>
471 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
472 (java.maintainer-clean): Likewise.
473 (java.install-man): Likewise.
474 (.INTERMEDIATE): Removed grmiregistry.pod.
475 (grmiregistry.pod): Removed.
476 * gcj.texi (Invoking gcjh): Removed.
477 (Invoking gjnih): Likewise.
478 (Invoking grmiregistry): Likewise.
481 (which-gcj): Removed.
483 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
485 * Make-lang.in: Add install-pdf target as copied from
486 automake v1.10 rules.
488 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
490 * gcj.texi: Standardize title page.
492 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
494 * class.c: Fix a comment typo.
496 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
497 Brooks Moses <brooks.moses@codesourcery.com>
498 Lee Millward <lee.millward@codesourcery.com>
500 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
502 (BUILD_MONITOR_EXIT): Likewise.
504 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
505 (java_gimplify_modify_expr): Likewise.
507 * class.c (cache_this_class_ref): Use build_call_expr.
508 (build_static_field_ref): Likewise.
509 (emit_indirect_register_classes): Likewise.
510 (emit_register_classes): Likewise.
512 * resource.c (write_resource_constructor): Use build_call_expr.
514 * builtins.c (builtin_creator_function): Change interpretation of
515 the second parameter to be the whole CALL_EXPR instead of the arglist.
516 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
517 (min_builtin): Likewise.
518 (abs_builtin): Likewise.
519 (java_build_function_call_expr): Likewise.
520 (convert_real): Likewise.
521 (UNMARSHAL3): Likewise.
522 (UNMARSHAL4): Likewise.
523 (UNMARSHAL5): Likewise.
524 (build_arglist_for_builtin): Delete. Fix callers to use
525 build_call_expr instead.
526 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
528 (compareAndSwapInt_builtin): Likewise.
529 (compareAndSwapLong_builtin): Likewise.
530 (compareAndSwapObject_builtin): Likewise.
531 (putVolatile_builtin): Likewise.
532 (getVolatile_builtin): Likewise.
533 (VMSupportsCS8_builtin): Likewise.
534 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
537 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
538 (build_java_throw_out_of_bounds_exception): Likewise.
539 (java_check_reference): Likewise.
540 (build_java_arraystore_check): Likewise.
541 (build_newarray): Likewise.
542 (build_anewarray): Likewise.
543 (expand_java_multinewarray): Use build_call_list instead of build3.
544 (build_java_monitor): Use build_call_nary instead of build3.
545 (java_create_object): Likewise.
546 (expand_java_NEW): Likewise.
547 (build_instanceof): Likewise.
548 (expand_java_CHECKCAST): Likewise.
549 (build_java_soft_divmod): Likewise.
550 (build_java_binop): Likewise.
551 (build_field_ref): Likewise.
552 (build_class_init): Likewise.
553 (rewrite_arglist_getcaller): Use build_call_expr.
554 (build_invokeinterface): Use build_call_nary instead of build3.
555 (expand_invoke): Use build_call_list instead of build3.
556 (build_jni_stub): Use build_call_nary, build_call_list, or
557 build_call_expr instead of build3.
558 (expand_java_field_op): Use build_call_expr instead of build3.
559 (force_evaluation_order): Use new CALL_EXPR accessors.
561 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
563 2007-02-15 David Daney <ddaney@avtrex.com>
565 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
566 (java.maintainer-clean):Add gc-analyze.1.
567 (.INTERMEDIATE): Add gc-analyze.pod.
568 (gc-analyze.pod): New rule.
569 (java.install-man): Install gc-analyze.1
570 * gcj.texi: Add new section for the gc-analyze program.
572 2007-02-07 Andrew Haley <aph@redhat.com>
574 * class.c (uncache_this_class_ref): New.
575 * expr.c (build_jni_stub): Initialize the class.
576 (expand_byte_code): Call uncache_this_class_ref after generating
579 2007-02-06 Tom Tromey <tromey@redhat.com>
582 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
584 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
586 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
588 2007-02-02 Andrew Haley <aph@redhat.com>
590 * expr.c (expand_byte_code): Call cache_this_class_ref() and
591 cache_cpool_data_ref().
592 Set TYPE_CPOOL_DATA_REF.
593 (cache_cpool_data_ref): New function.
594 * constants.c (build_ref_from_constant_pool): Remove special-case
595 code for flag_indirect_classes.
596 (build_constant_data_ref): Move special-case code for
597 flag_indirect_classes here from build_ref_from_constant_pool.
598 * decl.c (finish_method): Move class initialization from here to
599 cache_this_class_ref.
600 * class.c (cache_this_class_ref): New function.
601 (build_class_ref): Use this_classdollar for the ouput class.
603 2007-02-02 David Daney <ddaney@avtrex.com>
605 * class.c (is_compiled_class): Move check to avoid reloading
607 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
610 2007-02-01 Andrew Haley <aph@redhat.com>
613 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
615 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
617 * class.c, jcf-parse.c: Fix comment typos.
619 2007-01-30 Tom Tromey <tromey@redhat.com>
621 * gcj.texi (Strings): Fix documentation for JvNewString.
623 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
625 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
628 2007-01-30 Ben Elliston <bje@au.ibm.com>
630 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
632 2007-01-29 Tom Tromey <tromey@redhat.com>
635 * jvspec.c (lang_specific_driver): Handle separate -I argument.
636 * lang.opt (-I): Add 'Separate'.
638 2007-01-29 Andrew Haley <aph@redhat.com>
640 * class.c (add_method_1): Mark fndecl as external unless we are
641 compiling it into this object file.
643 2007-01-24 Andrew Haley <aph@redhat.com>
645 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
646 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
648 2007-01-22 Andrew Haley <aph@redhat.com>
650 * builtins.c (VMSupportsCS8_builtin): New function.
652 2007-01-23 Andrew Pinski <pinskia@gmail.com>
655 * jcf-io.c (opendir_in_zip): Close the file
656 and free zipf before returning after an error.
658 2007-01-16 Tom Tromey <tromey@redhat.com>
660 * java-tree.def: Added copyright header.
662 2007-01-15 Tom Tromey <tromey@redhat.com>
664 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
666 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
668 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
669 (EXPR_WFL_NODE): Likewise.
670 (EXPR_WFL_LINECOL): Likewise.
671 (EXPR_WFL_FILENAME): Likewise.
672 (EXPR_WFL_LINENO): Likewise.
673 (build_expr_wfl, expr_add_location): Don't declare.
674 (build_unknown_wfl): Removed.
675 (EXPR_WFL_FILENAME_NODE): Removed.
676 (EXPR_WFL_COLNO): Removed.
677 (EXPR_WFL_SET_LINECOL): Removed.
678 (DECL_FUNCTION_WFL): Removed.
679 (DECL_FIELD_FINAL_WFL): Removed.
680 (struct lang_decl_func) <wfl>: Removed field.
681 <called_constructor>: Likewise.
682 <inner_access>: Likewise.
683 (struct lang_decl_var) <wfl>: Removed field.
684 (DECL_CONSTRUCTOR_CALLS): Removed.
685 (DECL_FUNCTION_ACCESS_DECL): Likewise.
686 (DECL_FUNCTION_INNER_ACCESS): Likewise.
687 (DECL_SPECIFIC_COUNT): Likewise.
688 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
689 * expr.c (build_expr_wfl): Removed.
690 (expr_add_location): Likewise.
692 2007-01-12 Tom Tromey <tromey@redhat.com>
694 * jcf-dump.c (main): Updated call to find_class.
695 * lang.c (java_init): Removed dead code.
696 * jcf-parse.c (read_class): Don't use java_source field. Removed
698 (parse_zip_file_entries): Don't use java_source field.
699 (process_zip_dir): Likewise.
700 (jcf_parse): Removed dead code.
701 (java_parse_file): Likewise.
702 (read_class): Updated call to find_class.
703 * jcf-io.c (find_class): Don't use java_source field. Removed
704 'source_ok' argument, .java logic.
705 * jcf.h (JCF) <java_source>: Removed field.
706 (JCF_ZERO): Updated. (find_class): Updated.
707 * decl.c: Removed dead code.
708 * class.c: Removed dead code.
710 2007-01-11 Tom Tromey <tromey@redhat.com>
712 * typeck.c (convert): Don't use flag_emit_class_files.
713 * lang.c (java_post_options): Don't use flag_emit_class_files.
714 (java_handle_option): Don't use flag_extraneous_semicolon or
716 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
717 flag_emit_class_files.
718 (load_class): Likewise.
719 * java-tree.h (flag_emit_class_files): Don't declare.
720 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
721 (flag_extraneous_semicolon): Don't declare.
722 (flag_not_overriding): Likewise.
723 (flag_static_local_jdk1_1): Likewise.
724 (flag_redundant): Likewise.
725 * expr.c (build_newarray): Don't use flag_emit_class_files.
726 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
727 flag_emit_class_files.
728 (build_class_ref): Likewise.
729 * builtins.c (check_for_builtin): Don't use
730 flag_emit_class_files.
732 2007-01-10 Tom Tromey <tromey@redhat.com>
734 * lang.c (java_can_use_bit_fields_p): Removed.
735 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
737 2007-01-09 Andrew Haley <aph@redhat.com>
739 * expr.c (build_java_arrayaccess): Rewrite to generate array
740 access in canonical form.
741 (expand_java_arraystore): Use build_fold_addr_expr() on address of
744 2007-01-03 Andrew Haley <aph@redhat.com>
747 * expr.c (expand_java_field_op): If we're initializing a field's
748 declaring interface we should not also initialize the class
749 context in which it was referenced.
751 2007-01-02 Tom Tromey <tromey@redhat.com>
753 * java-tree.h (compiling_from_source, current_encoding,
754 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
755 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
756 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
757 JTI_WFL_OPERATOR): Removed
758 (finit_identifier_node, instinit_identifier_node,
759 length_identifier_node, super_identifier_node,
760 continue_identifier_node, access0_identifier_node, wfl_operator):
762 (cyclic_inheritance_report,
763 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
764 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
765 DECL_FIXED_CONSTRUCTOR_P): Removed.
766 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
768 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
769 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
770 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
771 import_list, import_demand_list>: Removed.
772 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
773 cxx_keyword_p): Removed.
774 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
775 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
776 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
777 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
778 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
779 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
780 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
781 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
782 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
783 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
784 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
785 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
786 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
787 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
788 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
789 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
790 java_parse_abort_on_error, extract_field_decl): Removed.
792 * lang.c: (compiling_from_source, current_encoding): Removed.
793 (java_handle_option): Ignore -fencoding.
794 * parse.h: Don't include lex.h.
795 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
796 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
797 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
798 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
799 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
800 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
801 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
802 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
803 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
804 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
805 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
806 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
807 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
808 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
809 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
810 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
811 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
812 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
813 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
814 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
815 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
816 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
817 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
818 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
819 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
820 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
821 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
822 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
823 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
824 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
825 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
826 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
827 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
828 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
829 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
830 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
831 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
832 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
833 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
834 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
835 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
836 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
837 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
838 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
839 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
840 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
841 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
842 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
843 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
844 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
845 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
846 SET_CPC_STATIC_INITIALIZER_STMT,
847 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
848 java_complete_class, java_check_circular_reference,
849 java_fix_constructors, java_layout_classes, java_reorder_fields,
850 java_method_add_stmt, java_get_line_col, reset_report,
851 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
852 java_finish_classes, ctxp, ctxp_for_generation,
853 ctxp_for_generation_last): Removed.
854 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
855 * mangle.c (utf8_cmp): New function.
856 (cxx_keywords): New global.
857 (cxx_keyword_p): New function.
858 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
859 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
860 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
861 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
862 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
863 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
864 * Make-lang.in (java.srcextra): Do nothing.
865 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
866 (JAVA_OBJS): Don't mention deleted files.
867 (java.mostlyclean): Likewise.
868 (java.clean): Likewise.
869 (JAVA_LEX_C): Removed.
870 (buffer.o, check-init.o, parse.o): Remove unused targets.
872 * jcf-parse.c (read_class): Comment out unused code.
873 (java_layout_seen_class_methods): New function.
874 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
876 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
877 (init_jcf_parse): Removed.
878 * config-lang.in (gtfiles): Remove deleted files.
879 * decl.c (java_init_decl_processing): Don't initialize
880 finit_identifier_node, instinit_identifier_node,
881 length_identifier_node, super_identifier_node,
882 continue_identifier_node, access0_identifier_node. Don't call
884 * class.c (cyclic_inheritance_report): New global.
885 (add_method_1): Don't use
886 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
887 (maybe_layout_super_class): Comment out code.
888 (safe_layout_class): New function.
889 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
890 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
891 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
892 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
893 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
894 (java_gimplify_case_expr): Removed.
895 (java_gimplify_default_expr): Likewise.
896 (java_gimplify_new_array_init): Likewise.
898 * keyword.gperf, keyword.h: Removed.
899 * chartables.h: Removed.
900 * check-init.c: Removed.
901 * buffer.c, buffer.h: Removed.
902 * convert.h: Removed.
903 * gen-table.pl: Removed.
904 * lex.c, lex.h: Removed.
906 2007-01-02 Andrew Haley <aph@redhat.com>
908 * expr.c (expand_java_arraystore): Make sure we perform a bounds
909 check at runtime before we perform a type check.
911 2006-12-19 Andrew Haley <aph@redhat.com>
913 * decl.c: Bump minor BC ABI version.
915 2006-12-13 Gary Benson <gbenson@redhat.com>
917 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
919 2006-12-12 Tom Tromey <tromey@redhat.com>
921 * lang-specs.h: Pass -M options to jc1.
922 * jcf-depend.c (jcf_dependency_add_file): Don't emit
925 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
927 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
929 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
931 * lang-specs.h: Pass '%U'-based options as separate arguments.
933 2006-12-05 Tom Tromey <tromey@redhat.com>
936 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
938 * class.c (add_field): Handle ACC_SYNTHETIC.
939 (add_method_1): Likewise. Handle bridge and varargs.
940 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
942 (set_class_decl_access_flags): Handle synthetic and annotation.
943 * java-tree.h (METHOD_BRIDGE): New macro.
944 (METHOD_VARARGS): Likewise.
945 (TYPE_SYNTHETIC): Likewise.
946 (TYPE_ANNOTATION): Likewise.
947 (lang_type): New fields 'synthetic' and 'annotation'.
948 (lang_decl_func): New fields 'varargs' and 'bridge'.
950 2006-12-04 Andrew Haley <aph@redhat.com>
952 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
955 2006-11-29 Gary Benson <gbenson@redhat.com>
957 * expr.c (rewrite_arglist_getcaller): Reorder.
959 2006-11-29 Andrew Haley <aph@redhat.com>
961 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
962 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
964 2006-11-23 Andrew Haley <aph@redhat.com>
966 * expr.c (rewrite_arglist_getcaller): New.
967 (rewrite_arglist_getclass): Fix indentation.
968 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
969 gnu.classpath.VMStackWalker.getCallingClassLoader().
970 * builtins.c (initialize_builtins): Remove duplicate def'n of
972 Add __builtin_return_address.
974 2006-11-22 Andrew Haley <aph@redhat.com>
976 * jcf-reader.c (get_attribute): Mark attr_type unused.
978 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
980 2007-01-08 Richard Guenther <rguenther@suse.de>
982 * lex.c (do_java_lex): Use build_int_cst_wide_type.
983 * jcf-parse.c (get_constant): Likewise.
985 2006-11-12 Jan Hubicka <jh@suse.cz>
987 * resource.c (compile_resource_data): Update for new varpool names.
988 * java/class.c (build_utf8_ref): Likewise.
990 2006-11-12 David Daney <ddaney@avtrex.com>
993 * typeck.c (build_java_array_type): Increase buffer sizes.
995 2006-11-11 Richard Guenther <rguenther@suse.de>
997 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
998 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
1000 2006-11-06 Andrew Haley <aph@redhat.com>
1002 * java-tree.h (CONSTANT_LazyFlag): New.
1003 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
1004 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
1006 (handle_constant): Return 0 for dummy cpool entries.
1007 Handle constants of kind Class.
1008 Handle constants of kind NameAndType.
1009 (handle_enclosingmethod_attribute): New.
1010 (handle_signature_attribute): New.
1011 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
1012 (HANDLE_SIGNATURE_ATTRIBUTE): New.
1013 (handle_constant): Use unmangle_classname()rather than calling
1014 identifier_subst() directly.
1016 2006-11-02 Andrew Haley <aph@redhat.com>
1018 * java-tree.h (FIELD_ENUM): New.
1019 (lang_decl_var.field_enum): New.
1020 (lang_type.enum_class): New.
1022 * class.c (set_class_decl_access_flags): Handle enum types.
1023 (add_field): Handle enum fields.
1024 (get_access_flags_from_decl): Likewise.
1026 * class.c (make_class_data): Put reflection_data into rodata.
1028 2006-11-01 Andrew Haley <aph@redhat.com>
1030 * jcf-parse.c (field_offsets, bit_obstack): New variables.
1031 (jcf_parse): Write end marker to annotation_data.
1032 (java_parse_file): Create field_offsets bitmap. Destroy it.
1033 (annotation_grow, annotation_rewrite_byte)
1034 (annotation_rewrite_short, annotation_rewrite_int)
1035 (annotation_read_short, annotation_write_byte)
1036 (annotation_write_short, annotation_write_int)
1037 (handle_long_constant, handle_constant, handle_element_value)
1038 (handle_annotation, handle_annotations)
1039 (handle_annotation_attribute, rewrite_reflection_indexes)
1040 (handle_member_annotations, handle_parameter_annotations)
1041 (handle_default_annotation): New functions.
1042 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
1043 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
1044 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1045 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1046 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
1047 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
1048 (TYPE_REFLECTION_DATA): New.
1049 (TYPE_REFLECTION_DATASIZE): New.
1050 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
1052 * jcf-reader.c (get_attribute): Pass field/method index and
1053 attribute type to get_attribute().
1054 * constants.c (find_class_or_string_constant): Make nonstatic.
1055 (cpool_for_class): Likewise.
1056 (build_constants_constructor): Separate string and scalar types.
1057 * class.c (make_class_data): Generate field_indexes permutation.
1058 Pass it to rewrite_reflection_indexes().
1059 (make_class_data): Generate constructor for reflection_data field.
1061 2006-10-20 Tom Tromey <tromey@redhat.com>
1063 * gcj.texi (Top): Don't mention jv-scan.
1064 (Invoking gcj): Likewise.
1065 (Invoking gcjh): Likewise.
1066 (Invoking gjnih): Likewise.
1067 (Invoking gij): Likewise.
1068 (Invoking gcj-dbtool): Likewise.
1069 (Invoking jv-scan): Removed.
1070 * parse-scan.y: Removed.
1071 * jv-scan.c: Removed.
1072 * config-lang.in (stagestuff): Don't mention jv-scan.
1073 * Make-lang.in (java): Removed jv-scan.
1074 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1075 (JVSCAN_OBJS): Removed.
1076 (jv-scan$(exeext)): Likewise.
1077 (JAVA_MANFILES): Removed jv-scan.1.
1078 (java.uninstall): Don't mention jv-scan.
1079 (java.mostlyclean): Likewise.
1080 (java.maintainer-clean): Likewise.
1081 (.INTERMEDIATE): Likewise.
1082 (java/jv-scan.o): Removed.
1083 (jv-scan.pod): Likewise.
1084 (java.srcextra): Don't mention parse-scan.c.
1085 (java.mostlyclean): Likewise.
1086 (java/parse-scan.c): Removed.
1087 (java/parse-scan.o-warn): Removed.
1088 (java/parse-scan.o): Removed.
1090 2006-10-20 Tom Tromey <tromey@redhat.com>
1092 * lang.c (java_handle_option): Don't use
1093 jcf_write_base_directory.
1094 * jcf.h (jcf_write_base_directory): Removed.
1095 * parse.y (java_expand_classes): Don't call write_classfile.
1096 * config-lang.in (gtfiles): Removed jcf-write.c.
1097 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
1098 (java/jcf-write.o): Removed.
1099 * jcf-parse.c (parse_class_file): Don't call write_classfile.
1100 * java-tree.h (write_classfile): Removed declaration.
1101 * jcf-write.c: Removed.
1103 2006-10-20 Tom Tromey <tromey@redhat.com>
1105 * Make-lang.in (java): Removed gjnih, gcjh.
1106 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1107 (GCJH_OBJS): Removed.
1108 (GJNIH_OBJS): Likewise.
1109 (gjnih$(exeext)): Likewise.
1110 (gcjh$(exeext)): Likewise.
1111 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
1112 (java.install-common): Don't special case gcjh.
1113 (java.uninstall): Don't mention gcjh, gjnih.
1114 (java.mostlyclean): Likewise.
1115 (java.maintainer-clean): Likewise.
1116 (.INTERMEDIATE): Likewise.
1117 (gcjh.pod): Removed.
1118 (gjnih.pod): Likewise.
1119 (GCJH_TARGET_INSTALL_NAME): Removed.
1120 (java/gjavah-jni.o): Removed.
1121 (java/gjavah.o): Likewise.
1122 * config-lang.in (stagestuff): Removed gjnih, gcjh.
1123 * gjavah.c: Removed.
1125 2006-10-17 Tom Tromey <tromey@redhat.com>
1127 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
1130 2006-10-17 Tom Tromey <tromey@redhat.com>
1132 * jvgenmain.c (main): Handle -findirect-dispatch.
1133 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1136 2006-10-06 Andrew Haley <aph@redhat.com>
1138 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1139 have a compare_and_swap builtin.
1140 (compareAndSwapLong_builtin): Likewise.
1141 (compareAndSwapObject_builtin): Likewise.
1143 2006-10-04 Andrew Haley <aph@redhat.com>
1145 * builtins.c (java_builtins): Add compareAndSwapInt,
1146 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1147 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1148 putObjectVolatile, getObjectVolatile, getIntVolatile,
1149 getLongVolatile, getLong.
1150 (UNMARSHAL3): New macro.
1151 (UNMARSHAL4): Likewise.
1152 (UNMARSHAL5): Likewise.
1153 (build_arglist_for_builtin): New function.
1154 (build_addr_sum, build_check_this): New functions.
1155 (putObject_builtin. compareAndSwapInt_builtin,
1156 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1157 putVolatile_builtin, getVolatile_builtin): New builtins.
1159 2006-06-08 Andrew Haley <aph@redhat.com>
1161 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1162 get_symbol_table_index().
1163 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1165 (build_known_method_ref): New arg: special. Pass it to
1166 get_symbol_table_index.
1167 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1169 (build_invokevirtual): New arg: special. Pass it to
1170 get_symbol_table_index.
1171 (expand_invoke): New variable: special.
1172 Pass it to maybe_rewrite_invocation().
1173 Pass it to build_known_method_ref().
1174 * class.c (build_symbol_entry): Add new arg: special. Use it to
1175 build the symbol table conbstructor.
1176 (emit_symbol_table): Extract SPECIAL from the method list and pass
1177 it to build_symbol_entry().
1178 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1179 special accordingly.
1181 2006-09-08 Andrew Haley <aph@redhat.com>
1183 * class.c (layout_class_method): Use build_java_signature, not
1184 build_java_argument_signature. Use lookup_java_method, not
1185 lookup_argument_method.
1187 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1188 Bryce McKinlay <bryce@mckinlay.net.nz>
1190 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1192 2006-07-18 Tom Tromey <tromey@redhat.com>
1194 * lang.opt: Added missing -W options.
1196 2006-07-12 Tom Tromey <tromey@redhat.com>
1199 * lang-specs.h: Pass '%U'-based options as separate arguments.
1200 Use -faux-classpath.
1201 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1202 * lang.opt (faux-classpath): New option.
1204 2006-07-07 Tom Tromey <tromey@redhat.com>
1206 * class.c (make_class_data): Set value for reflection_data field.
1207 * decl.c (java_init_decl_processing): Add reflection_data field.
1209 2006-07-07 Tom Tromey <tromey@redhat.com>
1211 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1213 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1215 2006-07-07 Andrew Haley <aph@redhat.com>
1217 * jcf-parse.c (set_source_filename): Don't check for
1218 CLASS_FROM_CURRENTLY_COMPILED_P.
1221 2006-07-07 Andrew Haley <aph@redhat.com>
1223 * java-tree.h (java_read_sourcefilenames): Declare.
1224 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1225 * lang.opt (fsource-filename): New opt.
1226 * lang-specs.h: Add -fsource-filename.
1227 * jcf-parse.c (num_files, filenames): New variables.
1228 (reverse, cmpstringp, java_read_sourcefilenames,
1229 find_sourcefile): New.
1230 (set_source_filename): Call find_sourcefile to find the real name
1233 2006-06-27 Tom Tromey <tromey@redhat.com>
1235 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1236 Signature, LocalVariableTypeTable, annotation attributes.
1237 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1238 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1239 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1240 (HANDLE_METHOD): Likewise.
1241 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1242 (print_annotation): New function.
1243 (print_element_value): Likewise.
1245 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1246 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1247 (print_parameter_annotations): New function.
1248 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1249 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1251 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1252 (print_annotations): New function.
1254 2006-06-23 Tom Tromey <tromey@redhat.com>
1256 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1257 emitting class files, always use 1.5.
1258 * gcj.texi (Input Options): Document -fsource.
1259 (Code Generation): Document -ftarget.
1261 2006-06-21 Tom Tromey <tromey@redhat.com>
1264 * expr.c (expand_java_field_op): Initialize field's declaring
1267 2006-06-20 Tom Tromey <tromey@redhat.com>
1269 * expr.c (push_value): Always flush quick stack.
1271 2006-06-19 Tom Tromey <tromey@redhat.com>
1273 * expr.c (push_value): Also flush quick stack if value is a
1276 2006-06-19 Tom Tromey <tromey@redhat.com>
1278 * expr.c (push_value): Flush quick stack if value has side
1281 2006-06-13 Tom Tromey <tromey@redhat.com>
1283 * class.c (is_compiled_class): Explicitly check for current
1286 2006-06-09 Tom Tromey <tromey@redhat.com>
1288 * gjavah.c (decompile_method): Don't decompile a static field
1291 2006-06-06 Tom Tromey <tromey@redhat.com>
1293 * lang-specs.h <jc1>: Add .jar file to command line if
1294 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1296 2006-06-05 Tom Tromey <tromey@redhat.com>
1298 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1299 synthetic, enum, annotation.
1300 * jcf.h (ACC_BRIDGE): New macro.
1301 (ACC_VARARGS): Likewise.
1302 (ACC_SYNTHETIC): Likewise.
1303 (ACC_ENUM): Likewise.
1304 (ACC_ANNOTATION): Likewise.
1306 2006-06-04 Tom Tromey <tromey@redhat.com>
1308 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1309 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1311 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1312 when needed. Handle classpath-setting.
1313 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1314 * lang-specs.h: Rewrote.
1316 2006-06-04 Tom Tromey <tromey@redhat.com>
1318 * jcf-io.c (find_class): Set source_ok to 0.
1319 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1320 (parse_class_file): Don't call java_mark_class_local.
1321 (java_parse_file): Skip .java files. Call java_mark_class_local
1322 before lowering any code.
1323 (parse_zip_file_entries): Don't call duplicate_class_warning
1325 (process_zip_dir): ... call it here.
1326 * class.c (add_field): Don't mark field external if it is being
1327 compiled into this object.
1328 (make_class_data): Handle situation where class_dtable_decl is
1329 created before Class is compiled.
1330 (is_compiled_class): Don't assume files in zip are compiled into
1332 (layout_class_method): Don't mark method external if it is being
1333 compiled into this object.
1335 2006-06-04 Tom Tromey <tromey@redhat.com>
1337 * jcf-path.c (jcf_path_compute): New function.
1338 * jcf.h (jcf_path_compute): Declare.
1340 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1342 * decl.c: Include langhooks.h.
1343 (builtin_function): Remove.
1344 (java_init_decl_processing): Replace calls to builtin_function
1345 with add_builtin_function.
1346 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1347 (java/decl.o): Depend on langhooks.h.
1348 * java-tree.h (builtin_function): Remove.
1350 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1352 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1354 2006-09-12 Tom Tromey <tromey@redhat.com>
1356 * expr.c (push_value): Always flush quick stack.
1358 2006-09-12 Tom Tromey <tromey@redhat.com>
1361 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1362 the push of the called method's return result.
1364 2006-09-12 Tom Tromey <tromey@redhat.com>
1366 * jvspec.c (lang_specific_driver): Read spec file even if
1369 2006-09-12 Tom Tromey <tromey@redhat.com>
1372 * expr.c (expand_java_field_op): Initialize field's declaring
1373 interface if necessary.
1375 2006-09-12 Tom Tromey <tromey@redhat.com>
1378 * expr.c (expand_java_field_op): No error for assignments not in
1379 class initializer or constructor.
1381 2006-08-22 Andrew Haley <aph@redhat.com>
1383 * decl.c (java_add_stmt): Give the statement list a type.
1385 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1386 Bryce McKinlay <bryce@mckinlay.net.nz>
1388 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1390 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1393 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1394 or '--' is used with a constant operand.
1395 (java_complete_lhs): When processing a '++' or '--' expression,
1396 don't call java_complete_tree but java_complete_lhs, so that a
1397 static final variable operand is never replaced by its value. This
1398 avoids an ICE later on.
1399 (patch_unaryop): Fixed typo in comment.
1401 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1403 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1405 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1407 * builtins.c (check_for_builtin): If a builtin could result in a
1408 direct call being generated, don't use it if flag_indirect_dispatch
1411 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1413 * gcj.texi (Invocation): Corrections for Invocation API example.
1415 2006-07-04 Andrew Haley <aph@redhat.com>
1417 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1420 2006-06-21 Andrew Haley <aph@redhat.com>
1422 * java-tree.h (update_aliases): Remove
1423 * expr.c (expand_iinc): Remove call to update_aliases().
1424 (STORE_INTERNAL): Likewise.
1425 * decl.c (update_aliases, initialize_local_variable)
1426 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1428 2006-06-19 Andrew Haley <aph@redhat.com>
1432 * expr.c (java_modify_addr_for_volatile): New function.
1433 (expand_java_field_op): Handle volatile fields.
1434 * java-gimplify.c (java_gimplify_component_ref): Call
1435 java_modify_addr_for_volatile to give the field_ref the correct
1437 (java_gimplify_modify_expr): Likewise.
1438 * java-tree.h (java_modify_addr_for_volatile): New decl.
1440 2006-06-17 Karl Berry <karl@gnu.org>
1442 * gcj.texi (@dircategory): Use "Software development" instead
1443 of "Programming", following the Free Software Directory.
1445 2006-06-16 Andrew Haley <aph@redhat.com>
1447 * class.c (make_class_data): When using flag_indirect_classes,
1448 don't initialize the vtable of Class instances.
1450 2006-06-09 Andrew Haley <aph@redhat.com>
1454 * builtins.c (initialize_builtins): Add __sync_synchronize().
1455 * class.c (add_field): Mark volatile fields.
1456 * java-gimplify.c (java_gimplify_expr): Call new functions to
1457 handle self-modifying exprs and COMPONENT_REFs.
1458 (java_gimplify_component_ref): New.
1459 (java_gimplify_modify_expr): Add handling for volatiles.
1461 2006-06-08 Tom Tromey <tromey@redhat.com>
1463 * gcj.texi (libgcj Runtime Properties): Document
1464 gnu.gcj.user.realname.
1466 2006-06-08 Andrew Haley <aph@redhat.com>
1468 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1469 get_symbol_table_index().
1470 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1472 (build_known_method_ref): New arg: special. Pass it to
1473 get_symbol_table_index.
1474 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1476 (build_invokevirtual): New arg: special. Pass it to
1477 get_symbol_table_index.
1478 (expand_invoke): New variable: special.
1479 Pass it to maybe_rewrite_invocation().
1480 Pass it to build_known_method_ref().
1481 * class.c (build_symbol_entry): Add new arg: special. Use it to
1482 build the symbol table conbstructor.
1483 (emit_symbol_table): Extract SPECIAL from the method list and pass
1484 it to build_symbol_entry().
1485 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1486 special accordingly.
1488 2006-06-06 David Daney <ddaney@avtrex.com>
1490 * gcj.texi (libgcj Runtime Properties): Document
1491 gnu.gcj.runtime.NameFinder.show_raw and
1492 gnu.gcj.runtime.NameFinder.remove_unknown.
1494 2006-06-06 Tom Tromey <tromey@redhat.com>
1496 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1497 synthetic, enum, annotation.
1498 * jcf.h (ACC_BRIDGE): New macro.
1499 (ACC_VARARGS): Likewise.
1500 (ACC_SYNTHETIC): Likewise.
1501 (ACC_ENUM): Likewise.
1502 (ACC_ANNOTATION): Likewise.
1504 2006-06-06 Mike Stump <mrs@apple.com>
1506 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1507 installing during build.
1509 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1511 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1512 classname-to-library resolution mechanism.
1513 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1514 mechanism deprecated.
1515 (libgcj Runtime Properties): Document
1516 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1518 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1520 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1522 (jword): Define to uint64 on 64-bit arches.
1523 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1525 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1527 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1530 2006-05-26 Tom Tromey <tromey@redhat.com>
1532 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1533 * verify-glue.c (vfy_class_type): New function.
1534 * verify-impl.c (check_constant): Allow 'ldc class'.
1535 * verify.h (vfy_class_type): Declare.
1537 2006-05-25 Andrew Haley <aph@redhat.com>
1540 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1541 update all lifetimes, not just the first one.
1543 2006-05-24 Tom Tromey <tromey@redhat.com>
1545 * java-tree.h: Fixed flag documentation.
1547 2006-05-24 Tom Tromey <tromey@redhat.com>
1550 * jcf.h (ACC_INVISIBLE): Changed value.
1552 2006-05-24 Andrew Haley <aph@redhat.com>
1555 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1558 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1560 * lang.opt (femit-class-file): Remove VarExists.
1562 2006-05-16 Tom Tromey <tromey@redhat.com>
1564 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1567 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1570 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1573 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1575 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1576 (java/expr.o): Replace target.h with $(TARGET_H).
1577 (java/parse.o): Likewise.
1579 2006-05-10 Andrew Haley <aph@redhat.com>
1581 * class.c (emit_indirect_register_classes): Fix comment.
1583 2006-05-04 Tom Tromey <tromey@redhat.com>
1585 * java-tree.h (uses_jv_markobj_p): Declare.
1586 * class.c (uses_jv_markobj_p): Removed.
1587 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1588 (get_boehm_type_descriptor): Use it.
1589 (uses_jv_markobj_p): Moved from class.c. Return bool.
1591 2006-05-04 Tom Tromey <tromey@redhat.com>
1593 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1595 2006-05-04 Andrew Haley <aph@redhat.com>
1597 * class.c (make_field_value): Always build_address_of fdecl if
1598 there is an initializer.
1600 2006-05-03 Andrew Haley <aph@redhat.com>
1603 * expr.c (maybe_rewrite_invocation): New function.
1604 (rewrite_arglist_getclass): Likewise.
1606 (expand_invoke): Call maybe_rewrite_invocation.
1607 * parse.y (patch_invoke): Likewise.
1608 * java-tree.h: (maybe_rewrite_invocation): New function.
1610 2006-04-21 Andrew Haley <aph@redhat.com>
1612 * lang.c (java_init): Handle flag_indirect_classes.
1613 * jvgenmain.c: Use "class$$" instead of "class$".
1614 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1616 (mangle_class_field): Special case "class$$" as well as "class$".
1617 * constants.c (build_ref_from_constant_pool): If
1618 flag_indirect_classes, generate a ref into the heap.
1619 * decl.c (constants_field_decl_node,
1620 constants_data_field_decl_node): New.
1621 * class.c (build_static_class_ref): New.
1622 (build_classdollar_field): Factor out from build_class_ref().
1623 (make_field_value): Handle static fields in heap.
1624 (make_class_data): Make sure we get a static ref to class.
1625 Make class initializer const if flag_indirect_classes.
1626 (register_class): Build a class_ref for initialization if
1627 flag_indirect_classes.
1628 (emit_indirect_register_classes): New.
1630 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1632 * expr.c, gjavah.c: Fix comment typos.
1634 2006-04-03 Andrew Haley <aph@redhat.com>
1637 * expr.c (build_field_ref): Don't check the field offset if
1640 2006-03-30 Andrew Haley <aph@redhat.com>
1643 * lang.c (java_attribute_table): New.
1644 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1645 * expr.c (build_field_ref): Add a null pointer check for all
1646 fields of offset > 4k. Don't do so for accesses via the this
1647 pointer, which we know can never be null.
1648 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1651 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1653 * Make-lang.in: Rename docdir to gcc_docdir.
1655 2006-03-30 Tom Tromey <tromey@redhat.com>
1658 * parse.y (java_reorder_fields): Reset superclass field's size as
1661 2006-03-28 Tom Tromey <tromey@redhat.com>
1664 * parse.y (find_most_specific_methods_list): Added 'class'
1666 (lookup_method_invoke): Updated.
1668 2006-03-15 Tom Tromey <tromey@redhat.com>
1670 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1671 non-static method calls.
1673 2006-03-15 David Daney <ddaney@avtrex.com>
1675 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1678 2006-03-15 David Daney <ddaney@avtrex.com>
1680 * lang.opt (-freduced-reflection): New option.
1681 * lang.c (java_post_options): Generate an error if
1682 -freduced-reflection used with -fjni or -findirect-dispatch.
1683 * java-tree.h (flag_reduced_reflection): Declare new variable.
1684 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1685 if bitmap overflows and flag_reduced_reflection set.
1686 * class.c (uses_jv_markobj_p): New function.
1687 (make_class_data): Moved generation of vtable to before
1688 reflection data, generate less reflection data if
1689 flag_reduced_reflection set.
1690 * gcj.texi: Document -freduced-reflection.
1692 2006-03-15 Tom Tromey <tromey@redhat.com>
1695 * class.c (get_interface_method_index): Don't put <clinit> into
1698 2006-03-15 Tom Tromey <tromey@redhat.com>
1700 * parse.y (analyze_clinit_body): Ignore empty statements.
1702 2006-03-08 David Daney <ddaney@avtrex.com>
1704 * gcj.texi: Document -static-libgcj option.
1706 2006-02-20 Andrew Haley <aph@redhat.com>
1708 * jcf-parse.c (parse_class_file): Set input_location from
1711 2006-02-15 Andrew Haley <aph@redhat.com>
1713 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1714 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1715 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1717 2006-02-09 Andrew Haley <aph@redhat.com>
1720 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1721 in their superclass.
1723 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1726 2006-02-08 Tom Tromey <tromey@redhat.com>
1729 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1730 * builtins.c (convert_real): New function.
1731 (java_builtins): Handle Float.intBitsToFloat,
1732 Float.floatToRawIntBits, Double.longBitsToDouble,
1733 Double.doubleToRawLongBits.
1735 2006-02-07 Andrew Haley <aph@redhat.com>
1737 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1738 class other than the one in which we expected to find it, ignore
1742 * constants.c (build_constants_constructor): move initializer into
1743 first halfword on a 64-bit big-endian machine.
1745 2006-02-04 Tom Tromey <tromey@redhat.com>
1748 * builtins.c (max_builtin): Skip floating point 'max'.
1749 (min_builtin): Skip floating point 'min'.
1750 (check_for_builtin): Never return NULL_TREE.
1752 2006-02-04 Tom Tromey <tromey@redhat.com>
1755 * expr.c (push_type): Avoid side effect in gcc_assert.
1757 2006-02-04 Roger Sayle <roger@eyesopen.com>
1759 * decl.c (java_init_decl_processing): Create char_type_node as a
1760 regular INTEGER_TYPE node.
1761 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1762 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1763 test for char_type_node and promoted_char_type_node as special
1764 instances of INTEGER_TYPE tree codes.
1765 (promote_type,build_java_signature): Likewise.
1766 * jcf-write.c (adjust_typed_op): Likewise.
1767 * mangle.c (mangle_type): Likewise.
1768 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1769 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1771 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1773 * expr.c (java_stack_swap): Revert gcc_assert patch.
1775 2006-02-03 Ben Elliston <bje@au.ibm.com>
1777 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1778 * typeck.c: Likewise.
1779 * verify-impl.c: Likewise.
1780 * class.c: Likewise.
1782 * jcf-parse.c: Likewise.
1783 * constants.c: Likewise.
1784 * check-init.c: Likewise.
1785 * jcf-write.c: Likewise.
1786 * verify-glue.c: Likewise.
1787 * mangle.c: Likewise.
1790 * boehm.c: Likewise.
1792 2006-02-01 Jan Hubicka <jh@suse.cz>
1794 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1795 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1797 2006-01-30 Andrew Haley <aph@redhat.com>
1800 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1802 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1804 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1805 Update copyright notice dates.
1807 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1809 * jvspec.c (lang_specific_spec_functions): Remove.
1811 2006-01-06 Tom Tromey <tromey@redhat.com>
1813 * gcj.texi (Arrays): Added more documentation for
1815 (Primitive types): Correct information about primitive classes.
1816 (Reference types): New node.
1819 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1821 * jcf-parse.c (set_source_filename): Set the decl source location
1822 even when returning early.
1824 2005-12-15 Tom Tromey <tromey@redhat.com>
1825 Andrew Haley <aph@redhat.com>
1828 * parse.y (resolve_expression_name): Don't generate accessor
1829 methods for constant fields.
1831 2005-12-13 Andrew Haley <aph@redhat.com>
1835 * class.c (maybe_layout_super_class): Update current_class before
1836 calling do_resolve_class.
1838 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1841 * jcf-write.c (write_classfile): Use PID in temporary class
1842 file. Save/restore errno when reporting error.
1844 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1847 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1848 to bare_function_type and including the return type
1849 * builtins.c (initialize_builtins) : Change builtin mangled name
1850 constants to conform to new mangling scheme
1852 2005-12-08 Andrew Haley <aph@redhat.com>
1855 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1856 (soft_abstractmethod_node): New.
1857 * expr.c (build_field_ref): Add in-line check for missing field.
1858 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1860 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1862 * Make-lang.in (java.all.build, java.install-normal): Remove.
1864 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1866 * Make-lang.in: Remove all dependencies on s-gtype, except for
1869 2005-12-07 Richard Sandiford <richard@codesourcery.com>
1871 * class.c (build_utf8_ref, emit_register_classes): Use
1872 switch_to_section and get_section.
1874 2005-12-06 Tom Tromey <tromey@redhat.com>
1877 * parse.y (patch_new_array_init): Revert previous patch.
1878 (lookup_method_invoke): Use size-less array type when creating an
1879 anonymous constructor.
1881 2005-12-05 Tom Tromey <tromey@redhat.com>
1883 * parse.y (patch_new_array_init): Don't set length on array.
1885 2005-12-02 Richard Guenther <rguenther@suse.de>
1887 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1888 buildN instead of build.
1889 * class.c (finish_class): Likewise.
1890 * expr.c (java_create_object): Likewise.
1892 2005-11-28 Tom Tromey <tromey@redhat.com>
1895 * expr.c (build_jni_stub): Unwrap the return value.
1896 * java-tree.h (soft_unwrapjni_node): New define.
1897 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1898 * decl.c (java_init_decl_processing): Initialize
1899 soft_unwrapjni_node.
1901 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
1903 * gcj.texi (gij options): Add -Xss documentation.
1905 2005-11-08 Wil Mahan <wmahan@gmail.com>
1908 * zextract.c (read_zip_archive): Fix out of memory error when
1909 reading jar files with zip-style comments.
1911 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
1913 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1915 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1917 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
1918 Wil Mahan <wmahan@gmail.com>
1921 * class.c (make_class): Create empty binfo here.
1922 (set_super_info): Only create binfo if we have superclasses.
1924 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
1927 * parse.y (method_header): Make the result of the rule a NULL_TREE
1928 when a parsing error occurs.
1930 2005-09-29 Tom Tromey <tromey@redhat.com>
1933 * jcf-io.c (memoized_dirlist_hash): New function.
1934 (caching_stat): Use it.
1936 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
1939 * class.c (inherits_from_p): Try to lay out super class
1940 if it is not already laid out.
1941 (maybe_layout_super_class): Handle the case where SUPER_CLASS
1944 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
1946 * builtins.c (max_builtin, min_builtin, abs_builtin,
1947 java_build_function_call_expr): Use fold_buildN.
1948 * class.c (layout_class_method): Likewise.
1949 * expr.c (java_truthvalue_conversion, build_java_jsr,
1950 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1951 build_java_binop, build_field_ref, expand_compare,
1952 build_known_method_ref, build_invokevirtual,
1953 process_jvm_instruction): Likewise.
1954 * parse.y (patch_binop, patch_exit_expr): Likewise.
1955 * typeck.c (convert_ieee_real_to_integer): Likewise.
1956 (convert): Don't call fold after convert_ieee_real_to_integer.
1958 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
1961 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1962 the newly created type. Set import lists here, not in create_class.
1963 (jdep_resolve_class): Set current_class.
1964 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
1965 the current package context, not ctxp->package.
1966 (cicp_cache): Removed.
1967 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1968 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1969 * java-tree.h (TYPE_PACKAGE): New macro.
1970 (struct lang_type): New member 'package'.
1972 2005-09-09 Andrew Haley <aph@redhat.com>
1975 * expr.c (pop_type_0): If the expected type is object or ptr
1976 (i.e. void*), return the type of the object we just popped from
1979 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
1981 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1982 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1984 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
1986 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1987 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1988 typos. Follow spelling conventions.
1990 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
1993 * typeck.c (lookup_do): Look up interfaces for the original class,
1995 * parse.y (java_check_regular_methods): Fix diagnostic message for
1996 more restrictive overriding of a method from an interface.
1998 2005-08-16 Tom Tromey <tromey@redhat.com>
2000 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
2001 class' initial state.
2003 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2006 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
2007 `literal_token' for large numeric input tokens.
2009 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2012 * parse.y (nested_field_access_p): Rename to nested_member_access_p
2013 and expand to handle method accesses across nested classes.
2014 (build_outer_method_access_method): Rename to
2015 build_nested_method_access_method. Minor adjustments to comments.
2016 (resolve_expression_name): Use the newly-renamed
2017 nested_member_access_p method.
2018 (resolve_qualified_expression_name): Likewise.
2019 (patch_method_invocation): Also consider static methods for access
2020 method generation. Minor adjustments to comments.
2021 (maybe_use_access_method): Use the more general
2022 nested_memeber_access_p to determine access across nested class
2023 boundaries. Allow THIS_ARG to be NULL (for static methods).
2025 2005-08-15 Tom Tromey <tromey@redhat.com>
2028 * expr.c (build_field_ref): Don't generate otable reference when
2029 DECL_FIELD_OFFSET is 0.
2030 * class.c (maybe_layout_super_class): Pass outer class to
2033 2005-08-15 Tom Tromey <tromey@redhat.com>
2035 * java-tree.h (LABEL_IN_SUBR): Removed.
2036 (LABEL_IN_SUBR): Likewise.
2037 (LABEL_IS_SUBR_START): Likewise.
2038 (LABEL_SUBR_START): Likewise.
2039 (LABEL_SUBR_CONTEXT): Likewise.
2040 (LABEL_CHANGED): Likewise.
2041 (LABEL_RETURN_LABEL): Likewise.
2042 (LABEL_RETURN_TYPE_STATE): Likewise.
2043 (LABEL_RETURN_LABELS): Likewise.
2044 (RETURN_MAP_ADJUSTED): Likewise.
2045 (LABEL_PENDING_CHAIN): Likewise.
2047 2005-08-15 Tom Tromey <tromey@redhat.com>
2049 * Make-lang.in (JAVA_OBJS): Removed verify.o
2050 (java/verify.o): Removed.
2051 * verify.c: Removed.
2052 * lang.c (flag_new_verifier): Removed.
2053 (java_post_options): Updated.
2054 * java-tree.h (flag_new_verifier): Removed.
2055 (verify_jvm_instructions): Removed.
2056 * expr.c (pop_type_0): Assume flag_new_verifier is true.
2057 (build_java_check_indexed_type): Likewise.
2058 (expand_java_arraystore): Likewise.
2059 (expand_java_arrayload): Likewise.
2060 (pop_arguments): Likewise.
2061 (expand_byte_code): Likewise.
2062 (process_jvm_instruction): Likewise.
2064 2005-08-10 Andrew Haley <aph@redhat.com>
2066 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
2067 type mismatches to make legal GIMPLE.
2069 2005-08-10 Robin Green <greenrd@greenrd.org>
2072 * parse.y (maybe_use_access_method): Generalize check from
2073 java.lang.Object to any superclass of current_class
2075 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2077 * class.c (build_class_ref): Wrap the primary class type in a
2079 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
2080 primary class type from the NOP_EXPR in which it was placed.
2082 2005-07-28 Diego Novillo <dnovillo@redhat.com>
2084 * expr.c (expand_load_internal): Fix missing parens in
2087 2005-07-28 Andrew Haley <aph@redhat.com>
2089 * expr.c (expand_load_internal): Convert to destination type.
2091 2005-07-22 Manfred Hollstein <mh@suse.com>
2093 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
2094 (check_constant): Likewise.
2095 (check_wide_constant): Likewise.
2097 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2099 Make CONSTRUCTOR use VEC to store initializers.
2100 * check-init.c (check_init): Update to cope with VEC in
2102 * class.c (make_field_value, make_method_value, get_dispatch_table,
2103 make_class_data, emit_symbol_table, emit_catch_table,
2104 emit_assertion_table): Use build_constructor_from_list instead of
2106 * constants.c (build_constants_constructor): Likewise.
2107 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
2108 VEC in CONSTRUCTOR_ELTS.
2109 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
2110 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
2112 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
2114 * parse.y (build_new_array_init): Use build_constructor_from_list
2115 instead of build_constructor.
2116 (patch_new_array_init): Update to cope with VEC in
2118 (array_constructor_check_entry): Likewise.
2120 2005-07-12 Tom Tromey <tromey@redhat.com>
2122 * jvspec.c (lang_specific_driver): Put filelist_filename first on
2125 2005-07-12 Tom Tromey <tromey@redhat.com>
2128 * parse-scan.y (interface_member_declaration): Added
2131 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2133 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2134 (LABEL_PENDING_CHAIN): Ditto.
2136 (DECL_BIT_INDEX): Ditto.
2138 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2141 * parse.y (inner_class_accessible): New function. Logic moved from
2142 check_inner_class_access.
2143 (check_inner_class_access): Use inner_class_accessible.
2144 (resolve_inner_class): Simplify arguments. Create circularity hash
2145 here. Keep looking for classes if we found one that was inaccessible.
2146 Return the inaccessible class only if there is no other match.
2147 (do_resolve_class): Update for new resolve_inner_class arguments.
2148 Don't create circularity_hash here.
2150 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2153 * parse.y (add_exception_to_throws): New function.
2154 (purge_unchecked_exceptions): Removed.
2155 (get_constructor_super): Renamed from verify_constructor_super. Now
2156 returns the super constructor after verification.
2157 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2158 or save/restore the exception list.
2159 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2160 class initializers and constructors to the throws clause of the method.
2162 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2165 * parse.y (interface_member_declaration): Allow empty statements in
2166 interface declarations.
2168 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2170 * Makefile.in (parse.o): Adjust dependencies.
2171 * parse.y: Include tree-dump.h.
2173 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2175 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2178 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2180 * parse.y (issue_warning_error_from_context): Call
2181 pp_output_formatted_text to be able to get the buffer.
2183 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2185 * parse.y (issue_warning_error_from_context): Update for the
2186 renaming of pp_format_text to pp_format.
2188 2005-06-28 Paul Brook <paul@codesourcery.com>
2190 * decl.c (java_init_decl_processing): Call
2191 default_init_unwind_resume_libfunc.
2193 2005-06-27 Tom Tromey <tromey@redhat.com>
2195 PR java/21540, PR java/13788:
2196 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2197 fold_constant_for_init.
2198 (patch_binop): Added 'folding' argument. Updated all callers.
2199 (patch_unaryop) <NOP_EXPR>: New case.
2200 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2201 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2203 2005-06-25 Jan Hubicka <jh@suse.cz>
2205 * builtins.c (define_builtin): Accept new flags parameter.
2206 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2208 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2210 * all files: Update FSF address in copyright headers.
2212 2005-06-24 Tom Tromey <tromey@redhat.com>
2214 * verify-impl.c (verify_instructions_0): Correctly handle
2215 situation where PC falls off end.
2217 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2220 * parse.y (find_most_specific_methods_list): Remove special case for
2223 2005-06-15 Tom Tromey <tromey@redhat.com>
2226 * class.c (make_method_value): Use soft_abstractmethod_node for
2228 * java-tree.h (soft_abstractmethod_node): New define.
2229 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2230 * decl.c (java_init_decl_processing): Initialize
2231 soft_abstractmethod_node.
2233 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2235 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2237 2005-06-13 Per Bothner <per@bothner.com>
2239 * expr.c (int highest_label_pc_this_method,
2240 start_label_pc_this_method): New globals.
2241 (lookup_label): Add start_label_pc_this_method to pc for label, and
2242 update highest_label_pc_this_method. This prevents conflicts between
2243 labels from different methods.
2244 * java-tree.h: Declare new globals.
2245 * jcf-parse.c (parse_class_file): If needed bump
2246 start_label_pc_this_method and reset highest_label_pc_this_method.
2248 2005-06-13 Tom Tromey <tromey@redhat.com>
2251 * parse.y (nested_field_access_p): Handle case where outer field
2252 is inherited by enclosing class.
2254 2005-06-12 Per Bothner <per@bothner.com>
2256 * class.c (inherits_from_p): Do load_class if needed.
2258 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2260 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2261 * java-tree.h (parse_error_context): Move...
2262 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2263 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2264 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2266 2005-06-08 Roger Sayle <roger@eyesopen.com>
2268 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2270 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2272 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2273 msgid for argument name.
2274 * gjavah.c (error): Likewise.
2275 * java-tree.h (parse_error_context): Likewise.
2276 * parse.y (parse_error_context, parse_warning_context,
2277 issue_warning_error_from_context): Likewise.
2279 2005-06-01 Tom Tromey <tromey@redhat.com>
2282 * class.c (build_static_field_ref): Don't fold constant fields if
2283 current class is from a .class file and we're using indirect
2286 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2288 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2289 * java/Make-lang.in: Updates dependencies.
2291 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2294 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2295 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2296 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2297 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2298 * jcf-write.c (generate_classfile): Use
2299 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2300 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2301 * parse.y (build_outer_field_access): Rename to
2302 build_nested_field_access. Support static fields and outer-to-inner
2304 (outer_field_access_p): Rename to nested_field_access_p. Support
2305 static fields and generalise to outer-to-inner class and sibling
2306 inner class accesses.
2307 (outer_field_expanded_access_p): Rename to
2308 nested_field_expanded_access_p and support static fields.
2309 (outer_field_access_fix): Rename to nested_field_access_fix and
2310 support static fields.
2311 (build_outer_field_access_expr): Rename to
2312 build_nested_field_access_expr and support static fields.
2313 (build_outer_field_access_methods): Rename to
2314 build_nested_field_access_methods and support static fields. For
2315 static fields, generate accessors without class instance parameters.
2316 (build_outer_field_access_method): Rename to
2317 build_nested_field_access_method and support static fields.
2318 (build_outer_method_access_method): Use
2319 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2320 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2321 (resolve_expression_name): Consider static field accesses across
2323 (resolve_qualified_expression_name): Likewise.
2324 (java_complete_lhs): Use nested_field_access_fix instead of
2325 outer_field_access_fix.
2326 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2327 Use nested_field_expanded_access_p instead of
2328 outer_field_expanded_access_p. Use nested_field_access_fix instead
2329 of outer_field_access_fix.
2330 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2331 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2333 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2335 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2336 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2337 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2338 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2339 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2340 (parse_version): Calculate version ID using new method. Use bit-flags
2341 for flag_indirect_dispatch and flag_bootstrap_classes.
2343 2005-05-25 Richard Henderson <rth@redhat.com>
2346 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2347 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2348 DECL_CONTEXT; avoid pushdecl_top_level.
2349 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2350 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2351 (layout_class_method): Likewise.
2352 * decl.c (java_mark_cni_decl_local): New.
2353 (java_mark_class_local): Use it.
2354 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2355 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2356 (struct lang_decl_func): Add local_cni;
2357 (struct lang_decl_var): Add class_field, vtable.
2358 (java_mangle_decl): Declare.
2359 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2360 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2361 (mangle_obstack_1): New.
2362 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2363 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2364 lhd_set_decl_assembler_name for things that don't need mangling.
2365 (mangle_class_field): Rename from java_mangle_class_field, make
2366 static, don't call init_mangling or finish_mangling.
2367 (mangle_vtable): Similarly.
2368 (mangle_local_cni_method_decl): New.
2369 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2370 gcc_assert, and MANGLE_RAW_STRING.
2371 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2373 2005-05-25 DJ Delorie <dj@redhat.com>
2375 * class.c (set_constant_value): Move warning control from if() to
2378 2005-05-24 Richard Henderson <rth@redhat.com>
2380 * builtins.c (define_builtin): Don't call make_decl_rtl.
2381 * constants.c (build_constant_data_ref): Likewise.
2382 * class.c (build_utf8_ref): Likewise.
2383 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2384 (get_dispatch_table, layout_class_method): Likewise.
2385 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2387 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2388 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2389 to determine if we need a non-zero address.
2390 * decl.c (builtin_function): Don't call make_decl_rtl.
2391 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2392 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2393 * resource.c (compile_resource_data): Likewise.
2394 * parse.y (resolve_field_access): Re-word comment to avoid
2397 2005-05-24 Richard Henderson <rth@redhat.com>
2399 * class.c (registered_class): Take it out of class_roots; turn into
2401 (register_class): Make static. Don't duplicate decl node. Use
2403 (emit_register_classes): Use VEC_iterate. Use output_constant
2404 instead of assemble_integer. Don't call mark_decl_referenced
2406 * java-tree.h (register_class): Remove decl.
2408 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2412 * parse.y (register_package, package_list): Remove.
2413 (package_declaration): Do not call register_package.
2414 (do_resolve_class): Do not use package_list.
2416 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2418 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2421 2005-05-15 Tom Tromey <tromey@redhat.com>
2424 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2427 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2429 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2431 2005-05-11 Tom Tromey <tromey@redhat.com>
2433 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2434 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2435 (parse_version): Use it.
2436 * lang.opt (-fbootstrap-classes): New option.
2438 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2441 * class.c (maybe_layout_super_class): Look for imports in this_class.
2442 * parse.h (ctxp_for_generation_last): New.
2443 (do_resolve_class): Add a parameter.
2444 * parse.y (ctxp_for_generation_last): New.
2445 (java_pop_parser_context): Add at end of list.
2446 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2447 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2448 the given type are NULL.
2449 (do_resolve_class): Look into the imports of the new second parameter.
2450 Adjust recursive calls.
2451 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2452 calls to do_resolve_class.
2453 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2454 (java_complete_class): Do not do that here.
2456 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2459 * Make-lang.in (java): Add gjnih.
2460 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2461 (GJNIH_OBJS): New variable.
2462 (gjnih$(exeext)): New target.
2463 (JAVA_MANFILES): Add gjnih.1.
2464 (java.uninstall): Add gjnih.1.
2465 (java.mostlyclean): Add gjnih.
2466 (java.maintainer-clean): Add gjnih.1.
2467 (java/gjavah-jni.o): New target.
2468 (.INTERMEDIATE): Add gjnih.pod.
2469 (gjnih.pod): New target.
2470 * config-lang.in (stagestuff): Add gjnih.
2471 * gcj.texi (Top): Add gjnih node.
2472 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2473 -bootclasspath options.
2474 (Invoking gjnih): New node.
2475 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2476 (TOOLNAME): New macro.
2477 (error): Replace hard-coded gcjh with TOOLNAME.
2478 (process_file): Likewise.
2480 (version): Likewise.
2481 (help): Likewise. Add help output for -force, -old, -trace and -J
2483 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2484 (options): Add force, old, trace and J fields.
2485 (main): Handle -force, -old, -trace and -J options.
2487 2005-05-03 Tom Tromey <tromey@redhat.com>
2490 * gjavah.c (main): Unlink output file on error.
2492 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2494 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2497 2005-04-29 Tom Tromey <tromey@redhat.com>
2499 * expr.c (build_jni_stub): Updated for change to build_block.
2501 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2503 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2505 2005-04-28 Andrew Haley <aph@redhat.com>
2508 * java-tree.h (soft_resolvepoolentry_node): New.
2509 (alloc_constant_fieldref): Declare.
2510 * expr.c (expand_java_field_op): Don't call class_init for
2511 accesses to static fields with indirect dispatch.
2512 * builtins.c (initialize_builtins): Add "__builtin_expect".
2513 * decl.c (soft_resolvepoolentry_node): New variable.
2514 (java_init_decl_processing): Create a decl for
2515 "_Jv_ResolvePoolEntry".
2516 * class.c (build_fieldref_cache_entry): New function.
2517 (build_static_field_ref): Rewrite for indirect dispatch.
2518 * constants.c (find_name_and_type_constant_tree): New function.
2519 (alloc_constant_fieldref): Likewise.
2520 (build_constants_constructor): Handle CONSTANT_Fieldref and
2521 CONSTANT_NameAndType.
2524 * expr.c (force_evaluation_order): Convert outgoing args smaller
2527 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2529 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2530 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2531 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2533 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2535 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2536 to `unlock_stream' with `unlock_std_streams'.
2538 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2540 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2541 instead of just expr.h.
2543 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2545 * gjavah.c (main): Unlock the stdio streams.
2546 * jcf-dump.c (main): Likewise.
2547 * jv-scan.c (main): Likewise.
2548 * jvgenmain.c (main): Likewise.
2550 2005-04-23 DJ Delorie <dj@redhat.com>
2552 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2553 parse.y: Adjust warning() callers.
2555 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2557 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2560 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2562 * gcj.texi: Fix typos and bogus example.
2564 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2566 * except.c: Fix a comment typo.
2568 2005-04-19 Julian Brown <julian@codesourcery.com>
2570 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2571 indirect dispatch with PIC.
2573 2005-04-18 Andrew Haley <aph@redhat.com>
2575 * java-except.h (struct eh_range.handler): Remove unused field.
2576 (handle_nested_ranges): Remove function declaration.
2577 (sanity_check_exception_range): Add function declaration.
2578 * verify.c (verify_jvm_instructions): Remove call to
2579 handle_nested_ranges.
2580 * verify-glue.c (verify_jvm_instructions_new): Call
2581 sanity_check_exception_range.
2582 * except.c (link_handler, eh_range_freelist, link_handler,
2583 handle_nested_ranges): Remove.
2584 (add_handler): Rewrite.
2585 (sanity_check_exception_range): New function.
2586 (print_ranges): New function.
2588 2005-04-13 Julian Brown <julian@codesourcery.com>
2590 * decl.c (finish_method): Give methods once-only linkage.
2592 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2594 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2596 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2598 * java-tree.h: Don't use PARAMS().
2600 2005-04-07 Per Bothner <per@bothner.com>
2602 * class.c (push_class): By default, suppress debug output.
2603 (finish_class): Enable debug output for classes we're emitting.
2605 2005-04-07 Andrew Haley <aph@redhat.com>
2607 * gcj.texi: Correct gcj-dbtool instructions.
2609 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2611 * gcj.texi: Fix a typo.
2612 * lang.c: Fix a comment typo.
2614 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2616 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2617 Mention recognized-and-ignored compatibility options.
2618 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2620 (About CNI): Add Memory allocation section.
2622 2005-04-01 Tom Tromey <tromey@redhat.com>
2624 * decl.c (java_init_decl_processing): Fix types of
2625 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2626 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2627 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2629 2005-03-31 Jan Hubicka <jh@suse.cz>
2631 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2632 * class.c: Include cgraph.h
2633 (make_local_functoin_alias): Mark aslias as needed.
2634 * resource.c: Include cgraph.h
2635 (compile_resource_data): Go via cgraph interface.
2637 2005-03-30 Ian Lance Taylor <ian@airs.com>
2639 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2641 2005-03-30 Tom Tromey <tromey@redhat.com>
2643 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2644 inner_class_info_index==0 or outer_class_info_index==0.
2646 2005-03-29 Tom Tromey <tromey@redhat.com>
2648 * gcj.texi (libgcj Runtime Properties): Document
2649 gnu.gcj.runtime.endorsed.dirs.
2651 2005-03-24 Anthony Green <green@redhat.com>
2653 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2656 2005-03-23 Tom Tromey <tromey@redhat.com>
2658 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2659 (parse_version): Use it.
2661 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2663 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2665 2005-03-18 Andrew Haley <aph@redhat.com>
2668 * decl.c (update_aliases): Don't update variables that are about
2670 (maybe_poplevels): Add comment.
2672 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2675 * jcf-parse.c (duplicate_class_warning): New function.
2676 (java_parse_file): Call duplicate_class_warning if
2677 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2678 (parse_zip_file_entries): Likewise. Also set
2679 CLASS_FROM_CURRENTLY_COMPILED_P.
2681 2005-03-16 Andrew Haley <aph@redhat.com>
2683 * expr.c (expand_java_arrayload): Don't generate a
2684 NullPointerException based on the type of the node.
2685 (build_java_array_length_access): Likewise.
2687 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2689 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2691 2005-03-11 Tom Tromey <tromey@redhat.com>
2693 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2694 (libgcj Runtime Properties): Document the default .db.
2696 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2699 * parse.y (checks_throws_clauses): Check exceptions list even when
2700 the base class does not come from a source file being compiled.
2701 (java_complete_lhs): Remove unused variable 'wfl'.
2703 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2706 * decl.c (finish_method): Emit _Jv_InitClass for private static
2707 methods inside inner classes as well.
2709 2005-03-08 Julian Brown <julian@codesourcery.com>
2710 * Revert patch from 2005-03-08 for causing bootstrap failure on
2713 2005-03-08 Julian Brown <julian@codesourcery.com>
2715 * decl.c (finish_method): Give methods once-only linkage.
2717 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2719 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2721 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2723 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2724 can_widen_reference_to if the C++ ABI is in use.
2725 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2726 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2727 type_isresolved, init_state, set_pc, state_get_pc,
2728 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2729 (verify_fail): Report the current PC from the verifier context.
2730 (free_state): Remove #if 0 block to enable this function.
2731 (free_verifier_context): Call free_state on state_list iterator
2732 values before freeing them.
2733 * expr.c (pop_type_0): Pop correct type for error message when stack
2734 contains a multi-word type.
2736 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2738 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2739 for known NULL array length access.
2741 2005-03-07 Tom Tromey <tromey@redhat.com>
2743 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2745 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2747 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2748 typeck.c: Update copyright.
2750 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2753 * xref.c, xref.h: Remove file.
2754 * Make-lang.in (java/xref.o): Remove.
2755 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2756 * lang.c (flag_emit_xref): Remove definition.
2757 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2758 * typeck.c (convert): Remove use of do_not_fold.
2759 * parse.y (do_not_fold): Remove definition.
2760 (parser grammar): Remove xref code.
2761 (maybe_create_class_interface_decl, create_class): Likewise.
2762 (register_fields, method_header, finish_method_declaration): Likewise.
2763 (declare_local_variables, source_end_java_method): Likewise.
2764 (java_complete_expand_classes): Do not set do_not_fold.
2765 (java_complete_expand_method): Remove xref code.
2766 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2767 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2768 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2769 (patch_synchronized_statement, patch_throw_statement): Likewise.
2770 (maybe_build_class_init_for_field): Likewise.
2772 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2774 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2775 instead of IS_NON_TYPE_CODE_CLASS.
2777 2005-03-04 Andrew Haley <aph@redhat.com>
2780 * class.c (set_method_index): Don't set method_index if it is
2782 (layout_class_method): Don't complain about "non-static method foo
2783 overrides static method" in the case of indirect dispatch.
2785 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2787 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2789 * Make-lang.in: Don't elide warnings in jcf-io.c.
2791 2005-03-01 Per Bothner <per@bothner.com>
2794 * check-init.c (wfl): Remove static.
2795 (final_assign_error, check_init): Replace calls to parse_error_context
2797 (check_init): Save, set, and restore input_location for each exp.
2799 2005-03-01 Per Bothner <per@bothner.com>
2801 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2802 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2803 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2805 2005-03-01 Per Bothner <per@bothner.com>
2807 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2809 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2812 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2815 2005-02-22 Tom Tromey <tromey@redhat.com>
2818 * verify-impl.c (EITHER): New define.
2819 (types_compatible): Handle it.
2820 (check_field_constant): Use it.
2822 2005-02-18 Tom Tromey <tromey@redhat.com>
2825 * verify-impl.c (types_equal): Fixed test.
2828 * verify-glue.c (vfy_class_has_field): New function.
2829 * verify.h (vfy_class_has_field): Declare.
2830 * verify-impl.c (check_field_constant): Added 'putfield'
2832 (verify_instructions_0): Updated.
2833 (types_equal): New function.
2835 2005-02-14 Tom Tromey <tromey@redhat.com>
2838 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2839 stack effect of multianewarray.
2841 2005-02-14 Andrew Haley <aph@redhat.com>
2844 * expr.c (expand_byte_code): Call promote_arguments().
2845 (promote_arguments): New function.
2846 * decl.c (check_local_unnamed_variable): Remove special case for
2848 (find_local_variable): Promote all boolean types to int
2849 when searching for local variable decls.
2851 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2853 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2854 parse-scan.y: Update copyright.
2856 2005-02-11 Per Bothner <per@bothner.com>
2859 * parse-scan.y (input_location): Remove variable.
2860 (main_input_filename): New - replaces input_filename, which isn't
2861 settable if USE_MAPPED_LOCATION.
2862 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2863 so we don't reference input_location or wfl_operator in that case.
2864 * jv-scan.c (expand_location): Remove - no longer used.
2865 (main): Set main_input_filename rather than input_filename.
2867 2005-02-09 Richard Henderson <rth@redhat.com>
2869 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2870 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2872 2005-02-08 Marcin Dalecki <martin@dalecki.de>
2874 * expr.c (add_type_assertion): Use the proper enumeration type,
2875 since this is what htab_find_slot() is expecting.
2877 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2879 * gcj.texi: Update copyright dates.
2881 2005-02-02 Tom Tromey <tromey@redhat.com>
2883 * gcj.texi (libgcj Runtime Properties): Default library_control
2886 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
2889 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2890 (modifiers) when square brackets are present in a declaration for
2892 * jv-scan.c (main): Set input_filename and input_line.
2894 2005-02-01 Tom Tromey <tromey@redhat.com>
2897 * gjavah.c (get_field_name): Don't override name for JNI header.
2899 2005-02-01 Roger Sayle <roger@eyesopen.com>
2901 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2902 of unsigned types using iushr and lushr JVM bytecodes.
2904 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2907 * gjavah.c (jni_print_float): Do not emit floating-point
2908 initialiser for a static final field.
2909 (jni_print_double): Likewise.
2911 2005-02-01 Mark Mitchell <mark@codesourcery.com>
2914 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2915 * gjavah.c (print_field_info): Mark static data members of
2916 floating-point type with "__extension__".
2918 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2920 * gjavah.c (print_field_info): Mark static data members of
2921 floating-point type with "__extension__".
2923 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2926 * parse.y (build_string_concatenation): Remove redundant if.
2927 (patch_conditional_expr): Attempt to patch_string() the condition
2928 of a ?: as well, in addition to its other operands.
2930 2005-01-25 Tom Tromey <tromey@redhat.com>
2932 * Make-lang.in (java/java-tree-inline.o): Removed.
2934 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
2937 * parse.y (patch_binop): Allow comparisons against NULL only
2938 if the other operand is of a reference type.
2940 2005-01-24 Tom Tromey <tromey@redhat.com>
2942 * java-tree.h (gcj_abi_version): Declare.
2943 * class.c (make_class_data): Push gcj_abi_version into "next"
2944 field. Renamed field.
2945 * decl.c (gcj_abi_version): New global.
2946 (parse_version): New function.
2947 (java_init_decl_processing): Call it. Renamed 'next' field.
2949 (GCJ_BINARYCOMPAT_ADDITION): New define.
2951 2005-01-24 Roger Sayle <roger@eyesopen.com>
2954 * jcf-write.c (generate_bytecode_insns): Conversions between
2955 integer types of the same precision shouldn't generate widening
2956 or narrowing conversion bytecodes.
2958 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2960 * java-except.h, java-tree.h: Remove unused prototypes.
2962 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
2965 * jcf-write.c (perform_relocations): Don't call memcpy if source
2966 and destination are the same.
2968 2005-01-17 Tom Tromey <tromey@redhat.com>
2970 * verify-impl.c (get_short): Sign extend.
2971 (get_int): Likewise.
2973 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
2975 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2978 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2980 * verify.c: Revert to the version before the BC-ABI merge.
2982 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2985 * check-init.c (check_init): Take care of references that do not
2986 have an explicit final variable declaration (e.g. array length
2987 access) for pre/post in/de-crement operators.
2989 2005-01-08 Mark Wielaard <mark@klomp.org>
2991 * parse.y (process_imports): Allocate (and free) original_name only
2992 when not already defined.
2993 * jcf-parse.c (read_class): Free results of find_class() and
2995 (java_parse_file): Keep pointer to head of file_list and free when
2996 done. Free result of lrealpath().
2998 2005-01-05 Tom Tromey <tromey@redhat.com>
3000 * gcj.texi (Standard Properties): java.ext.dirs is now used.
3002 2004-12-20 Andrew Haley <aph@redhat.com>
3004 * typeck.c: Use fold_convert for ints and booleans.
3006 2004-12-17 Andrew Haley <aph@redhat.com>
3009 * typeck.c (convert): Use a CONVERT_EXPR when converting to
3010 BOOLEAN_TYPE or CHAR_TYPE.
3011 (convert_to_boolean, convert_to_char) : Remove.
3012 * convert.h (convert_to_boolean, convert_to_char) : Remove.
3013 * expr.c (expand_load_internal): Do type conversion if type is not
3016 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
3019 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
3022 2004-12-07 Andrew Haley <aph@redhat.com>
3025 * jcf-parse.c (load_class): Remove sanity test for missing inner
3028 2004-12-06 Tom Tromey <tromey@redhat.com>
3030 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
3031 (java.uninstall): Likewise.
3032 (java.maintainer-clean): Likewise.
3033 (.INTERMEDIATE): Likewise.
3034 (java.install-man): Likewise.
3035 (gcj-dbtool.pod): New target.
3036 * gcj.texi (Code Generation): Document -findirect-dispatch.
3037 (libgcj Runtime Properties): Document
3038 gnu.gcj.precompiled.db.path.
3039 (Top): Link to "Invoking gcj-dbtool".
3041 2004-12-06 Tom Tromey <tromey@redhat.com>
3044 * java-tree.h (extract_field_decl): Declare.
3045 * parse.y (extract_field_decl): Renamed from
3046 strip_out_static_field_access_decl. No longer static.
3047 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
3049 2004-12-03 Tom Tromey <tromey@redhat.com>
3051 * lang.c (flag_new_verifier): Define.
3052 (java_post_options): Set flag_new_verifier if indirect dispatch
3054 * lang.opt (fnew-verifier): Removed.
3056 2004-12-03 Tom Tromey <tromey@redhat.com>
3059 * Make-lang.in (java.install-common): Only install transformed
3060 gcjh if gcj-cross exists.
3062 2004-12-03 Andrew Haley <aph@redhat.com>
3065 * except.c (link_handler): Patch 'outer' field of siblings of the
3066 range we're demoting.
3068 2004-12-03 Andrew Haley <aph@redhat.com>
3071 * class.c (layout_class_method): Don't fail to override a method
3072 simply because it has DECL_ARTIFICIAL set.
3074 2004-12-02 Tom Tromey <tromey@redhat.com>
3077 * parse.y (craft_constructor): Special case null_pointer_node.
3079 2004-12-02 Tom Tromey <tromey@redhat.com>
3082 * java-gimplify.c (java_gimplify_expr): Don't call
3083 SET_EXPR_LOCATION unless wrapped tree is an expression.
3085 2004-11-27 Per Bothner <per@bothner.com>
3087 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
3088 Fix fencepost error in 'i', which got executed one too many times.
3089 Also, fold memcpy into explicit loop, as originally intended.
3090 Also, free temporary 'buf' which otherwise leaks.
3092 2004-11-27 Per Bothner <per@bothner.com>
3094 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
3095 local static variables if not USE_MAPPED_LOCATION.
3097 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
3099 * class.c, decl.c, expr.c: Fix comment typos.
3101 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
3104 * decl.c (end_java_method): Call
3105 attach_init_test_initialization_flags on all the init_decls.
3106 * parse.y (attach_init_test_initialization_flags): Move to ...
3107 * expr.c (attach_init_test_initialization_flags): here and
3108 support BIND_EXPR also.
3109 * java-tree.h (attach_init_test_initialization_flags): Prototype.
3110 * jcf-parse.c (parse_class_file): Don't disable class init
3113 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
3115 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
3118 2004-11-24 Richard Henderson <rth@redhat.com>
3120 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
3121 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
3123 2004-11-24 Tom Tromey <tromey@redhat.com>
3125 * verify.c (defer_merging): Don't use C++-style comment.
3126 * verify.h (java_opcode): Added java_opcode_end.
3127 * class.c (build_class_ref): Remove C++ comment and old FIXME.
3129 * verify-impl.c (vfy_push_type): Removed bogus "return".
3130 (initialize_stack): Use vfy_alloc and vfy_free.
3131 (verify_instructions_0): Likewise.
3133 * Merged gcj-abi-2-dev-branch to trunk.
3135 2004-11-24 Andrew Haley <aph@redhat.com>
3137 * jcf-parse.c (parse_class_file): Set file_start_location.
3139 2004-11-10 Tom Tromey <tromey@redhat.com>
3141 * class.c (make_field_value): Don't call build_static_field_ref.
3142 (build_static_field_ref): Don't emit direct references when using
3145 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3146 -verbose:class into man page synopsis.
3148 2004-11-09 Tom Tromey <tromey@redhat.com>
3150 * expr.c (build_java_arraystore_check): Still generate check if
3151 element type is itself an array.
3153 2004-11-08 Tom Tromey <tromey@redhat.com>
3155 * java-tree.h (soft_check_assignment_node): Removed.
3156 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3157 * decl.c (java_init_decl_processing): Don't initialize
3158 soft_check_assignment_node.
3160 2004-11-05 Tom Tromey <tromey@redhat.com>
3162 * class.c (layout_class_methods): Don't add Miranda methods when
3163 using indirect dispatch.
3165 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3167 * class.c (make_class_data): Call emit_assertion_table to set the
3168 'assertion_table' field.
3169 (build_signature_for_libgcj): Move here from expr.c.
3170 (add_assertion_table_entry): New function. Callback for assertion
3171 hashtable traversal.
3172 (emit_assertion_table): New. Take class argument, and generate
3173 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3174 * decl.c (init_decl_processing): Define assertion_entry_type record.
3175 Push 'assertion_table' class field instead of 'verify'.
3176 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3177 (type_assertion_hash): Include 'assertion_code' in hash.
3178 (add_type_assertion): Rewritten. Take class and assertion_code
3179 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3180 (can_widen_reference_to): Use new add_type_assertion() arguments.
3181 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3182 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3183 (verify_identifier_node): Removed.
3184 (assertion_entry_type, assertion_table_type): New.
3185 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3186 assertion code definitions.
3187 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3188 'target_type' to 'op1' and 'op2'.
3189 (add_type_assertion): Declare.
3190 (lang_printable_name_wls): Remove unused definition.
3191 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3192 to emit runtime assertion.
3193 (vfy_note_stack_type): Clean up non-C90 declarations.
3194 (vfy_note_local_type): Likewise.
3195 * verify.h (vfy_is_assignable_from): Declare.
3196 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3197 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3198 instead of is_assignable_from_slow().
3199 (types_compatible): Reinstate ref_compatible() call.
3201 2004-11-04 Tom Tromey <tromey@redhat.com>
3203 * class.c (build_static_field_ref): Reverted previous patch.
3205 * class.c (build_static_field_ref): Don't emit direct references
3206 when using indirect dispatch.
3208 2004-11-03 Tom Tromey <tromey@redhat.com>
3210 * expr.c (expand_java_arrayload): Set lhs_type_node.
3211 (expand_java_arraystore): Set rhs_type_node.
3213 2004-11-02 Tom Tromey <tromey@redhat.com>
3215 * jcf-parse.c (compute_class_name): Use filename length from zip
3216 directory, not strlen.
3218 * expr.c (expand_invoke): Mark new interface methods as abstract.
3220 2004-11-01 Tom Tromey <tromey@redhat.com>
3222 * verify-impl.c (push_jump): Removed check for uninitialized
3224 (push_exception_jump): Likewise.
3225 (handle_ret_insn): Likewise.
3226 (handle_jsr_insn): Likewise.
3227 (state_check_no_uninitialized_objects): Removed.
3229 * decl.c (check_local_unnamed_variable): Recognize
3230 promoted-to-int parameters when using the new verifier.
3231 * expr.c (expand_java_arraystore): Explicitly request array type
3232 when using new verifier.
3233 (expand_java_arrayload): Likewise.
3234 (invoke_build_dtable): Don't pass object_type_node as
3235 expression argument to build_java_indirect_ref.
3236 (build_java_check_indexed_type): Do nothing.
3237 (build_java_arraystore_check): Handle case where array doesn't
3239 (build_java_array_length_access): Likewise.
3240 (expand_invoke): Handle case where interface overrides a method
3242 (pop_type_0): Always succeed for reference types.
3243 (process_jvm_instruction): Don't pop a value in a dead
3245 (pop_arguments): Convert arguments to correct types.
3247 2004-10-29 Andrew Haley <aph@redhat.com>
3249 * jcf-parse.c (give_name_to_class): Remove line that was
3252 2004-10-29 Andrew Haley <aph@redhat.com>
3254 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3256 2004-10-20 Andrew Haley <aph@redhat.com>
3258 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3260 2004-10-26 Tom Tromey <tromey@redhat.com>
3262 * verify.h (vfy_notify_verified): Removed.
3263 * verify-glue.c (vfy_notify_verified): Removed.
3265 2004-10-26 Tom Tromey <tromey@redhat.com>
3267 * verify-impl.c (debug_print_state): Declare `i' before code.
3268 (merge_types): Modify `t' when it is null_type.
3270 2004-10-26 Tom Tromey <tromey@redhat.com>
3272 * verify-impl.c (type_print): Renamed from print. Now static and
3274 (debug_print_state): Use type_print.
3276 2004-10-25 Tom Tromey <tromey@redhat.com>
3278 * expr.c (build_invokeinterface): Compute correct offset for
3279 index into interface methods.
3281 2004-10-20 Tom Tromey <tromey@redhat.com>
3283 * java-tree.h (verify_jvm_instructions_new): Declare.
3285 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
3288 * verify-impl.c (verify_instructions): Correctly handle wide
3290 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
3291 (vfy_get_component_type): Strip pointer types.
3292 (vfy_find_class): Use get_type_from_signature. Strip pointer
3294 Include java-except.h.
3296 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3298 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
3299 vfy_push_type_t, set_variable, add_new_state, merge_into,
3300 handle_jsr_insn, branch_prepass, check_class_constant,
3301 check_wide_constant, get_one_type, compute_static_types,
3302 verify_instructions_0): Clean up C99 declarations after statements.
3304 2004-10-20 Tom Tromey <tromey@redhat.com>
3306 * verify-impl.c (merge_refs): Compare reference against iterator,
3309 * verify-glue.c (vfy_tag): Mask off resolved flag.
3311 2004-10-19 Tom Tromey <tromey@redhat.com>
3313 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3314 (init_state_with_stack): Initialize `this_type' in state.
3315 (verify_method): Use debug_print.
3316 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3317 (vfy_note_stack_depth): Reverted last patch.
3318 (vfy_note_stack_type): Note pointer to Object, not Object.
3319 (vfy_note_local_type): Likewise.
3321 * verify.h (vfy_note_instruction_seen): Declare.
3322 * verify-glue.c (verify_jvm_instructions_new): Set
3323 BCODE_EXCEPTION_TARGET on target instruction.
3324 (vfy_note_instruction_seen): New function.
3325 * verify-impl.c (FLAG_INSN_SEEN): New define.
3326 (verify_instructions_0): Set flag on instruction. Save state for
3328 (verify_instructions): Call vfy_note_instruction_seen.
3330 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3331 (verify_jvm_instructions_new): Call method_init_exceptions,
3332 add_handler, and handle_nested_ranges.
3333 * verify-impl.c (verify_method): Return 1 on success.
3334 (verify_instructions_0): Save the state at PC=0.
3336 * verify-impl.c (init_type_from_class): Set is_resolved and
3337 ref_next on new ref_intersection.
3338 (init_type_from_string): Likewise.
3340 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
3342 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
3343 if flag_new_verifier is set.
3344 * java-tree.h (flag_new_verifier): Declare.
3345 * lang.opt (fnew-verifier): New option.
3346 * verify-impl.c: Work around namespace pollution by undef'ing
3348 (struct verifier_context): Make 'bytecode' const.
3349 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
3350 (types_compatible): For the BC-ABI, always consider reference types
3352 (check_class_constant): Use vfr->current_class.
3353 (check_constant): Likewise.
3354 (check_wide_constant): Likewise.
3355 (check_field_constant): Check for 'L' at start of type name.
3356 (get_one_type): Return pointer instead of type. Set type result in
3357 caller via passed type pointer.
3358 (compute_argument_types): Update to use new get_one_type arguments.
3359 (compute_return_type): Likewise.
3360 (make_verifier_context): New. Allocate and initialize 'vfr'.
3361 (free_verifier_context): New. Free 'vfr' and its contents.
3362 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
3363 and free_verifier_context.
3365 2004-10-15 Tom Tromey <tromey@redhat.com>
3367 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
3368 * verify.h (vfy_fail): Fixed formatting.
3370 * verify-impl.c (vfr): Fixed comment formatting.
3371 (collapse_type): New function.
3372 (verify_instructions): Notify compiler about type map.
3373 * verify.h (vfy_note_stack_depth): Updated.
3374 (vfy_note_stack_type): Likewise.
3375 (vfy_note_local_type): Likewise.
3376 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
3378 * verify-glue.c (vfy_note_stack_depth): Correctly size type
3379 state. Added `method' argument.
3380 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
3382 (vfy_note_local_type): New function.
3383 (vfy_unsuitable_type): Likewise.
3384 (vfy_return_address_type): Likewise.
3385 (vfy_null_type): Likewise.
3387 * verify.h (VFY_IN_GCC): Removed.
3388 (VFY_WANT_TYPEMAP): Removed.
3389 * verify-impl.c (verify_instructions_0): Removed useless "\".
3390 (struct state) <next>: Uncomment.
3392 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
3394 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
3397 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3399 * Make-lang.in (verify.o): Re-enabled this target.
3400 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
3401 (vfy_get_interface): Likewise.
3402 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
3403 * verify.h (verify_jvm_instructions_new): Declare.
3404 * verify-impl.c (free_state): Temporarily comment out unused
3407 2004-10-06 Tom Tromey <tromey@redhat.com>
3409 * java-tree.h (JV_STATE_READ): New enum value.
3411 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3413 * verify.h: New file.
3415 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
3417 * verify-impl.c, verify-glue.c, verify.h: New files.
3418 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
3420 2004-09-24 Andrew Haley <aph@redhat.com>
3422 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
3423 for a slot if it's of pointer type.
3425 2004-09-14 Tom Tromey <tromey@redhat.com>
3427 * class.c (make_class_data): Correctly initialize "state" field.
3428 Initialize "engine" field.
3429 * decl.c (java_init_decl_processing): Add "engine" field.
3431 2004-09-10 Andrew Haley <aph@redhat.com>
3434 * expr.c (build_invokeinterface): Use fast method for interface
3436 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
3437 JTI_ITABLE_PTR_TYPE.
3438 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
3439 (emit_symbol_table): Add new arg, element_size.
3440 * decl.c (java_init_decl_processing): Initialize Class.itable.
3441 * class.c (GEN_TABLE): New macro.
3442 (gen_indirect_dispatch_tables): Use it. Add itable.
3443 (make_class_data): Add new arg for emit_symbol_table().
3445 (add_miranda_methods): Make sure search_class has been parsed.
3446 (emit_symbol_table): Add new arg, element_size.
3448 2004-09-06 Andrew Haley <aph@redhat.com>
3450 * verify.c (merge_types): Return Object for all merges of
3452 * expr.c (add_type_assertion): Don't generate assertions when
3453 source type is array of Object.
3455 2004-09-03 Andrew Haley <aph@redhat.com>
3457 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3459 * lang.c (java_post_options): Force flag_verify_invocations if
3460 we're not using indirect dispatch.
3462 * expr.c (pop_type_0): Move test for interfaces before call to
3463 can_widen_reference_to().
3464 (build_signature_for_libgcj): Remove generation of canonical array
3466 (add_type_assertion): Canonicalize both arrays.