1 2008-03-27 Tom Tromey <tromey@redhat.com>
3 * Make-lang.in: Revert automatic dependency patch.
5 2008-03-25 Tom Tromey <tromey@redhat.com>
7 * Make-lang.in: Removed most explicit .o targets.
8 (java/jvspec.o): Reduce to variable setting. Moved to java/.
9 ($(GCJ)$(exeext)): Update.
10 (JAVA_OBJS): New variable.
11 (JCFDUMP_OBJS): Reformat.
12 (java_OBJS): New variable.
13 (java/jvspec.o-warn): Update.
14 (java/parse.o-warn): Remove.
15 (JAVA_TREE_H): Remove.
16 (java/jcf-io.o): Reduce to variable setting.
17 (ALL_CPPFLAGS): Likewise.
19 2008-03-12 Paolo Bonzini <bonzini@gnu.org>
21 * mangle.c (java_mangle_decl): Remove dead check.
23 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
25 * jcf-parse.c (java_parse_file): Assert binding levels are
27 * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
30 2008-03-02 Jakub Jelinek <jakub@redhat.com>
32 * jcf-dump.c (version): Update copyright notice dates.
34 2008-02-29 Tom Tromey <tromey@redhat.com>
36 * expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
38 * java-tree.h (struct lang_decl_func): Remove obsolete comment.
40 2008-02-26 Tom Tromey <tromey@redhat.com>
42 * lang.c (java_post_options): Remove conditional.
43 * expr.c (expand_byte_code): Remove old location code.
44 * jcf-parse.c (set_source_filename): Remove old location code.
45 (give_name_to_class): Likewise.
46 (jcf_parse): Likewise.
47 (duplicate_class_warning): Likewise.
48 (parse_class_file): Likewise.
49 (java_parse_file): Likewise.
50 * decl.c (finish_method): Remove old location code.
51 * class.c (push_class): Remove old location code.
53 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
56 * Make-lang.in (jc1): Add $(GMPLIBS).
58 2008-01-23 David Daney <ddaney@avtrex.com>
60 * class.c (hide) Rename to...
61 (java_hide_decl) ... this throughout, and make public.
62 * resource.c (Jr_count): Remove.
63 (compile_resource_data): Call java_mangle_resource_name to generate
64 decl name. Make resource decl public and hidden.
65 * mangle.c (java_mangle_resource_name): New function.
66 * java-tree.h (java_hide_decl, java_mangle_resource_name): Declare
69 2008-01-04 Andrew Haley <aph@redhat.com>
72 * jcf-parse.c (parse_zip_file_entries): Move decl to compile on
75 2008-01-03 Andrew Haley <aph@redhat.com>
78 * jcf-parse.c (parse_zip_file_entries): Unset TYPE_ALIAS_SET if
79 we're about to re-layout the type.
81 2007-12-20 Alexandre Oliva <aoliva@redhat.com>
83 * lang.c (java_classify_record): Don't return
84 RECORD_IS_INTERFACE for now.
86 2007-12-18 Andrew Haley <aph@redhat.com>
89 * jcf-parse.c (java_parse_file): Remove call to
90 java_mark_class_local.
91 (parse_class_file): Reinstate call to java_mark_class_local here.
92 * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
93 already set, call java_mangle_decl() and make_decl_rtl() to
94 rewrite its name as a hidden alias.
96 2007-12-15 Alexandre Oliva <aoliva@redhat.com>
99 * lang.c (java_classify_record): New.
100 (LANG_HOOKS_CLASSIFY_RECORD): Override.
102 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
105 * decl.c (finish_method): Pass 'false' for the new
106 allocate_struct_function parameter.
108 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
110 * expr.c (build_jni_stub): Use the computed jni func type for
113 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
115 * class.c (JAVA_TREEHASHHASH_H): Use TYPE_UID.
117 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
119 * expr.c (type_assertion_hash): Hash type uids rather than
122 2007-11-17 David Daney <ddaney@avtrex.com>
123 Andrew Haley <aph@redhat.com>
125 * constants.c (build_constants_constructor): Use POINTER_SIZE
126 insead of BITS_PER_WORD in big-endian work around.
128 2007-11-07 Tom Tromey <tromey@redhat.com>
131 * gcj.texi (Input Options): Add missing noun.
133 2007-11-02 Tom Tromey <tromey@redhat.com>
136 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
137 * zipfile.h (ZIPEMPTYMAGIC): New define.
139 2007-11-01 Tom Tromey <tromey@redhat.com>
141 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
142 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
143 (java/jcf-io.o): Depend on zipfile.h.
145 2007-10-17 Richard Guenther <rguenther@suse.de>
147 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
150 2007-10-03 Andrew Haley <aph@redhat.com>
153 * class.c (mangled_classname): Detect and replace illegal
154 characters in assembly language symbols.
155 (gen_indirect_dispatch_tables): Call mangled_classname() on
158 2007-09-27 Jakub Jelinek <jakub@redhat.com>
160 * lang.c (java_print_error_function): Add third argument.
162 2007-09-15 Tom Tromey <tromey@redhat.com>
164 * java-tree.h (struct lang_decl_func) <function_decl_body>:
166 <init_final>: Likewise.
167 * lang.c (java_dump_tree): Update.
168 * java-tree.h (DECL_FUNCTION_BODY): Remove.
170 2007-09-11 Jan Hubicka <jh@suse.cz>
172 * decl.c (java_expand_body): Kill.
173 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
175 2007-09-06 Tom Tromey <tromey@redhat.com>
177 * jcf-parse.c (parse_class_file): Re-enter the current file.
179 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
181 * boehm.c (mark_reference_fields): Move misaligned pointer check
182 after JREFERENCE_TYPE_P test
184 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
186 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
187 if pointer is misaligned.
189 2007-09-06 Tom Tromey <tromey@redhat.com>
191 * lang.c (java_post_options): Update.
192 * jcf-parse.c (set_source_filename): Update.
193 (give_name_to_class): Update.
195 (duplicate_class_warning): Update.
196 (parse_class_file): Update.
197 (java_parse_file): Update.
198 * expr.c (expand_byte_code): Update.
200 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
202 * decl.c (finish_method): Use set_cfun.
204 2007-09-04 Andrew Haley <aph@redhat.com>
206 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
207 when using the ARM EABI.
209 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
211 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
213 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
215 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
217 * jcf.h (JCF_FINISH): Likewise.
219 2007-08-28 Tom Tromey <tromey@redhat.com>
221 * Make-lang.in (java.tags): Don't tag '*.y' files.
223 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
225 * lang.c (java_decl_ok_for_sibcall): Likewise.
227 2007-08-21 Paul Brook <paul@codesourcery.com>
228 Nathan Sidwell <nathan@codesourcery.com>
229 Mark Mitchell <mark@codesourcery.com>
230 Joseph Myers <joseph@codesourcery.com>
232 * jcf-dump.c (version): Use pkgversion_string. Update copyright
235 2007-08-20 Richard Guenther <rguenther@suse.de>
237 * lang.c (java_tree_inlining_walk_subtrees): Remove.
238 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
240 2007-08-17 Tom Tromey <tromey@redhat.com>
242 * typeck.c (find_method_in_interfaces): Update.
243 * jcf-parse.c (load_class): Update.
244 * java-gimplify.c (java_gimplify_component_ref): Removed.
245 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
247 (java_gimplify_expr): Update.
248 * decl.c (java_init_decl_processing): Update.
249 * class.c (set_constant_value): Update.
250 (make_class_data): Update.
251 (finish_class): Update.
252 (build_static_field_ref): Update.
253 (is_compiled_class): Update.
254 (maybe_layout_super_class): Update.
255 (layout_class): Update.
256 (layout_class_method): Update.
257 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
258 (lang_decl_var) <am, final_iud, cif>: Removed fields.
259 (lang_decl_func) <init_calls_this>: Removed field.
260 (lang_type) <dot_class, verify_method>: Removed fields.
261 (FIELD_NESTED_ACCESS): Removed.
262 (FIELD_NESTED_ACCESS_P): Removed.
263 (DECL_FIELD_FINAL_IUD): Removed.
264 (DECL_LOCAL_FINAL_IUD): Removed
265 (LOCAL_FINAL_P): Removed.
266 (FINAL_VARIABLE_P): Removed.
267 (CLASS_FINAL_VARIABLE_P): Removed.
268 (DECL_BIT_INDEX): Removed.
269 (DECL_INIT_CALLS_THIS): Removed.
270 (FIELD_LOCAL_ALIAS): Removed.
271 (FIELD_LOCAL_ALIAS_USED): Removed.
272 (FIELD_THISN): Removed.
273 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
274 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
275 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
276 (TYPE_DOT_CLASS): Removed.
277 (TYPE_VERIFY_METHOD): Removed.
278 (ID_CLASSDOLLAR_P): Removed.
279 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
281 (classdollar_identifier_node): Removed.
282 (TYPE_UNKNOWN): Removed.
283 (CLASS_FROM_SOURCE_P): Removed.
284 * expr.c (build_jni_stub): Update.
285 (force_evaluation_order): Update.
286 (build_java_empty_stmt): Update.
287 (build_class_init): Update.
288 (java_stack_swap): Update.
289 (build_jni_stub): Update.
291 2007-08-17 Tom Tromey <tromey@redhat.com>
293 * java-tree.h (LABEL_TYPE_STATE): Removed.
294 (load_type_state): Removed.
296 (LABEL_VERIFIED): Removed.
297 (type_states): Declare.
298 * expr.c (type_states): New global.
299 (load_type_state): Now static. Use type_states. Changed
301 (lookup_label): Don't set LABEL_PC.
302 (expand_byte_code): Don't use LABEL_VERIFIED.
303 (note_instructions): Initialize type_states.
304 * verify-glue.c (vfy_note_stack_depth): Rewrote.
305 (vfy_note_stack_type): Use type_states.
306 (vfy_note_local_type): Likewise.
308 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
310 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
311 * jcf.h (JCF_FINISH): Likewise.
313 2007-07-31 Nick Clifton <nickc@redhat.com>
315 * java-gimplify.c: Change copyright header to refer to version 3
316 of the GNU General Public License and to point readers at the
317 COPYING3 file and the FSF's license web page.
318 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
319 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
320 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
321 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
322 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
323 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
324 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
326 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
328 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
330 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
332 * lang.c (java_get_callee_fndecl): Constify.
334 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
336 * mangle.c (set_type_package_list): Constify.
337 * verify-glue.c (vfy_make_string): Delete.
338 * verify.h (vfy_make_string): Likewise.
340 2007-07-26 Tom Tromey <tromey@redhat.com>
342 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
343 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
344 EXIT_BLOCK_LABELED_BLOCK): Likewise.
345 * lang.c (java_tree_inlining_walk_subtrees): Update.
346 (java_dump_tree): Likewise.
347 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
349 * decl.c (push_labeled_block, pop_labeled_block): Remove.
350 * java-gimplify.c (java_gimplify_labeled_block_expr,
351 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
352 (java_gimplify_expr): Update.
354 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
356 * class.c (java_treetreehash_hash, java_treetreehash_compare):
358 * expr.c (type_assertion_eq): Likewise.
359 * jcf-io.c (compare_path): Likewise.
360 * jcf-parse.c (cmpstringp): Likewise.
361 * verify-impl.c (get_one_type, compute_argument_types,
362 compute_return_type): Likewise.
364 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
368 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
370 2007-07-12 Richard Guenther <rguenther@suse.de>
372 * expr.c (expand_java_return): RETURN_EXPR has void type.
373 (build_jni_stub): Likewise. Use a comparison against zero
374 for null-pointer test in COND_EXPR.
375 (build_field_ref): Build POINTER_PLUS_EXPR with correct
376 type. Convert result instead.
377 (build_invokevirtual): Likewise.
379 2007-07-09 Geoffrey Keating <geoffk@apple.com>
382 * lang.c (java_init): Remove setting of force_align_functions_log.
383 * class.c (add_method_1): Set DECL_ALIGN of non-static method
384 to cope with ptrmemfunc_vbit_in_pfn.
386 2007-07-03 David Daney <ddaney@avtrex.com>
388 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
392 (java/index.html): Same.
394 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
396 * class.c (make_class_data): Build the index in sizetype.
397 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
398 adding to a pointer type.
399 (build_symbol_entry): Likewise.
400 * expr.c (build_java_arrayaccess): Likewise.
401 (build_field_ref): Likewise.
402 (build_known_method_ref): Likewise.
403 (build_invokevirtual): Likewise.
404 * except.c (build_exception_object_ref): Do a
405 NEGATIVE and then a POINTER_PLUS_EXPR instead
408 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
410 * typeck.c (java_signed_type): Remove.
411 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
412 * java-tree.h (java_signed_type): Remove.
414 2007-05-18 Geoffrey Keating <geoffk@apple.com>
416 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
417 (print_constant): Likewise.
419 2007-05-14 Rafael Avila de Espindola <espindola@google.com>
421 * expr.c (build_java_binop): Use unsigned_type_for instead of
423 * java-tree.h (java_unsigned_type): Remove.
424 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
425 * typeck.c (java_unsigned_type): Remove.
427 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
429 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
430 instead of checking GIMPLE_STMT_P in chain_next.
432 2007-04-06 Colin Walters <walters@redhat.com>
434 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
435 * jcf-io.c (open_class): Copy 'filename'.
437 2007-04-03 Andrew Haley <aph@redhat.com>
439 * jvgenmain.c (main): Change main to use class$, not class$$.
440 (do_mangle_classname): Likewise.
441 * class.c (hide): New function.
442 (add_field): Hide everything that shouldn't be visible outside a
444 (build_static_class_ref): Likewise.
445 (build_classdollar_field): Likewise.
446 (make_class_data): Likewise.
447 (layout_class_method): Likewise.
448 * expr.c (special_method_p): New function.
450 * class.c (push_class): Don't bogusly guess the source filename.
451 * jcf-parse.c (give_name_to_class): Don't set input_location from
452 DECL_ARTIFICIAL decls.
454 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
456 * typeck.c (java_signed_or_unsigned_type): Removed.
457 (java_signed_type): use get_signed_or_unsigned_type instead of
458 java_signed_or_unsigned_type.
459 (java_unsigned_type): Ditto.
460 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
461 * java-tree.h (java_signed_or_unsigned_type): Removed.
463 2007-03-26 Tom Tromey <tromey@redhat.com>
465 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
466 (java.maintainer-clean): Likewise.
467 (java.install-man): Likewise.
468 (.INTERMEDIATE): Removed grmiregistry.pod.
469 (grmiregistry.pod): Removed.
470 * gcj.texi (Invoking gcjh): Removed.
471 (Invoking gjnih): Likewise.
472 (Invoking grmiregistry): Likewise.
475 (which-gcj): Removed.
477 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
479 * Make-lang.in: Add install-pdf target as copied from
480 automake v1.10 rules.
482 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
484 * gcj.texi: Standardize title page.
486 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
488 * class.c: Fix a comment typo.
490 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
491 Brooks Moses <brooks.moses@codesourcery.com>
492 Lee Millward <lee.millward@codesourcery.com>
494 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
496 (BUILD_MONITOR_EXIT): Likewise.
498 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
499 (java_gimplify_modify_expr): Likewise.
501 * class.c (cache_this_class_ref): Use build_call_expr.
502 (build_static_field_ref): Likewise.
503 (emit_indirect_register_classes): Likewise.
504 (emit_register_classes): Likewise.
506 * resource.c (write_resource_constructor): Use build_call_expr.
508 * builtins.c (builtin_creator_function): Change interpretation of
509 the second parameter to be the whole CALL_EXPR instead of the arglist.
510 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
511 (min_builtin): Likewise.
512 (abs_builtin): Likewise.
513 (java_build_function_call_expr): Likewise.
514 (convert_real): Likewise.
515 (UNMARSHAL3): Likewise.
516 (UNMARSHAL4): Likewise.
517 (UNMARSHAL5): Likewise.
518 (build_arglist_for_builtin): Delete. Fix callers to use
519 build_call_expr instead.
520 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
522 (compareAndSwapInt_builtin): Likewise.
523 (compareAndSwapLong_builtin): Likewise.
524 (compareAndSwapObject_builtin): Likewise.
525 (putVolatile_builtin): Likewise.
526 (getVolatile_builtin): Likewise.
527 (VMSupportsCS8_builtin): Likewise.
528 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
531 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
532 (build_java_throw_out_of_bounds_exception): Likewise.
533 (java_check_reference): Likewise.
534 (build_java_arraystore_check): Likewise.
535 (build_newarray): Likewise.
536 (build_anewarray): Likewise.
537 (expand_java_multinewarray): Use build_call_list instead of build3.
538 (build_java_monitor): Use build_call_nary instead of build3.
539 (java_create_object): Likewise.
540 (expand_java_NEW): Likewise.
541 (build_instanceof): Likewise.
542 (expand_java_CHECKCAST): Likewise.
543 (build_java_soft_divmod): Likewise.
544 (build_java_binop): Likewise.
545 (build_field_ref): Likewise.
546 (build_class_init): Likewise.
547 (rewrite_arglist_getcaller): Use build_call_expr.
548 (build_invokeinterface): Use build_call_nary instead of build3.
549 (expand_invoke): Use build_call_list instead of build3.
550 (build_jni_stub): Use build_call_nary, build_call_list, or
551 build_call_expr instead of build3.
552 (expand_java_field_op): Use build_call_expr instead of build3.
553 (force_evaluation_order): Use new CALL_EXPR accessors.
555 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
557 2007-02-15 David Daney <ddaney@avtrex.com>
559 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
560 (java.maintainer-clean):Add gc-analyze.1.
561 (.INTERMEDIATE): Add gc-analyze.pod.
562 (gc-analyze.pod): New rule.
563 (java.install-man): Install gc-analyze.1
564 * gcj.texi: Add new section for the gc-analyze program.
566 2007-02-07 Andrew Haley <aph@redhat.com>
568 * class.c (uncache_this_class_ref): New.
569 * expr.c (build_jni_stub): Initialize the class.
570 (expand_byte_code): Call uncache_this_class_ref after generating
573 2007-02-06 Tom Tromey <tromey@redhat.com>
576 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
578 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
580 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
582 2007-02-02 Andrew Haley <aph@redhat.com>
584 * expr.c (expand_byte_code): Call cache_this_class_ref() and
585 cache_cpool_data_ref().
586 Set TYPE_CPOOL_DATA_REF.
587 (cache_cpool_data_ref): New function.
588 * constants.c (build_ref_from_constant_pool): Remove special-case
589 code for flag_indirect_classes.
590 (build_constant_data_ref): Move special-case code for
591 flag_indirect_classes here from build_ref_from_constant_pool.
592 * decl.c (finish_method): Move class initialization from here to
593 cache_this_class_ref.
594 * class.c (cache_this_class_ref): New function.
595 (build_class_ref): Use this_classdollar for the ouput class.
597 2007-02-02 David Daney <ddaney@avtrex.com>
599 * class.c (is_compiled_class): Move check to avoid reloading
601 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
604 2007-02-01 Andrew Haley <aph@redhat.com>
607 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
609 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
611 * class.c, jcf-parse.c: Fix comment typos.
613 2007-01-30 Tom Tromey <tromey@redhat.com>
615 * gcj.texi (Strings): Fix documentation for JvNewString.
617 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
619 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
622 2007-01-30 Ben Elliston <bje@au.ibm.com>
624 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
626 2007-01-29 Tom Tromey <tromey@redhat.com>
629 * jvspec.c (lang_specific_driver): Handle separate -I argument.
630 * lang.opt (-I): Add 'Separate'.
632 2007-01-29 Andrew Haley <aph@redhat.com>
634 * class.c (add_method_1): Mark fndecl as external unless we are
635 compiling it into this object file.
637 2007-01-24 Andrew Haley <aph@redhat.com>
639 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
640 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
642 2007-01-22 Andrew Haley <aph@redhat.com>
644 * builtins.c (VMSupportsCS8_builtin): New function.
646 2007-01-23 Andrew Pinski <pinskia@gmail.com>
649 * jcf-io.c (opendir_in_zip): Close the file
650 and free zipf before returning after an error.
652 2007-01-16 Tom Tromey <tromey@redhat.com>
654 * java-tree.def: Added copyright header.
656 2007-01-15 Tom Tromey <tromey@redhat.com>
658 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
660 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
662 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
663 (EXPR_WFL_NODE): Likewise.
664 (EXPR_WFL_LINECOL): Likewise.
665 (EXPR_WFL_FILENAME): Likewise.
666 (EXPR_WFL_LINENO): Likewise.
667 (build_expr_wfl, expr_add_location): Don't declare.
668 (build_unknown_wfl): Removed.
669 (EXPR_WFL_FILENAME_NODE): Removed.
670 (EXPR_WFL_COLNO): Removed.
671 (EXPR_WFL_SET_LINECOL): Removed.
672 (DECL_FUNCTION_WFL): Removed.
673 (DECL_FIELD_FINAL_WFL): Removed.
674 (struct lang_decl_func) <wfl>: Removed field.
675 <called_constructor>: Likewise.
676 <inner_access>: Likewise.
677 (struct lang_decl_var) <wfl>: Removed field.
678 (DECL_CONSTRUCTOR_CALLS): Removed.
679 (DECL_FUNCTION_ACCESS_DECL): Likewise.
680 (DECL_FUNCTION_INNER_ACCESS): Likewise.
681 (DECL_SPECIFIC_COUNT): Likewise.
682 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
683 * expr.c (build_expr_wfl): Removed.
684 (expr_add_location): Likewise.
686 2007-01-12 Tom Tromey <tromey@redhat.com>
688 * jcf-dump.c (main): Updated call to find_class.
689 * lang.c (java_init): Removed dead code.
690 * jcf-parse.c (read_class): Don't use java_source field. Removed
692 (parse_zip_file_entries): Don't use java_source field.
693 (process_zip_dir): Likewise.
694 (jcf_parse): Removed dead code.
695 (java_parse_file): Likewise.
696 (read_class): Updated call to find_class.
697 * jcf-io.c (find_class): Don't use java_source field. Removed
698 'source_ok' argument, .java logic.
699 * jcf.h (JCF) <java_source>: Removed field.
700 (JCF_ZERO): Updated. (find_class): Updated.
701 * decl.c: Removed dead code.
702 * class.c: Removed dead code.
704 2007-01-11 Tom Tromey <tromey@redhat.com>
706 * typeck.c (convert): Don't use flag_emit_class_files.
707 * lang.c (java_post_options): Don't use flag_emit_class_files.
708 (java_handle_option): Don't use flag_extraneous_semicolon or
710 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
711 flag_emit_class_files.
712 (load_class): Likewise.
713 * java-tree.h (flag_emit_class_files): Don't declare.
714 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
715 (flag_extraneous_semicolon): Don't declare.
716 (flag_not_overriding): Likewise.
717 (flag_static_local_jdk1_1): Likewise.
718 (flag_redundant): Likewise.
719 * expr.c (build_newarray): Don't use flag_emit_class_files.
720 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
721 flag_emit_class_files.
722 (build_class_ref): Likewise.
723 * builtins.c (check_for_builtin): Don't use
724 flag_emit_class_files.
726 2007-01-10 Tom Tromey <tromey@redhat.com>
728 * lang.c (java_can_use_bit_fields_p): Removed.
729 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
731 2007-01-09 Andrew Haley <aph@redhat.com>
733 * expr.c (build_java_arrayaccess): Rewrite to generate array
734 access in canonical form.
735 (expand_java_arraystore): Use build_fold_addr_expr() on address of
738 2007-01-03 Andrew Haley <aph@redhat.com>
741 * expr.c (expand_java_field_op): If we're initializing a field's
742 declaring interface we should not also initialize the class
743 context in which it was referenced.
745 2007-01-02 Tom Tromey <tromey@redhat.com>
747 * java-tree.h (compiling_from_source, current_encoding,
748 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
749 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
750 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
751 JTI_WFL_OPERATOR): Removed
752 (finit_identifier_node, instinit_identifier_node,
753 length_identifier_node, super_identifier_node,
754 continue_identifier_node, access0_identifier_node, wfl_operator):
756 (cyclic_inheritance_report,
757 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
758 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
759 DECL_FIXED_CONSTRUCTOR_P): Removed.
760 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
762 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
763 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
764 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
765 import_list, import_demand_list>: Removed.
766 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
767 cxx_keyword_p): Removed.
768 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
769 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
770 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
771 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
772 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
773 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
774 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
775 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
776 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
777 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
778 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
779 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
780 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
781 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
782 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
783 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
784 java_parse_abort_on_error, extract_field_decl): Removed.
786 * lang.c: (compiling_from_source, current_encoding): Removed.
787 (java_handle_option): Ignore -fencoding.
788 * parse.h: Don't include lex.h.
789 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
790 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
791 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
792 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
793 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
794 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
795 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
796 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
797 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
798 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
799 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
800 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
801 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
802 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
803 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
804 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
805 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
806 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
807 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
808 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
809 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
810 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
811 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
812 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
813 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
814 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
815 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
816 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
817 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
818 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
819 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
820 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
821 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
822 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
823 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
824 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
825 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
826 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
827 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
828 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
829 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
830 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
831 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
832 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
833 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
834 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
835 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
836 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
837 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
838 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
839 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
840 SET_CPC_STATIC_INITIALIZER_STMT,
841 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
842 java_complete_class, java_check_circular_reference,
843 java_fix_constructors, java_layout_classes, java_reorder_fields,
844 java_method_add_stmt, java_get_line_col, reset_report,
845 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
846 java_finish_classes, ctxp, ctxp_for_generation,
847 ctxp_for_generation_last): Removed.
848 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
849 * mangle.c (utf8_cmp): New function.
850 (cxx_keywords): New global.
851 (cxx_keyword_p): New function.
852 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
853 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
854 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
855 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
856 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
857 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
858 * Make-lang.in (java.srcextra): Do nothing.
859 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
860 (JAVA_OBJS): Don't mention deleted files.
861 (java.mostlyclean): Likewise.
862 (java.clean): Likewise.
863 (JAVA_LEX_C): Removed.
864 (buffer.o, check-init.o, parse.o): Remove unused targets.
866 * jcf-parse.c (read_class): Comment out unused code.
867 (java_layout_seen_class_methods): New function.
868 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
870 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
871 (init_jcf_parse): Removed.
872 * config-lang.in (gtfiles): Remove deleted files.
873 * decl.c (java_init_decl_processing): Don't initialize
874 finit_identifier_node, instinit_identifier_node,
875 length_identifier_node, super_identifier_node,
876 continue_identifier_node, access0_identifier_node. Don't call
878 * class.c (cyclic_inheritance_report): New global.
879 (add_method_1): Don't use
880 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
881 (maybe_layout_super_class): Comment out code.
882 (safe_layout_class): New function.
883 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
884 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
885 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
886 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
887 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
888 (java_gimplify_case_expr): Removed.
889 (java_gimplify_default_expr): Likewise.
890 (java_gimplify_new_array_init): Likewise.
892 * keyword.gperf, keyword.h: Removed.
893 * chartables.h: Removed.
894 * check-init.c: Removed.
895 * buffer.c, buffer.h: Removed.
896 * convert.h: Removed.
897 * gen-table.pl: Removed.
898 * lex.c, lex.h: Removed.
900 2007-01-02 Andrew Haley <aph@redhat.com>
902 * expr.c (expand_java_arraystore): Make sure we perform a bounds
903 check at runtime before we perform a type check.
905 2006-12-19 Andrew Haley <aph@redhat.com>
907 * decl.c: Bump minor BC ABI version.
909 2006-12-13 Gary Benson <gbenson@redhat.com>
911 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
913 2006-12-12 Tom Tromey <tromey@redhat.com>
915 * lang-specs.h: Pass -M options to jc1.
916 * jcf-depend.c (jcf_dependency_add_file): Don't emit
919 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
921 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
923 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
925 * lang-specs.h: Pass '%U'-based options as separate arguments.
927 2006-12-05 Tom Tromey <tromey@redhat.com>
930 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
932 * class.c (add_field): Handle ACC_SYNTHETIC.
933 (add_method_1): Likewise. Handle bridge and varargs.
934 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
936 (set_class_decl_access_flags): Handle synthetic and annotation.
937 * java-tree.h (METHOD_BRIDGE): New macro.
938 (METHOD_VARARGS): Likewise.
939 (TYPE_SYNTHETIC): Likewise.
940 (TYPE_ANNOTATION): Likewise.
941 (lang_type): New fields 'synthetic' and 'annotation'.
942 (lang_decl_func): New fields 'varargs' and 'bridge'.
944 2006-12-04 Andrew Haley <aph@redhat.com>
946 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
949 2006-11-29 Gary Benson <gbenson@redhat.com>
951 * expr.c (rewrite_arglist_getcaller): Reorder.
953 2006-11-29 Andrew Haley <aph@redhat.com>
955 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
956 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
958 2006-11-23 Andrew Haley <aph@redhat.com>
960 * expr.c (rewrite_arglist_getcaller): New.
961 (rewrite_arglist_getclass): Fix indentation.
962 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
963 gnu.classpath.VMStackWalker.getCallingClassLoader().
964 * builtins.c (initialize_builtins): Remove duplicate def'n of
966 Add __builtin_return_address.
968 2006-11-22 Andrew Haley <aph@redhat.com>
970 * jcf-reader.c (get_attribute): Mark attr_type unused.
972 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
974 2007-01-08 Richard Guenther <rguenther@suse.de>
976 * lex.c (do_java_lex): Use build_int_cst_wide_type.
977 * jcf-parse.c (get_constant): Likewise.
979 2006-11-12 Jan Hubicka <jh@suse.cz>
981 * resource.c (compile_resource_data): Update for new varpool names.
982 * java/class.c (build_utf8_ref): Likewise.
984 2006-11-12 David Daney <ddaney@avtrex.com>
987 * typeck.c (build_java_array_type): Increase buffer sizes.
989 2006-11-11 Richard Guenther <rguenther@suse.de>
991 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
992 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
994 2006-11-06 Andrew Haley <aph@redhat.com>
996 * java-tree.h (CONSTANT_LazyFlag): New.
997 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
998 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
1000 (handle_constant): Return 0 for dummy cpool entries.
1001 Handle constants of kind Class.
1002 Handle constants of kind NameAndType.
1003 (handle_enclosingmethod_attribute): New.
1004 (handle_signature_attribute): New.
1005 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
1006 (HANDLE_SIGNATURE_ATTRIBUTE): New.
1007 (handle_constant): Use unmangle_classname()rather than calling
1008 identifier_subst() directly.
1010 2006-11-02 Andrew Haley <aph@redhat.com>
1012 * java-tree.h (FIELD_ENUM): New.
1013 (lang_decl_var.field_enum): New.
1014 (lang_type.enum_class): New.
1016 * class.c (set_class_decl_access_flags): Handle enum types.
1017 (add_field): Handle enum fields.
1018 (get_access_flags_from_decl): Likewise.
1020 * class.c (make_class_data): Put reflection_data into rodata.
1022 2006-11-01 Andrew Haley <aph@redhat.com>
1024 * jcf-parse.c (field_offsets, bit_obstack): New variables.
1025 (jcf_parse): Write end marker to annotation_data.
1026 (java_parse_file): Create field_offsets bitmap. Destroy it.
1027 (annotation_grow, annotation_rewrite_byte)
1028 (annotation_rewrite_short, annotation_rewrite_int)
1029 (annotation_read_short, annotation_write_byte)
1030 (annotation_write_short, annotation_write_int)
1031 (handle_long_constant, handle_constant, handle_element_value)
1032 (handle_annotation, handle_annotations)
1033 (handle_annotation_attribute, rewrite_reflection_indexes)
1034 (handle_member_annotations, handle_parameter_annotations)
1035 (handle_default_annotation): New functions.
1036 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
1037 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
1038 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1039 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
1040 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
1041 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
1042 (TYPE_REFLECTION_DATA): New.
1043 (TYPE_REFLECTION_DATASIZE): New.
1044 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
1046 * jcf-reader.c (get_attribute): Pass field/method index and
1047 attribute type to get_attribute().
1048 * constants.c (find_class_or_string_constant): Make nonstatic.
1049 (cpool_for_class): Likewise.
1050 (build_constants_constructor): Separate string and scalar types.
1051 * class.c (make_class_data): Generate field_indexes permutation.
1052 Pass it to rewrite_reflection_indexes().
1053 (make_class_data): Generate constructor for reflection_data field.
1055 2006-10-20 Tom Tromey <tromey@redhat.com>
1057 * gcj.texi (Top): Don't mention jv-scan.
1058 (Invoking gcj): Likewise.
1059 (Invoking gcjh): Likewise.
1060 (Invoking gjnih): Likewise.
1061 (Invoking gij): Likewise.
1062 (Invoking gcj-dbtool): Likewise.
1063 (Invoking jv-scan): Removed.
1064 * parse-scan.y: Removed.
1065 * jv-scan.c: Removed.
1066 * config-lang.in (stagestuff): Don't mention jv-scan.
1067 * Make-lang.in (java): Removed jv-scan.
1068 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1069 (JVSCAN_OBJS): Removed.
1070 (jv-scan$(exeext)): Likewise.
1071 (JAVA_MANFILES): Removed jv-scan.1.
1072 (java.uninstall): Don't mention jv-scan.
1073 (java.mostlyclean): Likewise.
1074 (java.maintainer-clean): Likewise.
1075 (.INTERMEDIATE): Likewise.
1076 (java/jv-scan.o): Removed.
1077 (jv-scan.pod): Likewise.
1078 (java.srcextra): Don't mention parse-scan.c.
1079 (java.mostlyclean): Likewise.
1080 (java/parse-scan.c): Removed.
1081 (java/parse-scan.o-warn): Removed.
1082 (java/parse-scan.o): Removed.
1084 2006-10-20 Tom Tromey <tromey@redhat.com>
1086 * lang.c (java_handle_option): Don't use
1087 jcf_write_base_directory.
1088 * jcf.h (jcf_write_base_directory): Removed.
1089 * parse.y (java_expand_classes): Don't call write_classfile.
1090 * config-lang.in (gtfiles): Removed jcf-write.c.
1091 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
1092 (java/jcf-write.o): Removed.
1093 * jcf-parse.c (parse_class_file): Don't call write_classfile.
1094 * java-tree.h (write_classfile): Removed declaration.
1095 * jcf-write.c: Removed.
1097 2006-10-20 Tom Tromey <tromey@redhat.com>
1099 * Make-lang.in (java): Removed gjnih, gcjh.
1100 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1101 (GCJH_OBJS): Removed.
1102 (GJNIH_OBJS): Likewise.
1103 (gjnih$(exeext)): Likewise.
1104 (gcjh$(exeext)): Likewise.
1105 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
1106 (java.install-common): Don't special case gcjh.
1107 (java.uninstall): Don't mention gcjh, gjnih.
1108 (java.mostlyclean): Likewise.
1109 (java.maintainer-clean): Likewise.
1110 (.INTERMEDIATE): Likewise.
1111 (gcjh.pod): Removed.
1112 (gjnih.pod): Likewise.
1113 (GCJH_TARGET_INSTALL_NAME): Removed.
1114 (java/gjavah-jni.o): Removed.
1115 (java/gjavah.o): Likewise.
1116 * config-lang.in (stagestuff): Removed gjnih, gcjh.
1117 * gjavah.c: Removed.
1119 2006-10-17 Tom Tromey <tromey@redhat.com>
1121 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
1124 2006-10-17 Tom Tromey <tromey@redhat.com>
1126 * jvgenmain.c (main): Handle -findirect-dispatch.
1127 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1130 2006-10-06 Andrew Haley <aph@redhat.com>
1132 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1133 have a compare_and_swap builtin.
1134 (compareAndSwapLong_builtin): Likewise.
1135 (compareAndSwapObject_builtin): Likewise.
1137 2006-10-04 Andrew Haley <aph@redhat.com>
1139 * builtins.c (java_builtins): Add compareAndSwapInt,
1140 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1141 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1142 putObjectVolatile, getObjectVolatile, getIntVolatile,
1143 getLongVolatile, getLong.
1144 (UNMARSHAL3): New macro.
1145 (UNMARSHAL4): Likewise.
1146 (UNMARSHAL5): Likewise.
1147 (build_arglist_for_builtin): New function.
1148 (build_addr_sum, build_check_this): New functions.
1149 (putObject_builtin. compareAndSwapInt_builtin,
1150 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1151 putVolatile_builtin, getVolatile_builtin): New builtins.
1153 2006-06-08 Andrew Haley <aph@redhat.com>
1155 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1156 get_symbol_table_index().
1157 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1159 (build_known_method_ref): New arg: special. Pass it to
1160 get_symbol_table_index.
1161 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1163 (build_invokevirtual): New arg: special. Pass it to
1164 get_symbol_table_index.
1165 (expand_invoke): New variable: special.
1166 Pass it to maybe_rewrite_invocation().
1167 Pass it to build_known_method_ref().
1168 * class.c (build_symbol_entry): Add new arg: special. Use it to
1169 build the symbol table conbstructor.
1170 (emit_symbol_table): Extract SPECIAL from the method list and pass
1171 it to build_symbol_entry().
1172 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1173 special accordingly.
1175 2006-09-08 Andrew Haley <aph@redhat.com>
1177 * class.c (layout_class_method): Use build_java_signature, not
1178 build_java_argument_signature. Use lookup_java_method, not
1179 lookup_argument_method.
1181 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1182 Bryce McKinlay <bryce@mckinlay.net.nz>
1184 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1186 2006-07-18 Tom Tromey <tromey@redhat.com>
1188 * lang.opt: Added missing -W options.
1190 2006-07-12 Tom Tromey <tromey@redhat.com>
1193 * lang-specs.h: Pass '%U'-based options as separate arguments.
1194 Use -faux-classpath.
1195 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1196 * lang.opt (faux-classpath): New option.
1198 2006-07-07 Tom Tromey <tromey@redhat.com>
1200 * class.c (make_class_data): Set value for reflection_data field.
1201 * decl.c (java_init_decl_processing): Add reflection_data field.
1203 2006-07-07 Tom Tromey <tromey@redhat.com>
1205 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1207 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1209 2006-07-07 Andrew Haley <aph@redhat.com>
1211 * jcf-parse.c (set_source_filename): Don't check for
1212 CLASS_FROM_CURRENTLY_COMPILED_P.
1215 2006-07-07 Andrew Haley <aph@redhat.com>
1217 * java-tree.h (java_read_sourcefilenames): Declare.
1218 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1219 * lang.opt (fsource-filename): New opt.
1220 * lang-specs.h: Add -fsource-filename.
1221 * jcf-parse.c (num_files, filenames): New variables.
1222 (reverse, cmpstringp, java_read_sourcefilenames,
1223 find_sourcefile): New.
1224 (set_source_filename): Call find_sourcefile to find the real name
1227 2006-06-27 Tom Tromey <tromey@redhat.com>
1229 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1230 Signature, LocalVariableTypeTable, annotation attributes.
1231 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1232 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1233 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1234 (HANDLE_METHOD): Likewise.
1235 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1236 (print_annotation): New function.
1237 (print_element_value): Likewise.
1239 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1240 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1241 (print_parameter_annotations): New function.
1242 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1243 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1245 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1246 (print_annotations): New function.
1248 2006-06-23 Tom Tromey <tromey@redhat.com>
1250 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1251 emitting class files, always use 1.5.
1252 * gcj.texi (Input Options): Document -fsource.
1253 (Code Generation): Document -ftarget.
1255 2006-06-21 Tom Tromey <tromey@redhat.com>
1258 * expr.c (expand_java_field_op): Initialize field's declaring
1261 2006-06-20 Tom Tromey <tromey@redhat.com>
1263 * expr.c (push_value): Always flush quick stack.
1265 2006-06-19 Tom Tromey <tromey@redhat.com>
1267 * expr.c (push_value): Also flush quick stack if value is a
1270 2006-06-19 Tom Tromey <tromey@redhat.com>
1272 * expr.c (push_value): Flush quick stack if value has side
1275 2006-06-13 Tom Tromey <tromey@redhat.com>
1277 * class.c (is_compiled_class): Explicitly check for current
1280 2006-06-09 Tom Tromey <tromey@redhat.com>
1282 * gjavah.c (decompile_method): Don't decompile a static field
1285 2006-06-06 Tom Tromey <tromey@redhat.com>
1287 * lang-specs.h <jc1>: Add .jar file to command line if
1288 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1290 2006-06-05 Tom Tromey <tromey@redhat.com>
1292 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1293 synthetic, enum, annotation.
1294 * jcf.h (ACC_BRIDGE): New macro.
1295 (ACC_VARARGS): Likewise.
1296 (ACC_SYNTHETIC): Likewise.
1297 (ACC_ENUM): Likewise.
1298 (ACC_ANNOTATION): Likewise.
1300 2006-06-04 Tom Tromey <tromey@redhat.com>
1302 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1303 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1305 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1306 when needed. Handle classpath-setting.
1307 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1308 * lang-specs.h: Rewrote.
1310 2006-06-04 Tom Tromey <tromey@redhat.com>
1312 * jcf-io.c (find_class): Set source_ok to 0.
1313 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1314 (parse_class_file): Don't call java_mark_class_local.
1315 (java_parse_file): Skip .java files. Call java_mark_class_local
1316 before lowering any code.
1317 (parse_zip_file_entries): Don't call duplicate_class_warning
1319 (process_zip_dir): ... call it here.
1320 * class.c (add_field): Don't mark field external if it is being
1321 compiled into this object.
1322 (make_class_data): Handle situation where class_dtable_decl is
1323 created before Class is compiled.
1324 (is_compiled_class): Don't assume files in zip are compiled into
1326 (layout_class_method): Don't mark method external if it is being
1327 compiled into this object.
1329 2006-06-04 Tom Tromey <tromey@redhat.com>
1331 * jcf-path.c (jcf_path_compute): New function.
1332 * jcf.h (jcf_path_compute): Declare.
1334 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1336 * decl.c: Include langhooks.h.
1337 (builtin_function): Remove.
1338 (java_init_decl_processing): Replace calls to builtin_function
1339 with add_builtin_function.
1340 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1341 (java/decl.o): Depend on langhooks.h.
1342 * java-tree.h (builtin_function): Remove.
1344 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1346 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1348 2006-09-12 Tom Tromey <tromey@redhat.com>
1350 * expr.c (push_value): Always flush quick stack.
1352 2006-09-12 Tom Tromey <tromey@redhat.com>
1355 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1356 the push of the called method's return result.
1358 2006-09-12 Tom Tromey <tromey@redhat.com>
1360 * jvspec.c (lang_specific_driver): Read spec file even if
1363 2006-09-12 Tom Tromey <tromey@redhat.com>
1366 * expr.c (expand_java_field_op): Initialize field's declaring
1367 interface if necessary.
1369 2006-09-12 Tom Tromey <tromey@redhat.com>
1372 * expr.c (expand_java_field_op): No error for assignments not in
1373 class initializer or constructor.
1375 2006-08-22 Andrew Haley <aph@redhat.com>
1377 * decl.c (java_add_stmt): Give the statement list a type.
1379 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1380 Bryce McKinlay <bryce@mckinlay.net.nz>
1382 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1384 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1387 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1388 or '--' is used with a constant operand.
1389 (java_complete_lhs): When processing a '++' or '--' expression,
1390 don't call java_complete_tree but java_complete_lhs, so that a
1391 static final variable operand is never replaced by its value. This
1392 avoids an ICE later on.
1393 (patch_unaryop): Fixed typo in comment.
1395 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1397 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1399 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1401 * builtins.c (check_for_builtin): If a builtin could result in a
1402 direct call being generated, don't use it if flag_indirect_dispatch
1405 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1407 * gcj.texi (Invocation): Corrections for Invocation API example.
1409 2006-07-04 Andrew Haley <aph@redhat.com>
1411 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1414 2006-06-21 Andrew Haley <aph@redhat.com>
1416 * java-tree.h (update_aliases): Remove
1417 * expr.c (expand_iinc): Remove call to update_aliases().
1418 (STORE_INTERNAL): Likewise.
1419 * decl.c (update_aliases, initialize_local_variable)
1420 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1422 2006-06-19 Andrew Haley <aph@redhat.com>
1426 * expr.c (java_modify_addr_for_volatile): New function.
1427 (expand_java_field_op): Handle volatile fields.
1428 * java-gimplify.c (java_gimplify_component_ref): Call
1429 java_modify_addr_for_volatile to give the field_ref the correct
1431 (java_gimplify_modify_expr): Likewise.
1432 * java-tree.h (java_modify_addr_for_volatile): New decl.
1434 2006-06-17 Karl Berry <karl@gnu.org>
1436 * gcj.texi (@dircategory): Use "Software development" instead
1437 of "Programming", following the Free Software Directory.
1439 2006-06-16 Andrew Haley <aph@redhat.com>
1441 * class.c (make_class_data): When using flag_indirect_classes,
1442 don't initialize the vtable of Class instances.
1444 2006-06-09 Andrew Haley <aph@redhat.com>
1448 * builtins.c (initialize_builtins): Add __sync_synchronize().
1449 * class.c (add_field): Mark volatile fields.
1450 * java-gimplify.c (java_gimplify_expr): Call new functions to
1451 handle self-modifying exprs and COMPONENT_REFs.
1452 (java_gimplify_component_ref): New.
1453 (java_gimplify_modify_expr): Add handling for volatiles.
1455 2006-06-08 Tom Tromey <tromey@redhat.com>
1457 * gcj.texi (libgcj Runtime Properties): Document
1458 gnu.gcj.user.realname.
1460 2006-06-08 Andrew Haley <aph@redhat.com>
1462 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1463 get_symbol_table_index().
1464 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1466 (build_known_method_ref): New arg: special. Pass it to
1467 get_symbol_table_index.
1468 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1470 (build_invokevirtual): New arg: special. Pass it to
1471 get_symbol_table_index.
1472 (expand_invoke): New variable: special.
1473 Pass it to maybe_rewrite_invocation().
1474 Pass it to build_known_method_ref().
1475 * class.c (build_symbol_entry): Add new arg: special. Use it to
1476 build the symbol table conbstructor.
1477 (emit_symbol_table): Extract SPECIAL from the method list and pass
1478 it to build_symbol_entry().
1479 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1480 special accordingly.
1482 2006-06-06 David Daney <ddaney@avtrex.com>
1484 * gcj.texi (libgcj Runtime Properties): Document
1485 gnu.gcj.runtime.NameFinder.show_raw and
1486 gnu.gcj.runtime.NameFinder.remove_unknown.
1488 2006-06-06 Tom Tromey <tromey@redhat.com>
1490 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1491 synthetic, enum, annotation.
1492 * jcf.h (ACC_BRIDGE): New macro.
1493 (ACC_VARARGS): Likewise.
1494 (ACC_SYNTHETIC): Likewise.
1495 (ACC_ENUM): Likewise.
1496 (ACC_ANNOTATION): Likewise.
1498 2006-06-06 Mike Stump <mrs@apple.com>
1500 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1501 installing during build.
1503 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1505 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1506 classname-to-library resolution mechanism.
1507 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1508 mechanism deprecated.
1509 (libgcj Runtime Properties): Document
1510 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1512 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1514 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1516 (jword): Define to uint64 on 64-bit arches.
1517 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1519 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1521 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1524 2006-05-26 Tom Tromey <tromey@redhat.com>
1526 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1527 * verify-glue.c (vfy_class_type): New function.
1528 * verify-impl.c (check_constant): Allow 'ldc class'.
1529 * verify.h (vfy_class_type): Declare.
1531 2006-05-25 Andrew Haley <aph@redhat.com>
1534 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1535 update all lifetimes, not just the first one.
1537 2006-05-24 Tom Tromey <tromey@redhat.com>
1539 * java-tree.h: Fixed flag documentation.
1541 2006-05-24 Tom Tromey <tromey@redhat.com>
1544 * jcf.h (ACC_INVISIBLE): Changed value.
1546 2006-05-24 Andrew Haley <aph@redhat.com>
1549 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1552 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1554 * lang.opt (femit-class-file): Remove VarExists.
1556 2006-05-16 Tom Tromey <tromey@redhat.com>
1558 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1561 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1564 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1567 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1569 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1570 (java/expr.o): Replace target.h with $(TARGET_H).
1571 (java/parse.o): Likewise.
1573 2006-05-10 Andrew Haley <aph@redhat.com>
1575 * class.c (emit_indirect_register_classes): Fix comment.
1577 2006-05-04 Tom Tromey <tromey@redhat.com>
1579 * java-tree.h (uses_jv_markobj_p): Declare.
1580 * class.c (uses_jv_markobj_p): Removed.
1581 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1582 (get_boehm_type_descriptor): Use it.
1583 (uses_jv_markobj_p): Moved from class.c. Return bool.
1585 2006-05-04 Tom Tromey <tromey@redhat.com>
1587 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1589 2006-05-04 Andrew Haley <aph@redhat.com>
1591 * class.c (make_field_value): Always build_address_of fdecl if
1592 there is an initializer.
1594 2006-05-03 Andrew Haley <aph@redhat.com>
1597 * expr.c (maybe_rewrite_invocation): New function.
1598 (rewrite_arglist_getclass): Likewise.
1600 (expand_invoke): Call maybe_rewrite_invocation.
1601 * parse.y (patch_invoke): Likewise.
1602 * java-tree.h: (maybe_rewrite_invocation): New function.
1604 2006-04-21 Andrew Haley <aph@redhat.com>
1606 * lang.c (java_init): Handle flag_indirect_classes.
1607 * jvgenmain.c: Use "class$$" instead of "class$".
1608 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1610 (mangle_class_field): Special case "class$$" as well as "class$".
1611 * constants.c (build_ref_from_constant_pool): If
1612 flag_indirect_classes, generate a ref into the heap.
1613 * decl.c (constants_field_decl_node,
1614 constants_data_field_decl_node): New.
1615 * class.c (build_static_class_ref): New.
1616 (build_classdollar_field): Factor out from build_class_ref().
1617 (make_field_value): Handle static fields in heap.
1618 (make_class_data): Make sure we get a static ref to class.
1619 Make class initializer const if flag_indirect_classes.
1620 (register_class): Build a class_ref for initialization if
1621 flag_indirect_classes.
1622 (emit_indirect_register_classes): New.
1624 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1626 * expr.c, gjavah.c: Fix comment typos.
1628 2006-04-03 Andrew Haley <aph@redhat.com>
1631 * expr.c (build_field_ref): Don't check the field offset if
1634 2006-03-30 Andrew Haley <aph@redhat.com>
1637 * lang.c (java_attribute_table): New.
1638 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1639 * expr.c (build_field_ref): Add a null pointer check for all
1640 fields of offset > 4k. Don't do so for accesses via the this
1641 pointer, which we know can never be null.
1642 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1645 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1647 * Make-lang.in: Rename docdir to gcc_docdir.
1649 2006-03-30 Tom Tromey <tromey@redhat.com>
1652 * parse.y (java_reorder_fields): Reset superclass field's size as
1655 2006-03-28 Tom Tromey <tromey@redhat.com>
1658 * parse.y (find_most_specific_methods_list): Added 'class'
1660 (lookup_method_invoke): Updated.
1662 2006-03-15 Tom Tromey <tromey@redhat.com>
1664 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1665 non-static method calls.
1667 2006-03-15 David Daney <ddaney@avtrex.com>
1669 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1672 2006-03-15 David Daney <ddaney@avtrex.com>
1674 * lang.opt (-freduced-reflection): New option.
1675 * lang.c (java_post_options): Generate an error if
1676 -freduced-reflection used with -fjni or -findirect-dispatch.
1677 * java-tree.h (flag_reduced_reflection): Declare new variable.
1678 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1679 if bitmap overflows and flag_reduced_reflection set.
1680 * class.c (uses_jv_markobj_p): New function.
1681 (make_class_data): Moved generation of vtable to before
1682 reflection data, generate less reflection data if
1683 flag_reduced_reflection set.
1684 * gcj.texi: Document -freduced-reflection.
1686 2006-03-15 Tom Tromey <tromey@redhat.com>
1689 * class.c (get_interface_method_index): Don't put <clinit> into
1692 2006-03-15 Tom Tromey <tromey@redhat.com>
1694 * parse.y (analyze_clinit_body): Ignore empty statements.
1696 2006-03-08 David Daney <ddaney@avtrex.com>
1698 * gcj.texi: Document -static-libgcj option.
1700 2006-02-20 Andrew Haley <aph@redhat.com>
1702 * jcf-parse.c (parse_class_file): Set input_location from
1705 2006-02-15 Andrew Haley <aph@redhat.com>
1707 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1708 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1709 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1711 2006-02-09 Andrew Haley <aph@redhat.com>
1714 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1715 in their superclass.
1717 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1720 2006-02-08 Tom Tromey <tromey@redhat.com>
1723 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1724 * builtins.c (convert_real): New function.
1725 (java_builtins): Handle Float.intBitsToFloat,
1726 Float.floatToRawIntBits, Double.longBitsToDouble,
1727 Double.doubleToRawLongBits.
1729 2006-02-07 Andrew Haley <aph@redhat.com>
1731 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1732 class other than the one in which we expected to find it, ignore
1736 * constants.c (build_constants_constructor): move initializer into
1737 first halfword on a 64-bit big-endian machine.
1739 2006-02-04 Tom Tromey <tromey@redhat.com>
1742 * builtins.c (max_builtin): Skip floating point 'max'.
1743 (min_builtin): Skip floating point 'min'.
1744 (check_for_builtin): Never return NULL_TREE.
1746 2006-02-04 Tom Tromey <tromey@redhat.com>
1749 * expr.c (push_type): Avoid side effect in gcc_assert.
1751 2006-02-04 Roger Sayle <roger@eyesopen.com>
1753 * decl.c (java_init_decl_processing): Create char_type_node as a
1754 regular INTEGER_TYPE node.
1755 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1756 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1757 test for char_type_node and promoted_char_type_node as special
1758 instances of INTEGER_TYPE tree codes.
1759 (promote_type,build_java_signature): Likewise.
1760 * jcf-write.c (adjust_typed_op): Likewise.
1761 * mangle.c (mangle_type): Likewise.
1762 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1763 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1765 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1767 * expr.c (java_stack_swap): Revert gcc_assert patch.
1769 2006-02-03 Ben Elliston <bje@au.ibm.com>
1771 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1772 * typeck.c: Likewise.
1773 * verify-impl.c: Likewise.
1774 * class.c: Likewise.
1776 * jcf-parse.c: Likewise.
1777 * constants.c: Likewise.
1778 * check-init.c: Likewise.
1779 * jcf-write.c: Likewise.
1780 * verify-glue.c: Likewise.
1781 * mangle.c: Likewise.
1784 * boehm.c: Likewise.
1786 2006-02-01 Jan Hubicka <jh@suse.cz>
1788 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1789 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1791 2006-01-30 Andrew Haley <aph@redhat.com>
1794 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1796 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1798 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1799 Update copyright notice dates.
1801 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1803 * jvspec.c (lang_specific_spec_functions): Remove.
1805 2006-01-06 Tom Tromey <tromey@redhat.com>
1807 * gcj.texi (Arrays): Added more documentation for
1809 (Primitive types): Correct information about primitive classes.
1810 (Reference types): New node.
1813 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1815 * jcf-parse.c (set_source_filename): Set the decl source location
1816 even when returning early.
1818 2005-12-15 Tom Tromey <tromey@redhat.com>
1819 Andrew Haley <aph@redhat.com>
1822 * parse.y (resolve_expression_name): Don't generate accessor
1823 methods for constant fields.
1825 2005-12-13 Andrew Haley <aph@redhat.com>
1829 * class.c (maybe_layout_super_class): Update current_class before
1830 calling do_resolve_class.
1832 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1835 * jcf-write.c (write_classfile): Use PID in temporary class
1836 file. Save/restore errno when reporting error.
1838 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1841 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1842 to bare_function_type and including the return type
1843 * builtins.c (initialize_builtins) : Change builtin mangled name
1844 constants to conform to new mangling scheme
1846 2005-12-08 Andrew Haley <aph@redhat.com>
1849 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1850 (soft_abstractmethod_node): New.
1851 * expr.c (build_field_ref): Add in-line check for missing field.
1852 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1854 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1856 * Make-lang.in (java.all.build, java.install-normal): Remove.
1858 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1860 * Make-lang.in: Remove all dependencies on s-gtype, except for
1863 2005-12-07 Richard Sandiford <richard@codesourcery.com>
1865 * class.c (build_utf8_ref, emit_register_classes): Use
1866 switch_to_section and get_section.
1868 2005-12-06 Tom Tromey <tromey@redhat.com>
1871 * parse.y (patch_new_array_init): Revert previous patch.
1872 (lookup_method_invoke): Use size-less array type when creating an
1873 anonymous constructor.
1875 2005-12-05 Tom Tromey <tromey@redhat.com>
1877 * parse.y (patch_new_array_init): Don't set length on array.
1879 2005-12-02 Richard Guenther <rguenther@suse.de>
1881 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1882 buildN instead of build.
1883 * class.c (finish_class): Likewise.
1884 * expr.c (java_create_object): Likewise.
1886 2005-11-28 Tom Tromey <tromey@redhat.com>
1889 * expr.c (build_jni_stub): Unwrap the return value.
1890 * java-tree.h (soft_unwrapjni_node): New define.
1891 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1892 * decl.c (java_init_decl_processing): Initialize
1893 soft_unwrapjni_node.
1895 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
1897 * gcj.texi (gij options): Add -Xss documentation.
1899 2005-11-08 Wil Mahan <wmahan@gmail.com>
1902 * zextract.c (read_zip_archive): Fix out of memory error when
1903 reading jar files with zip-style comments.
1905 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
1907 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1909 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1911 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
1912 Wil Mahan <wmahan@gmail.com>
1915 * class.c (make_class): Create empty binfo here.
1916 (set_super_info): Only create binfo if we have superclasses.
1918 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
1921 * parse.y (method_header): Make the result of the rule a NULL_TREE
1922 when a parsing error occurs.
1924 2005-09-29 Tom Tromey <tromey@redhat.com>
1927 * jcf-io.c (memoized_dirlist_hash): New function.
1928 (caching_stat): Use it.
1930 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
1933 * class.c (inherits_from_p): Try to lay out super class
1934 if it is not already laid out.
1935 (maybe_layout_super_class): Handle the case where SUPER_CLASS
1938 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
1940 * builtins.c (max_builtin, min_builtin, abs_builtin,
1941 java_build_function_call_expr): Use fold_buildN.
1942 * class.c (layout_class_method): Likewise.
1943 * expr.c (java_truthvalue_conversion, build_java_jsr,
1944 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1945 build_java_binop, build_field_ref, expand_compare,
1946 build_known_method_ref, build_invokevirtual,
1947 process_jvm_instruction): Likewise.
1948 * parse.y (patch_binop, patch_exit_expr): Likewise.
1949 * typeck.c (convert_ieee_real_to_integer): Likewise.
1950 (convert): Don't call fold after convert_ieee_real_to_integer.
1952 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
1955 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1956 the newly created type. Set import lists here, not in create_class.
1957 (jdep_resolve_class): Set current_class.
1958 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
1959 the current package context, not ctxp->package.
1960 (cicp_cache): Removed.
1961 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1962 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1963 * java-tree.h (TYPE_PACKAGE): New macro.
1964 (struct lang_type): New member 'package'.
1966 2005-09-09 Andrew Haley <aph@redhat.com>
1969 * expr.c (pop_type_0): If the expected type is object or ptr
1970 (i.e. void*), return the type of the object we just popped from
1973 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
1975 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1976 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1978 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
1980 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1981 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1982 typos. Follow spelling conventions.
1984 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
1987 * typeck.c (lookup_do): Look up interfaces for the original class,
1989 * parse.y (java_check_regular_methods): Fix diagnostic message for
1990 more restrictive overriding of a method from an interface.
1992 2005-08-16 Tom Tromey <tromey@redhat.com>
1994 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1995 class' initial state.
1997 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2000 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
2001 `literal_token' for large numeric input tokens.
2003 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
2006 * parse.y (nested_field_access_p): Rename to nested_member_access_p
2007 and expand to handle method accesses across nested classes.
2008 (build_outer_method_access_method): Rename to
2009 build_nested_method_access_method. Minor adjustments to comments.
2010 (resolve_expression_name): Use the newly-renamed
2011 nested_member_access_p method.
2012 (resolve_qualified_expression_name): Likewise.
2013 (patch_method_invocation): Also consider static methods for access
2014 method generation. Minor adjustments to comments.
2015 (maybe_use_access_method): Use the more general
2016 nested_memeber_access_p to determine access across nested class
2017 boundaries. Allow THIS_ARG to be NULL (for static methods).
2019 2005-08-15 Tom Tromey <tromey@redhat.com>
2022 * expr.c (build_field_ref): Don't generate otable reference when
2023 DECL_FIELD_OFFSET is 0.
2024 * class.c (maybe_layout_super_class): Pass outer class to
2027 2005-08-15 Tom Tromey <tromey@redhat.com>
2029 * java-tree.h (LABEL_IN_SUBR): Removed.
2030 (LABEL_IN_SUBR): Likewise.
2031 (LABEL_IS_SUBR_START): Likewise.
2032 (LABEL_SUBR_START): Likewise.
2033 (LABEL_SUBR_CONTEXT): Likewise.
2034 (LABEL_CHANGED): Likewise.
2035 (LABEL_RETURN_LABEL): Likewise.
2036 (LABEL_RETURN_TYPE_STATE): Likewise.
2037 (LABEL_RETURN_LABELS): Likewise.
2038 (RETURN_MAP_ADJUSTED): Likewise.
2039 (LABEL_PENDING_CHAIN): Likewise.
2041 2005-08-15 Tom Tromey <tromey@redhat.com>
2043 * Make-lang.in (JAVA_OBJS): Removed verify.o
2044 (java/verify.o): Removed.
2045 * verify.c: Removed.
2046 * lang.c (flag_new_verifier): Removed.
2047 (java_post_options): Updated.
2048 * java-tree.h (flag_new_verifier): Removed.
2049 (verify_jvm_instructions): Removed.
2050 * expr.c (pop_type_0): Assume flag_new_verifier is true.
2051 (build_java_check_indexed_type): Likewise.
2052 (expand_java_arraystore): Likewise.
2053 (expand_java_arrayload): Likewise.
2054 (pop_arguments): Likewise.
2055 (expand_byte_code): Likewise.
2056 (process_jvm_instruction): Likewise.
2058 2005-08-10 Andrew Haley <aph@redhat.com>
2060 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
2061 type mismatches to make legal GIMPLE.
2063 2005-08-10 Robin Green <greenrd@greenrd.org>
2066 * parse.y (maybe_use_access_method): Generalize check from
2067 java.lang.Object to any superclass of current_class
2069 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2071 * class.c (build_class_ref): Wrap the primary class type in a
2073 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
2074 primary class type from the NOP_EXPR in which it was placed.
2076 2005-07-28 Diego Novillo <dnovillo@redhat.com>
2078 * expr.c (expand_load_internal): Fix missing parens in
2081 2005-07-28 Andrew Haley <aph@redhat.com>
2083 * expr.c (expand_load_internal): Convert to destination type.
2085 2005-07-22 Manfred Hollstein <mh@suse.com>
2087 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
2088 (check_constant): Likewise.
2089 (check_wide_constant): Likewise.
2091 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2093 Make CONSTRUCTOR use VEC to store initializers.
2094 * check-init.c (check_init): Update to cope with VEC in
2096 * class.c (make_field_value, make_method_value, get_dispatch_table,
2097 make_class_data, emit_symbol_table, emit_catch_table,
2098 emit_assertion_table): Use build_constructor_from_list instead of
2100 * constants.c (build_constants_constructor): Likewise.
2101 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
2102 VEC in CONSTRUCTOR_ELTS.
2103 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
2104 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
2106 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
2108 * parse.y (build_new_array_init): Use build_constructor_from_list
2109 instead of build_constructor.
2110 (patch_new_array_init): Update to cope with VEC in
2112 (array_constructor_check_entry): Likewise.
2114 2005-07-12 Tom Tromey <tromey@redhat.com>
2116 * jvspec.c (lang_specific_driver): Put filelist_filename first on
2119 2005-07-12 Tom Tromey <tromey@redhat.com>
2122 * parse-scan.y (interface_member_declaration): Added
2125 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2127 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2128 (LABEL_PENDING_CHAIN): Ditto.
2130 (DECL_BIT_INDEX): Ditto.
2132 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2135 * parse.y (inner_class_accessible): New function. Logic moved from
2136 check_inner_class_access.
2137 (check_inner_class_access): Use inner_class_accessible.
2138 (resolve_inner_class): Simplify arguments. Create circularity hash
2139 here. Keep looking for classes if we found one that was inaccessible.
2140 Return the inaccessible class only if there is no other match.
2141 (do_resolve_class): Update for new resolve_inner_class arguments.
2142 Don't create circularity_hash here.
2144 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2147 * parse.y (add_exception_to_throws): New function.
2148 (purge_unchecked_exceptions): Removed.
2149 (get_constructor_super): Renamed from verify_constructor_super. Now
2150 returns the super constructor after verification.
2151 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2152 or save/restore the exception list.
2153 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2154 class initializers and constructors to the throws clause of the method.
2156 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2159 * parse.y (interface_member_declaration): Allow empty statements in
2160 interface declarations.
2162 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2164 * Makefile.in (parse.o): Adjust dependencies.
2165 * parse.y: Include tree-dump.h.
2167 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2169 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2172 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2174 * parse.y (issue_warning_error_from_context): Call
2175 pp_output_formatted_text to be able to get the buffer.
2177 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2179 * parse.y (issue_warning_error_from_context): Update for the
2180 renaming of pp_format_text to pp_format.
2182 2005-06-28 Paul Brook <paul@codesourcery.com>
2184 * decl.c (java_init_decl_processing): Call
2185 default_init_unwind_resume_libfunc.
2187 2005-06-27 Tom Tromey <tromey@redhat.com>
2189 PR java/21540, PR java/13788:
2190 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2191 fold_constant_for_init.
2192 (patch_binop): Added 'folding' argument. Updated all callers.
2193 (patch_unaryop) <NOP_EXPR>: New case.
2194 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2195 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2197 2005-06-25 Jan Hubicka <jh@suse.cz>
2199 * builtins.c (define_builtin): Accept new flags parameter.
2200 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2202 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2204 * all files: Update FSF address in copyright headers.
2206 2005-06-24 Tom Tromey <tromey@redhat.com>
2208 * verify-impl.c (verify_instructions_0): Correctly handle
2209 situation where PC falls off end.
2211 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2214 * parse.y (find_most_specific_methods_list): Remove special case for
2217 2005-06-15 Tom Tromey <tromey@redhat.com>
2220 * class.c (make_method_value): Use soft_abstractmethod_node for
2222 * java-tree.h (soft_abstractmethod_node): New define.
2223 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2224 * decl.c (java_init_decl_processing): Initialize
2225 soft_abstractmethod_node.
2227 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2229 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2231 2005-06-13 Per Bothner <per@bothner.com>
2233 * expr.c (int highest_label_pc_this_method,
2234 start_label_pc_this_method): New globals.
2235 (lookup_label): Add start_label_pc_this_method to pc for label, and
2236 update highest_label_pc_this_method. This prevents conflicts between
2237 labels from different methods.
2238 * java-tree.h: Declare new globals.
2239 * jcf-parse.c (parse_class_file): If needed bump
2240 start_label_pc_this_method and reset highest_label_pc_this_method.
2242 2005-06-13 Tom Tromey <tromey@redhat.com>
2245 * parse.y (nested_field_access_p): Handle case where outer field
2246 is inherited by enclosing class.
2248 2005-06-12 Per Bothner <per@bothner.com>
2250 * class.c (inherits_from_p): Do load_class if needed.
2252 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2254 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2255 * java-tree.h (parse_error_context): Move...
2256 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2257 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2258 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2260 2005-06-08 Roger Sayle <roger@eyesopen.com>
2262 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2264 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2266 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2267 msgid for argument name.
2268 * gjavah.c (error): Likewise.
2269 * java-tree.h (parse_error_context): Likewise.
2270 * parse.y (parse_error_context, parse_warning_context,
2271 issue_warning_error_from_context): Likewise.
2273 2005-06-01 Tom Tromey <tromey@redhat.com>
2276 * class.c (build_static_field_ref): Don't fold constant fields if
2277 current class is from a .class file and we're using indirect
2280 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2282 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2283 * java/Make-lang.in: Updates dependencies.
2285 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2288 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2289 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2290 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2291 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2292 * jcf-write.c (generate_classfile): Use
2293 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2294 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2295 * parse.y (build_outer_field_access): Rename to
2296 build_nested_field_access. Support static fields and outer-to-inner
2298 (outer_field_access_p): Rename to nested_field_access_p. Support
2299 static fields and generalise to outer-to-inner class and sibling
2300 inner class accesses.
2301 (outer_field_expanded_access_p): Rename to
2302 nested_field_expanded_access_p and support static fields.
2303 (outer_field_access_fix): Rename to nested_field_access_fix and
2304 support static fields.
2305 (build_outer_field_access_expr): Rename to
2306 build_nested_field_access_expr and support static fields.
2307 (build_outer_field_access_methods): Rename to
2308 build_nested_field_access_methods and support static fields. For
2309 static fields, generate accessors without class instance parameters.
2310 (build_outer_field_access_method): Rename to
2311 build_nested_field_access_method and support static fields.
2312 (build_outer_method_access_method): Use
2313 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2314 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2315 (resolve_expression_name): Consider static field accesses across
2317 (resolve_qualified_expression_name): Likewise.
2318 (java_complete_lhs): Use nested_field_access_fix instead of
2319 outer_field_access_fix.
2320 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2321 Use nested_field_expanded_access_p instead of
2322 outer_field_expanded_access_p. Use nested_field_access_fix instead
2323 of outer_field_access_fix.
2324 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2325 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2327 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2329 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2330 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2331 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2332 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2333 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2334 (parse_version): Calculate version ID using new method. Use bit-flags
2335 for flag_indirect_dispatch and flag_bootstrap_classes.
2337 2005-05-25 Richard Henderson <rth@redhat.com>
2340 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2341 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2342 DECL_CONTEXT; avoid pushdecl_top_level.
2343 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2344 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2345 (layout_class_method): Likewise.
2346 * decl.c (java_mark_cni_decl_local): New.
2347 (java_mark_class_local): Use it.
2348 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2349 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2350 (struct lang_decl_func): Add local_cni;
2351 (struct lang_decl_var): Add class_field, vtable.
2352 (java_mangle_decl): Declare.
2353 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2354 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2355 (mangle_obstack_1): New.
2356 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2357 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2358 lhd_set_decl_assembler_name for things that don't need mangling.
2359 (mangle_class_field): Rename from java_mangle_class_field, make
2360 static, don't call init_mangling or finish_mangling.
2361 (mangle_vtable): Similarly.
2362 (mangle_local_cni_method_decl): New.
2363 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2364 gcc_assert, and MANGLE_RAW_STRING.
2365 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2367 2005-05-25 DJ Delorie <dj@redhat.com>
2369 * class.c (set_constant_value): Move warning control from if() to
2372 2005-05-24 Richard Henderson <rth@redhat.com>
2374 * builtins.c (define_builtin): Don't call make_decl_rtl.
2375 * constants.c (build_constant_data_ref): Likewise.
2376 * class.c (build_utf8_ref): Likewise.
2377 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2378 (get_dispatch_table, layout_class_method): Likewise.
2379 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2381 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2382 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2383 to determine if we need a non-zero address.
2384 * decl.c (builtin_function): Don't call make_decl_rtl.
2385 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2386 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2387 * resource.c (compile_resource_data): Likewise.
2388 * parse.y (resolve_field_access): Re-word comment to avoid
2391 2005-05-24 Richard Henderson <rth@redhat.com>
2393 * class.c (registered_class): Take it out of class_roots; turn into
2395 (register_class): Make static. Don't duplicate decl node. Use
2397 (emit_register_classes): Use VEC_iterate. Use output_constant
2398 instead of assemble_integer. Don't call mark_decl_referenced
2400 * java-tree.h (register_class): Remove decl.
2402 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2406 * parse.y (register_package, package_list): Remove.
2407 (package_declaration): Do not call register_package.
2408 (do_resolve_class): Do not use package_list.
2410 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2412 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2415 2005-05-15 Tom Tromey <tromey@redhat.com>
2418 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2421 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2423 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2425 2005-05-11 Tom Tromey <tromey@redhat.com>
2427 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2428 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2429 (parse_version): Use it.
2430 * lang.opt (-fbootstrap-classes): New option.
2432 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2435 * class.c (maybe_layout_super_class): Look for imports in this_class.
2436 * parse.h (ctxp_for_generation_last): New.
2437 (do_resolve_class): Add a parameter.
2438 * parse.y (ctxp_for_generation_last): New.
2439 (java_pop_parser_context): Add at end of list.
2440 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2441 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2442 the given type are NULL.
2443 (do_resolve_class): Look into the imports of the new second parameter.
2444 Adjust recursive calls.
2445 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2446 calls to do_resolve_class.
2447 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2448 (java_complete_class): Do not do that here.
2450 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2453 * Make-lang.in (java): Add gjnih.
2454 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2455 (GJNIH_OBJS): New variable.
2456 (gjnih$(exeext)): New target.
2457 (JAVA_MANFILES): Add gjnih.1.
2458 (java.uninstall): Add gjnih.1.
2459 (java.mostlyclean): Add gjnih.
2460 (java.maintainer-clean): Add gjnih.1.
2461 (java/gjavah-jni.o): New target.
2462 (.INTERMEDIATE): Add gjnih.pod.
2463 (gjnih.pod): New target.
2464 * config-lang.in (stagestuff): Add gjnih.
2465 * gcj.texi (Top): Add gjnih node.
2466 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2467 -bootclasspath options.
2468 (Invoking gjnih): New node.
2469 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2470 (TOOLNAME): New macro.
2471 (error): Replace hard-coded gcjh with TOOLNAME.
2472 (process_file): Likewise.
2474 (version): Likewise.
2475 (help): Likewise. Add help output for -force, -old, -trace and -J
2477 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2478 (options): Add force, old, trace and J fields.
2479 (main): Handle -force, -old, -trace and -J options.
2481 2005-05-03 Tom Tromey <tromey@redhat.com>
2484 * gjavah.c (main): Unlink output file on error.
2486 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2488 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2491 2005-04-29 Tom Tromey <tromey@redhat.com>
2493 * expr.c (build_jni_stub): Updated for change to build_block.
2495 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2497 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2499 2005-04-28 Andrew Haley <aph@redhat.com>
2502 * java-tree.h (soft_resolvepoolentry_node): New.
2503 (alloc_constant_fieldref): Declare.
2504 * expr.c (expand_java_field_op): Don't call class_init for
2505 accesses to static fields with indirect dispatch.
2506 * builtins.c (initialize_builtins): Add "__builtin_expect".
2507 * decl.c (soft_resolvepoolentry_node): New variable.
2508 (java_init_decl_processing): Create a decl for
2509 "_Jv_ResolvePoolEntry".
2510 * class.c (build_fieldref_cache_entry): New function.
2511 (build_static_field_ref): Rewrite for indirect dispatch.
2512 * constants.c (find_name_and_type_constant_tree): New function.
2513 (alloc_constant_fieldref): Likewise.
2514 (build_constants_constructor): Handle CONSTANT_Fieldref and
2515 CONSTANT_NameAndType.
2518 * expr.c (force_evaluation_order): Convert outgoing args smaller
2521 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2523 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2524 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2525 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2527 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2529 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2530 to `unlock_stream' with `unlock_std_streams'.
2532 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2534 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2535 instead of just expr.h.
2537 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2539 * gjavah.c (main): Unlock the stdio streams.
2540 * jcf-dump.c (main): Likewise.
2541 * jv-scan.c (main): Likewise.
2542 * jvgenmain.c (main): Likewise.
2544 2005-04-23 DJ Delorie <dj@redhat.com>
2546 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2547 parse.y: Adjust warning() callers.
2549 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2551 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2554 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2556 * gcj.texi: Fix typos and bogus example.
2558 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2560 * except.c: Fix a comment typo.
2562 2005-04-19 Julian Brown <julian@codesourcery.com>
2564 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2565 indirect dispatch with PIC.
2567 2005-04-18 Andrew Haley <aph@redhat.com>
2569 * java-except.h (struct eh_range.handler): Remove unused field.
2570 (handle_nested_ranges): Remove function declaration.
2571 (sanity_check_exception_range): Add function declaration.
2572 * verify.c (verify_jvm_instructions): Remove call to
2573 handle_nested_ranges.
2574 * verify-glue.c (verify_jvm_instructions_new): Call
2575 sanity_check_exception_range.
2576 * except.c (link_handler, eh_range_freelist, link_handler,
2577 handle_nested_ranges): Remove.
2578 (add_handler): Rewrite.
2579 (sanity_check_exception_range): New function.
2580 (print_ranges): New function.
2582 2005-04-13 Julian Brown <julian@codesourcery.com>
2584 * decl.c (finish_method): Give methods once-only linkage.
2586 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2588 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2590 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2592 * java-tree.h: Don't use PARAMS().
2594 2005-04-07 Per Bothner <per@bothner.com>
2596 * class.c (push_class): By default, suppress debug output.
2597 (finish_class): Enable debug output for classes we're emitting.
2599 2005-04-07 Andrew Haley <aph@redhat.com>
2601 * gcj.texi: Correct gcj-dbtool instructions.
2603 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2605 * gcj.texi: Fix a typo.
2606 * lang.c: Fix a comment typo.
2608 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2610 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2611 Mention recognized-and-ignored compatibility options.
2612 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2614 (About CNI): Add Memory allocation section.
2616 2005-04-01 Tom Tromey <tromey@redhat.com>
2618 * decl.c (java_init_decl_processing): Fix types of
2619 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2620 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2621 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2623 2005-03-31 Jan Hubicka <jh@suse.cz>
2625 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2626 * class.c: Include cgraph.h
2627 (make_local_functoin_alias): Mark aslias as needed.
2628 * resource.c: Include cgraph.h
2629 (compile_resource_data): Go via cgraph interface.
2631 2005-03-30 Ian Lance Taylor <ian@airs.com>
2633 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2635 2005-03-30 Tom Tromey <tromey@redhat.com>
2637 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2638 inner_class_info_index==0 or outer_class_info_index==0.
2640 2005-03-29 Tom Tromey <tromey@redhat.com>
2642 * gcj.texi (libgcj Runtime Properties): Document
2643 gnu.gcj.runtime.endorsed.dirs.
2645 2005-03-24 Anthony Green <green@redhat.com>
2647 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2650 2005-03-23 Tom Tromey <tromey@redhat.com>
2652 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2653 (parse_version): Use it.
2655 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2657 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2659 2005-03-18 Andrew Haley <aph@redhat.com>
2662 * decl.c (update_aliases): Don't update variables that are about
2664 (maybe_poplevels): Add comment.
2666 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2669 * jcf-parse.c (duplicate_class_warning): New function.
2670 (java_parse_file): Call duplicate_class_warning if
2671 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2672 (parse_zip_file_entries): Likewise. Also set
2673 CLASS_FROM_CURRENTLY_COMPILED_P.
2675 2005-03-16 Andrew Haley <aph@redhat.com>
2677 * expr.c (expand_java_arrayload): Don't generate a
2678 NullPointerException based on the type of the node.
2679 (build_java_array_length_access): Likewise.
2681 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2683 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2685 2005-03-11 Tom Tromey <tromey@redhat.com>
2687 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2688 (libgcj Runtime Properties): Document the default .db.
2690 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2693 * parse.y (checks_throws_clauses): Check exceptions list even when
2694 the base class does not come from a source file being compiled.
2695 (java_complete_lhs): Remove unused variable 'wfl'.
2697 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2700 * decl.c (finish_method): Emit _Jv_InitClass for private static
2701 methods inside inner classes as well.
2703 2005-03-08 Julian Brown <julian@codesourcery.com>
2704 * Revert patch from 2005-03-08 for causing bootstrap failure on
2707 2005-03-08 Julian Brown <julian@codesourcery.com>
2709 * decl.c (finish_method): Give methods once-only linkage.
2711 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2713 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2715 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2717 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2718 can_widen_reference_to if the C++ ABI is in use.
2719 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2720 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2721 type_isresolved, init_state, set_pc, state_get_pc,
2722 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2723 (verify_fail): Report the current PC from the verifier context.
2724 (free_state): Remove #if 0 block to enable this function.
2725 (free_verifier_context): Call free_state on state_list iterator
2726 values before freeing them.
2727 * expr.c (pop_type_0): Pop correct type for error message when stack
2728 contains a multi-word type.
2730 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2732 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2733 for known NULL array length access.
2735 2005-03-07 Tom Tromey <tromey@redhat.com>
2737 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2739 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2741 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2742 typeck.c: Update copyright.
2744 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2747 * xref.c, xref.h: Remove file.
2748 * Make-lang.in (java/xref.o): Remove.
2749 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2750 * lang.c (flag_emit_xref): Remove definition.
2751 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2752 * typeck.c (convert): Remove use of do_not_fold.
2753 * parse.y (do_not_fold): Remove definition.
2754 (parser grammar): Remove xref code.
2755 (maybe_create_class_interface_decl, create_class): Likewise.
2756 (register_fields, method_header, finish_method_declaration): Likewise.
2757 (declare_local_variables, source_end_java_method): Likewise.
2758 (java_complete_expand_classes): Do not set do_not_fold.
2759 (java_complete_expand_method): Remove xref code.
2760 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2761 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2762 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2763 (patch_synchronized_statement, patch_throw_statement): Likewise.
2764 (maybe_build_class_init_for_field): Likewise.
2766 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2768 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2769 instead of IS_NON_TYPE_CODE_CLASS.
2771 2005-03-04 Andrew Haley <aph@redhat.com>
2774 * class.c (set_method_index): Don't set method_index if it is
2776 (layout_class_method): Don't complain about "non-static method foo
2777 overrides static method" in the case of indirect dispatch.
2779 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2781 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2783 * Make-lang.in: Don't elide warnings in jcf-io.c.
2785 2005-03-01 Per Bothner <per@bothner.com>
2788 * check-init.c (wfl): Remove static.
2789 (final_assign_error, check_init): Replace calls to parse_error_context
2791 (check_init): Save, set, and restore input_location for each exp.
2793 2005-03-01 Per Bothner <per@bothner.com>
2795 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2796 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2797 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2799 2005-03-01 Per Bothner <per@bothner.com>
2801 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2803 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2806 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2809 2005-02-22 Tom Tromey <tromey@redhat.com>
2812 * verify-impl.c (EITHER): New define.
2813 (types_compatible): Handle it.
2814 (check_field_constant): Use it.
2816 2005-02-18 Tom Tromey <tromey@redhat.com>
2819 * verify-impl.c (types_equal): Fixed test.
2822 * verify-glue.c (vfy_class_has_field): New function.
2823 * verify.h (vfy_class_has_field): Declare.
2824 * verify-impl.c (check_field_constant): Added 'putfield'
2826 (verify_instructions_0): Updated.
2827 (types_equal): New function.
2829 2005-02-14 Tom Tromey <tromey@redhat.com>
2832 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2833 stack effect of multianewarray.
2835 2005-02-14 Andrew Haley <aph@redhat.com>
2838 * expr.c (expand_byte_code): Call promote_arguments().
2839 (promote_arguments): New function.
2840 * decl.c (check_local_unnamed_variable): Remove special case for
2842 (find_local_variable): Promote all boolean types to int
2843 when searching for local variable decls.
2845 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2847 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2848 parse-scan.y: Update copyright.
2850 2005-02-11 Per Bothner <per@bothner.com>
2853 * parse-scan.y (input_location): Remove variable.
2854 (main_input_filename): New - replaces input_filename, which isn't
2855 settable if USE_MAPPED_LOCATION.
2856 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2857 so we don't reference input_location or wfl_operator in that case.
2858 * jv-scan.c (expand_location): Remove - no longer used.
2859 (main): Set main_input_filename rather than input_filename.
2861 2005-02-09 Richard Henderson <rth@redhat.com>
2863 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2864 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2866 2005-02-08 Marcin Dalecki <martin@dalecki.de>
2868 * expr.c (add_type_assertion): Use the proper enumeration type,
2869 since this is what htab_find_slot() is expecting.
2871 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2873 * gcj.texi: Update copyright dates.
2875 2005-02-02 Tom Tromey <tromey@redhat.com>
2877 * gcj.texi (libgcj Runtime Properties): Default library_control
2880 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
2883 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2884 (modifiers) when square brackets are present in a declaration for
2886 * jv-scan.c (main): Set input_filename and input_line.
2888 2005-02-01 Tom Tromey <tromey@redhat.com>
2891 * gjavah.c (get_field_name): Don't override name for JNI header.
2893 2005-02-01 Roger Sayle <roger@eyesopen.com>
2895 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2896 of unsigned types using iushr and lushr JVM bytecodes.
2898 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2901 * gjavah.c (jni_print_float): Do not emit floating-point
2902 initialiser for a static final field.
2903 (jni_print_double): Likewise.
2905 2005-02-01 Mark Mitchell <mark@codesourcery.com>
2908 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2909 * gjavah.c (print_field_info): Mark static data members of
2910 floating-point type with "__extension__".
2912 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2914 * gjavah.c (print_field_info): Mark static data members of
2915 floating-point type with "__extension__".
2917 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2920 * parse.y (build_string_concatenation): Remove redundant if.
2921 (patch_conditional_expr): Attempt to patch_string() the condition
2922 of a ?: as well, in addition to its other operands.
2924 2005-01-25 Tom Tromey <tromey@redhat.com>
2926 * Make-lang.in (java/java-tree-inline.o): Removed.
2928 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
2931 * parse.y (patch_binop): Allow comparisons against NULL only
2932 if the other operand is of a reference type.
2934 2005-01-24 Tom Tromey <tromey@redhat.com>
2936 * java-tree.h (gcj_abi_version): Declare.
2937 * class.c (make_class_data): Push gcj_abi_version into "next"
2938 field. Renamed field.
2939 * decl.c (gcj_abi_version): New global.
2940 (parse_version): New function.
2941 (java_init_decl_processing): Call it. Renamed 'next' field.
2943 (GCJ_BINARYCOMPAT_ADDITION): New define.
2945 2005-01-24 Roger Sayle <roger@eyesopen.com>
2948 * jcf-write.c (generate_bytecode_insns): Conversions between
2949 integer types of the same precision shouldn't generate widening
2950 or narrowing conversion bytecodes.
2952 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2954 * java-except.h, java-tree.h: Remove unused prototypes.
2956 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
2959 * jcf-write.c (perform_relocations): Don't call memcpy if source
2960 and destination are the same.
2962 2005-01-17 Tom Tromey <tromey@redhat.com>
2964 * verify-impl.c (get_short): Sign extend.
2965 (get_int): Likewise.
2967 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
2969 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2972 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2974 * verify.c: Revert to the version before the BC-ABI merge.
2976 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2979 * check-init.c (check_init): Take care of references that do not
2980 have an explicit final variable declaration (e.g. array length
2981 access) for pre/post in/de-crement operators.
2983 2005-01-08 Mark Wielaard <mark@klomp.org>
2985 * parse.y (process_imports): Allocate (and free) original_name only
2986 when not already defined.
2987 * jcf-parse.c (read_class): Free results of find_class() and
2989 (java_parse_file): Keep pointer to head of file_list and free when
2990 done. Free result of lrealpath().
2992 2005-01-05 Tom Tromey <tromey@redhat.com>
2994 * gcj.texi (Standard Properties): java.ext.dirs is now used.
2996 2004-12-20 Andrew Haley <aph@redhat.com>
2998 * typeck.c: Use fold_convert for ints and booleans.
3000 2004-12-17 Andrew Haley <aph@redhat.com>
3003 * typeck.c (convert): Use a CONVERT_EXPR when converting to
3004 BOOLEAN_TYPE or CHAR_TYPE.
3005 (convert_to_boolean, convert_to_char) : Remove.
3006 * convert.h (convert_to_boolean, convert_to_char) : Remove.
3007 * expr.c (expand_load_internal): Do type conversion if type is not
3010 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
3013 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
3016 2004-12-07 Andrew Haley <aph@redhat.com>
3019 * jcf-parse.c (load_class): Remove sanity test for missing inner
3022 2004-12-06 Tom Tromey <tromey@redhat.com>
3024 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
3025 (java.uninstall): Likewise.
3026 (java.maintainer-clean): Likewise.
3027 (.INTERMEDIATE): Likewise.
3028 (java.install-man): Likewise.
3029 (gcj-dbtool.pod): New target.
3030 * gcj.texi (Code Generation): Document -findirect-dispatch.
3031 (libgcj Runtime Properties): Document
3032 gnu.gcj.precompiled.db.path.
3033 (Top): Link to "Invoking gcj-dbtool".
3035 2004-12-06 Tom Tromey <tromey@redhat.com>
3038 * java-tree.h (extract_field_decl): Declare.
3039 * parse.y (extract_field_decl): Renamed from
3040 strip_out_static_field_access_decl. No longer static.
3041 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
3043 2004-12-03 Tom Tromey <tromey@redhat.com>
3045 * lang.c (flag_new_verifier): Define.
3046 (java_post_options): Set flag_new_verifier if indirect dispatch
3048 * lang.opt (fnew-verifier): Removed.
3050 2004-12-03 Tom Tromey <tromey@redhat.com>
3053 * Make-lang.in (java.install-common): Only install transformed
3054 gcjh if gcj-cross exists.
3056 2004-12-03 Andrew Haley <aph@redhat.com>
3059 * except.c (link_handler): Patch 'outer' field of siblings of the
3060 range we're demoting.
3062 2004-12-03 Andrew Haley <aph@redhat.com>
3065 * class.c (layout_class_method): Don't fail to override a method
3066 simply because it has DECL_ARTIFICIAL set.
3068 2004-12-02 Tom Tromey <tromey@redhat.com>
3071 * parse.y (craft_constructor): Special case null_pointer_node.
3073 2004-12-02 Tom Tromey <tromey@redhat.com>
3076 * java-gimplify.c (java_gimplify_expr): Don't call
3077 SET_EXPR_LOCATION unless wrapped tree is an expression.
3079 2004-11-27 Per Bothner <per@bothner.com>
3081 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
3082 Fix fencepost error in 'i', which got executed one too many times.
3083 Also, fold memcpy into explicit loop, as originally intended.
3084 Also, free temporary 'buf' which otherwise leaks.
3086 2004-11-27 Per Bothner <per@bothner.com>
3088 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
3089 local static variables if not USE_MAPPED_LOCATION.
3091 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
3093 * class.c, decl.c, expr.c: Fix comment typos.
3095 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
3098 * decl.c (end_java_method): Call
3099 attach_init_test_initialization_flags on all the init_decls.
3100 * parse.y (attach_init_test_initialization_flags): Move to ...
3101 * expr.c (attach_init_test_initialization_flags): here and
3102 support BIND_EXPR also.
3103 * java-tree.h (attach_init_test_initialization_flags): Prototype.
3104 * jcf-parse.c (parse_class_file): Don't disable class init
3107 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
3109 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
3112 2004-11-24 Richard Henderson <rth@redhat.com>
3114 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
3115 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
3117 2004-11-24 Tom Tromey <tromey@redhat.com>
3119 * verify.c (defer_merging): Don't use C++-style comment.
3120 * verify.h (java_opcode): Added java_opcode_end.
3121 * class.c (build_class_ref): Remove C++ comment and old FIXME.
3123 * verify-impl.c (vfy_push_type): Removed bogus "return".
3124 (initialize_stack): Use vfy_alloc and vfy_free.
3125 (verify_instructions_0): Likewise.
3127 * Merged gcj-abi-2-dev-branch to trunk.
3129 2004-11-24 Andrew Haley <aph@redhat.com>
3131 * jcf-parse.c (parse_class_file): Set file_start_location.
3133 2004-11-10 Tom Tromey <tromey@redhat.com>
3135 * class.c (make_field_value): Don't call build_static_field_ref.
3136 (build_static_field_ref): Don't emit direct references when using
3139 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3140 -verbose:class into man page synopsis.
3142 2004-11-09 Tom Tromey <tromey@redhat.com>
3144 * expr.c (build_java_arraystore_check): Still generate check if
3145 element type is itself an array.
3147 2004-11-08 Tom Tromey <tromey@redhat.com>
3149 * java-tree.h (soft_check_assignment_node): Removed.
3150 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3151 * decl.c (java_init_decl_processing): Don't initialize
3152 soft_check_assignment_node.
3154 2004-11-05 Tom Tromey <tromey@redhat.com>
3156 * class.c (layout_class_methods): Don't add Miranda methods when
3157 using indirect dispatch.
3159 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3161 * class.c (make_class_data): Call emit_assertion_table to set the
3162 'assertion_table' field.
3163 (build_signature_for_libgcj): Move here from expr.c.
3164 (add_assertion_table_entry): New function. Callback for assertion
3165 hashtable traversal.
3166 (emit_assertion_table): New. Take class argument, and generate
3167 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3168 * decl.c (init_decl_processing): Define assertion_entry_type record.
3169 Push 'assertion_table' class field instead of 'verify'.
3170 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3171 (type_assertion_hash): Include 'assertion_code' in hash.
3172 (add_type_assertion): Rewritten. Take class and assertion_code
3173 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3174 (can_widen_reference_to): Use new add_type_assertion() arguments.
3175 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3176 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3177 (verify_identifier_node): Removed.
3178 (assertion_entry_type, assertion_table_type): New.
3179 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3180 assertion code definitions.
3181 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3182 'target_type' to 'op1' and 'op2'.
3183 (add_type_assertion): Declare.
3184 (lang_printable_name_wls): Remove unused definition.
3185 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3186 to emit runtime assertion.
3187 (vfy_note_stack_type): Clean up non-C90 declarations.
3188 (vfy_note_local_type): Likewise.
3189 * verify.h (vfy_is_assignable_from): Declare.
3190 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3191 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3192 instead of is_assignable_from_slow().
3193 (types_compatible): Reinstate ref_compatible() call.
3195 2004-11-04 Tom Tromey <tromey@redhat.com>
3197 * class.c (build_static_field_ref): Reverted previous patch.
3199 * class.c (build_static_field_ref): Don't emit direct references
3200 when using indirect dispatch.
3202 2004-11-03 Tom Tromey <tromey@redhat.com>
3204 * expr.c (expand_java_arrayload): Set lhs_type_node.
3205 (expand_java_arraystore): Set rhs_type_node.
3207 2004-11-02 Tom Tromey <tromey@redhat.com>
3209 * jcf-parse.c (compute_class_name): Use filename length from zip
3210 directory, not strlen.
3212 * expr.c (expand_invoke): Mark new interface methods as abstract.
3214 2004-11-01 Tom Tromey <tromey@redhat.com>
3216 * verify-impl.c (push_jump): Removed check for uninitialized
3218 (push_exception_jump): Likewise.
3219 (handle_ret_insn): Likewise.
3220 (handle_jsr_insn): Likewise.
3221 (state_check_no_uninitialized_objects): Removed.
3223 * decl.c (check_local_unnamed_variable): Recognize
3224 promoted-to-int parameters when using the new verifier.
3225 * expr.c (expand_java_arraystore): Explicitly request array type
3226 when using new verifier.
3227 (expand_java_arrayload): Likewise.
3228 (invoke_build_dtable): Don't pass object_type_node as
3229 expression argument to build_java_indirect_ref.
3230 (build_java_check_indexed_type): Do nothing.
3231 (build_java_arraystore_check): Handle case where array doesn't
3233 (build_java_array_length_access): Likewise.
3234 (expand_invoke): Handle case where interface overrides a method
3236 (pop_type_0): Always succeed for reference types.
3237 (process_jvm_instruction): Don't pop a value in a dead
3239 (pop_arguments): Convert arguments to correct types.
3241 2004-10-29 Andrew Haley <aph@redhat.com>
3243 * jcf-parse.c (give_name_to_class): Remove line that was
3246 2004-10-29 Andrew Haley <aph@redhat.com>
3248 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3250 2004-10-20 Andrew Haley <aph@redhat.com>
3252 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3254 2004-10-26 Tom Tromey <tromey@redhat.com>
3256 * verify.h (vfy_notify_verified): Removed.
3257 * verify-glue.c (vfy_notify_verified): Removed.
3259 2004-10-26 Tom Tromey <tromey@redhat.com>
3261 * verify-impl.c (debug_print_state): Declare `i' before code.
3262 (merge_types): Modify `t' when it is null_type.
3264 2004-10-26 Tom Tromey <tromey@redhat.com>
3266 * verify-impl.c (type_print): Renamed from print. Now static and
3268 (debug_print_state): Use type_print.
3270 2004-10-25 Tom Tromey <tromey@redhat.com>
3272 * expr.c (build_invokeinterface): Compute correct offset for
3273 index into interface methods.
3275 2004-10-20 Tom Tromey <tromey@redhat.com>
3277 * java-tree.h (verify_jvm_instructions_new): Declare.
3279 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
3282 * verify-impl.c (verify_instructions): Correctly handle wide
3284 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
3285 (vfy_get_component_type): Strip pointer types.
3286 (vfy_find_class): Use get_type_from_signature. Strip pointer
3288 Include java-except.h.
3290 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3292 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
3293 vfy_push_type_t, set_variable, add_new_state, merge_into,
3294 handle_jsr_insn, branch_prepass, check_class_constant,
3295 check_wide_constant, get_one_type, compute_static_types,
3296 verify_instructions_0): Clean up C99 declarations after statements.
3298 2004-10-20 Tom Tromey <tromey@redhat.com>
3300 * verify-impl.c (merge_refs): Compare reference against iterator,
3303 * verify-glue.c (vfy_tag): Mask off resolved flag.
3305 2004-10-19 Tom Tromey <tromey@redhat.com>
3307 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3308 (init_state_with_stack): Initialize `this_type' in state.
3309 (verify_method): Use debug_print.
3310 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3311 (vfy_note_stack_depth): Reverted last patch.
3312 (vfy_note_stack_type): Note pointer to Object, not Object.
3313 (vfy_note_local_type): Likewise.
3315 * verify.h (vfy_note_instruction_seen): Declare.
3316 * verify-glue.c (verify_jvm_instructions_new): Set
3317 BCODE_EXCEPTION_TARGET on target instruction.
3318 (vfy_note_instruction_seen): New function.
3319 * verify-impl.c (FLAG_INSN_SEEN): New define.
3320 (verify_instructions_0): Set flag on instruction. Save state for
3322 (verify_instructions): Call vfy_note_instruction_seen.
3324 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3325 (verify_jvm_instructions_new): Call method_init_exceptions,
3326 add_handler, and handle_nested_ranges.
3327 * verify-impl.c (verify_method): Return 1 on success.
3328 (verify_instructions_0): Save the state at PC=0.
3330 * verify-impl.c (init_type_from_class): Set is_resolved and
3331 ref_next on new ref_intersection.
3332 (init_type_from_string): Likewise.
3334 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
3336 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
3337 if flag_new_verifier is set.
3338 * java-tree.h (flag_new_verifier): Declare.
3339 * lang.opt (fnew-verifier): New option.
3340 * verify-impl.c: Work around namespace pollution by undef'ing
3342 (struct verifier_context): Make 'bytecode' const.
3343 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
3344 (types_compatible): For the BC-ABI, always consider reference types
3346 (check_class_constant): Use vfr->current_class.
3347 (check_constant): Likewise.
3348 (check_wide_constant): Likewise.
3349 (check_field_constant): Check for 'L' at start of type name.
3350 (get_one_type): Return pointer instead of type. Set type result in
3351 caller via passed type pointer.
3352 (compute_argument_types): Update to use new get_one_type arguments.
3353 (compute_return_type): Likewise.
3354 (make_verifier_context): New. Allocate and initialize 'vfr'.
3355 (free_verifier_context): New. Free 'vfr' and its contents.
3356 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
3357 and free_verifier_context.
3359 2004-10-15 Tom Tromey <tromey@redhat.com>
3361 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
3362 * verify.h (vfy_fail): Fixed formatting.
3364 * verify-impl.c (vfr): Fixed comment formatting.
3365 (collapse_type): New function.
3366 (verify_instructions): Notify compiler about type map.
3367 * verify.h (vfy_note_stack_depth): Updated.
3368 (vfy_note_stack_type): Likewise.
3369 (vfy_note_local_type): Likewise.
3370 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
3372 * verify-glue.c (vfy_note_stack_depth): Correctly size type
3373 state. Added `method' argument.
3374 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
3376 (vfy_note_local_type): New function.
3377 (vfy_unsuitable_type): Likewise.
3378 (vfy_return_address_type): Likewise.
3379 (vfy_null_type): Likewise.
3381 * verify.h (VFY_IN_GCC): Removed.
3382 (VFY_WANT_TYPEMAP): Removed.
3383 * verify-impl.c (verify_instructions_0): Removed useless "\".
3384 (struct state) <next>: Uncomment.
3386 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
3388 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
3391 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3393 * Make-lang.in (verify.o): Re-enabled this target.
3394 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
3395 (vfy_get_interface): Likewise.
3396 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
3397 * verify.h (verify_jvm_instructions_new): Declare.
3398 * verify-impl.c (free_state): Temporarily comment out unused
3401 2004-10-06 Tom Tromey <tromey@redhat.com>
3403 * java-tree.h (JV_STATE_READ): New enum value.
3405 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3407 * verify.h: New file.
3409 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
3411 * verify-impl.c, verify-glue.c, verify.h: New files.
3412 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
3414 2004-09-24 Andrew Haley <aph@redhat.com>
3416 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
3417 for a slot if it's of pointer type.
3419 2004-09-14 Tom Tromey <tromey@redhat.com>
3421 * class.c (make_class_data): Correctly initialize "state" field.
3422 Initialize "engine" field.
3423 * decl.c (java_init_decl_processing): Add "engine" field.
3425 2004-09-10 Andrew Haley <aph@redhat.com>
3428 * expr.c (build_invokeinterface): Use fast method for interface
3430 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
3431 JTI_ITABLE_PTR_TYPE.
3432 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
3433 (emit_symbol_table): Add new arg, element_size.
3434 * decl.c (java_init_decl_processing): Initialize Class.itable.
3435 * class.c (GEN_TABLE): New macro.
3436 (gen_indirect_dispatch_tables): Use it. Add itable.
3437 (make_class_data): Add new arg for emit_symbol_table().
3439 (add_miranda_methods): Make sure search_class has been parsed.
3440 (emit_symbol_table): Add new arg, element_size.
3442 2004-09-06 Andrew Haley <aph@redhat.com>
3444 * verify.c (merge_types): Return Object for all merges of
3446 * expr.c (add_type_assertion): Don't generate assertions when
3447 source type is array of Object.
3449 2004-09-03 Andrew Haley <aph@redhat.com>
3451 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3453 * lang.c (java_post_options): Force flag_verify_invocations if
3454 we're not using indirect dispatch.
3456 * expr.c (pop_type_0): Move test for interfaces before call to
3457 can_widen_reference_to().
3458 (build_signature_for_libgcj): Remove generation of canonical array
3460 (add_type_assertion): Canonicalize both arrays.
3461 Don't assert that type X can be assigned to Object.
3462 Don't assert that type X an be assigned to type X.
3463 Don't assert that Object can be assigned to type X.
3464 (can_widen_reference_to): Warn whenever we generate an assertion.
3465 (process_jvm_instruction): Use throwable_type_node for the type of