1 2007-11-07 Tom Tromey <tromey@redhat.com>
4 * gcj.texi (Input Options): Add missing noun.
6 2007-11-02 Tom Tromey <tromey@redhat.com>
9 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
10 * zipfile.h (ZIPEMPTYMAGIC): New define.
12 2007-11-01 Tom Tromey <tromey@redhat.com>
14 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
15 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
16 (java/jcf-io.o): Depend on zipfile.h.
18 2007-10-17 Richard Guenther <rguenther@suse.de>
20 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
23 2007-10-03 Andrew Haley <aph@redhat.com>
26 * class.c (mangled_classname): Detect and replace illegal
27 characters in assembly language symbols.
28 (gen_indirect_dispatch_tables): Call mangled_classname() on
31 2007-09-27 Jakub Jelinek <jakub@redhat.com>
33 * lang.c (java_print_error_function): Add third argument.
35 2007-09-15 Tom Tromey <tromey@redhat.com>
37 * java-tree.h (struct lang_decl_func) <function_decl_body>:
39 <init_final>: Likewise.
40 * lang.c (java_dump_tree): Update.
41 * java-tree.h (DECL_FUNCTION_BODY): Remove.
43 2007-09-11 Jan Hubicka <jh@suse.cz>
45 * decl.c (java_expand_body): Kill.
46 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
48 2007-09-06 Tom Tromey <tromey@redhat.com>
50 * jcf-parse.c (parse_class_file): Re-enter the current file.
52 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
54 boehm.c (mark_reference_fields): Move misaligned pointer check
55 after JREFERENCE_TYPE_P test
57 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
59 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
60 if pointer is misaligned.
62 2007-09-06 Tom Tromey <tromey@redhat.com>
64 * lang.c (java_post_options): Update.
65 * jcf-parse.c (set_source_filename): Update.
66 (give_name_to_class): Update.
68 (duplicate_class_warning): Update.
69 (parse_class_file): Update.
70 (java_parse_file): Update.
71 * expr.c (expand_byte_code): Update.
73 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
75 * decl.c (finish_method): Use set_cfun.
77 2007-09-04 Andrew Haley <aph@redhat.com>
79 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
80 when using the ARM EABI.
82 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
84 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
86 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
88 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
90 * jcf.h (JCF_FINISH): Likewise.
92 2007-08-28 Tom Tromey <tromey@redhat.com>
94 * Make-lang.in (java.tags): Don't tag '*.y' files.
96 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
98 * lang.c (java_decl_ok_for_sibcall): Likewise.
100 2007-08-21 Paul Brook <paul@codesourcery.com>
101 Nathan Sidwell <nathan@codesourcery.com>
102 Mark Mitchell <mark@codesourcery.com>
103 Joseph Myers <joseph@codesourcery.com>
105 * jcf-dump.c (version): Use pkgversion_string. Update copyright
108 2007-08-20 Richard Guenther <rguenther@suse.de>
110 * lang.c (java_tree_inlining_walk_subtrees): Remove.
111 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
113 2007-08-17 Tom Tromey <tromey@redhat.com>
115 * typeck.c (find_method_in_interfaces): Update.
116 * jcf-parse.c (load_class): Update.
117 * java-gimplify.c (java_gimplify_component_ref): Removed.
118 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
120 (java_gimplify_expr): Update.
121 * decl.c (java_init_decl_processing): Update.
122 * class.c (set_constant_value): Update.
123 (make_class_data): Update.
124 (finish_class): Update.
125 (build_static_field_ref): Update.
126 (is_compiled_class): Update.
127 (maybe_layout_super_class): Update.
128 (layout_class): Update.
129 (layout_class_method): Update.
130 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
131 (lang_decl_var) <am, final_iud, cif>: Removed fields.
132 (lang_decl_func) <init_calls_this>: Removed field.
133 (lang_type) <dot_class, verify_method>: Removed fields.
134 (FIELD_NESTED_ACCESS): Removed.
135 (FIELD_NESTED_ACCESS_P): Removed.
136 (DECL_FIELD_FINAL_IUD): Removed.
137 (DECL_LOCAL_FINAL_IUD): Removed
138 (LOCAL_FINAL_P): Removed.
139 (FINAL_VARIABLE_P): Removed.
140 (CLASS_FINAL_VARIABLE_P): Removed.
141 (DECL_BIT_INDEX): Removed.
142 (DECL_INIT_CALLS_THIS): Removed.
143 (FIELD_LOCAL_ALIAS): Removed.
144 (FIELD_LOCAL_ALIAS_USED): Removed.
145 (FIELD_THISN): Removed.
146 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
147 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
148 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
149 (TYPE_DOT_CLASS): Removed.
150 (TYPE_VERIFY_METHOD): Removed.
151 (ID_CLASSDOLLAR_P): Removed.
152 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
154 (classdollar_identifier_node): Removed.
155 (TYPE_UNKNOWN): Removed.
156 (CLASS_FROM_SOURCE_P): Removed.
157 * expr.c (build_jni_stub): Update.
158 (force_evaluation_order): Update.
159 (build_java_empty_stmt): Update.
160 (build_class_init): Update.
161 (java_stack_swap): Update.
162 (build_jni_stub): Update.
164 2007-08-17 Tom Tromey <tromey@redhat.com>
166 * java-tree.h (LABEL_TYPE_STATE): Removed.
167 (load_type_state): Removed.
169 (LABEL_VERIFIED): Removed.
170 (type_states): Declare.
171 * expr.c (type_states): New global.
172 (load_type_state): Now static. Use type_states. Changed
174 (lookup_label): Don't set LABEL_PC.
175 (expand_byte_code): Don't use LABEL_VERIFIED.
176 (note_instructions): Initialize type_states.
177 * verify-glue.c (vfy_note_stack_depth): Rewrote.
178 (vfy_note_stack_type): Use type_states.
179 (vfy_note_local_type): Likewise.
181 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
183 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
184 * jcf.h (JCF_FINISH): Likewise.
186 2007-07-31 Nick Clifton <nickc@redhat.com>
188 * java-gimplify.c: Change copyright header to refer to version 3
189 of the GNU General Public License and to point readers at the
190 COPYING3 file and the FSF's license web page.
191 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
192 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
193 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
194 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
195 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
196 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
197 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
199 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
201 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
203 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
205 * lang.c (java_get_callee_fndecl): Constify.
207 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
209 * mangle.c (set_type_package_list): Constify.
210 * verify-glue.c (vfy_make_string): Delete.
211 * verify.h (vfy_make_string): Likewise.
213 2007-07-26 Tom Tromey <tromey@redhat.com>
215 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
216 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
217 EXIT_BLOCK_LABELED_BLOCK): Likewise.
218 * lang.c (java_tree_inlining_walk_subtrees): Update.
219 (java_dump_tree): Likewise.
220 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
222 * decl.c (push_labeled_block, pop_labeled_block): Remove.
223 * java-gimplify.c (java_gimplify_labeled_block_expr,
224 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
225 (java_gimplify_expr): Update.
227 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
229 * class.c (java_treetreehash_hash, java_treetreehash_compare):
231 * expr.c (type_assertion_eq): Likewise.
232 * jcf-io.c (compare_path): Likewise.
233 * jcf-parse.c (cmpstringp): Likewise.
234 * verify-impl.c (get_one_type, compute_argument_types,
235 compute_return_type): Likewise.
237 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
241 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
243 2007-07-12 Richard Guenther <rguenther@suse.de>
245 * expr.c (expand_java_return): RETURN_EXPR has void type.
246 (build_jni_stub): Likewise. Use a comparison against zero
247 for null-pointer test in COND_EXPR.
248 (build_field_ref): Build POINTER_PLUS_EXPR with correct
249 type. Convert result instead.
250 (build_invokevirtual): Likewise.
252 2007-07-09 Geoffrey Keating <geoffk@apple.com>
255 * lang.c (java_init): Remove setting of force_align_functions_log.
256 * class.c (add_method_1): Set DECL_ALIGN of non-static method
257 to cope with ptrmemfunc_vbit_in_pfn.
259 2007-07-03 David Daney <ddaney@avtrex.com>
261 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
265 (java/index.html): Same.
267 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
269 * class.c (make_class_data): Build the index in sizetype.
270 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
271 adding to a pointer type.
272 (build_symbol_entry): Likewise.
273 * expr.c (build_java_arrayaccess): Likewise.
274 (build_field_ref): Likewise.
275 (build_known_method_ref): Likewise.
276 (build_invokevirtual): Likewise.
277 * except.c (build_exception_object_ref): Do a
278 NEGATIVE and then a POINTER_PLUS_EXPR instead
281 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
283 * typeck.c (java_signed_type): Remove.
284 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
285 * java-tree.h (java_signed_type): Remove.
287 2007-05-18 Geoffrey Keating <geoffk@apple.com>
289 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
290 (print_constant): Likewise.
292 2007-05-14 Rafael Avila de Espindola <espindola@google.com>
294 * expr.c (build_java_binop): Use unsigned_type_for instead of
296 * java-tree.h (java_unsigned_type): Remove.
297 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
298 * typeck.c (java_unsigned_type): Remove.
300 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
302 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
303 instead of checking GIMPLE_STMT_P in chain_next.
305 2007-04-06 Colin Walters <walters@redhat.com>
307 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
308 * jcf-io.c (open_class): Copy 'filename'.
310 2007-04-03 Andrew Haley <aph@redhat.com>
312 * jvgenmain.c (main): Change main to use class$, not class$$.
313 (do_mangle_classname): Likewise.
314 * class.c (hide): New function.
315 (add_field): Hide everything that shouldn't be visible outside a
317 (build_static_class_ref): Likewise.
318 (build_classdollar_field): Likewise.
319 (make_class_data): Likewise.
320 (layout_class_method): Likewise.
321 * expr.c (special_method_p): New function.
323 * class.c (push_class): Don't bogusly guess the source filename.
324 * jcf-parse.c (give_name_to_class): Don't set input_location from
325 DECL_ARTIFICIAL decls.
327 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
329 * typeck.c (java_signed_or_unsigned_type): Removed.
330 (java_signed_type): use get_signed_or_unsigned_type instead of
331 java_signed_or_unsigned_type.
332 (java_unsigned_type): Ditto.
333 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
334 * java-tree.h (java_signed_or_unsigned_type): Removed.
336 2007-03-26 Tom Tromey <tromey@redhat.com>
338 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
339 (java.maintainer-clean): Likewise.
340 (java.install-man): Likewise.
341 (.INTERMEDIATE): Removed grmiregistry.pod.
342 (grmiregistry.pod): Removed.
343 * gcj.texi (Invoking gcjh): Removed.
344 (Invoking gjnih): Likewise.
345 (Invoking grmiregistry): Likewise.
348 (which-gcj): Removed.
350 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
352 * Make-lang.in: Add install-pdf target as copied from
353 automake v1.10 rules.
355 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
357 * gcj.texi: Standardize title page.
359 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
361 * class.c: Fix a comment typo.
363 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
364 Brooks Moses <brooks.moses@codesourcery.com>
365 Lee Millward <lee.millward@codesourcery.com>
367 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
369 (BUILD_MONITOR_EXIT): Likewise.
371 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
372 (java_gimplify_modify_expr): Likewise.
374 * class.c (cache_this_class_ref): Use build_call_expr.
375 (build_static_field_ref): Likewise.
376 (emit_indirect_register_classes): Likewise.
377 (emit_register_classes): Likewise.
379 * resource.c (write_resource_constructor): Use build_call_expr.
381 * builtins.c (builtin_creator_function): Change interpretation of
382 the second parameter to be the whole CALL_EXPR instead of the arglist.
383 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
384 (min_builtin): Likewise.
385 (abs_builtin): Likewise.
386 (java_build_function_call_expr): Likewise.
387 (convert_real): Likewise.
388 (UNMARSHAL3): Likewise.
389 (UNMARSHAL4): Likewise.
390 (UNMARSHAL5): Likewise.
391 (build_arglist_for_builtin): Delete. Fix callers to use
392 build_call_expr instead.
393 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
395 (compareAndSwapInt_builtin): Likewise.
396 (compareAndSwapLong_builtin): Likewise.
397 (compareAndSwapObject_builtin): Likewise.
398 (putVolatile_builtin): Likewise.
399 (getVolatile_builtin): Likewise.
400 (VMSupportsCS8_builtin): Likewise.
401 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
404 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
405 (build_java_throw_out_of_bounds_exception): Likewise.
406 (java_check_reference): Likewise.
407 (build_java_arraystore_check): Likewise.
408 (build_newarray): Likewise.
409 (build_anewarray): Likewise.
410 (expand_java_multinewarray): Use build_call_list instead of build3.
411 (build_java_monitor): Use build_call_nary instead of build3.
412 (java_create_object): Likewise.
413 (expand_java_NEW): Likewise.
414 (build_instanceof): Likewise.
415 (expand_java_CHECKCAST): Likewise.
416 (build_java_soft_divmod): Likewise.
417 (build_java_binop): Likewise.
418 (build_field_ref): Likewise.
419 (build_class_init): Likewise.
420 (rewrite_arglist_getcaller): Use build_call_expr.
421 (build_invokeinterface): Use build_call_nary instead of build3.
422 (expand_invoke): Use build_call_list instead of build3.
423 (build_jni_stub): Use build_call_nary, build_call_list, or
424 build_call_expr instead of build3.
425 (expand_java_field_op): Use build_call_expr instead of build3.
426 (force_evaluation_order): Use new CALL_EXPR accessors.
428 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
430 2007-02-15 David Daney <ddaney@avtrex.com>
432 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
433 (java.maintainer-clean):Add gc-analyze.1.
434 (.INTERMEDIATE): Add gc-analyze.pod.
435 (gc-analyze.pod): New rule.
436 (java.install-man): Install gc-analyze.1
437 * gcj.texi: Add new section for the gc-analyze program.
439 2007-02-07 Andrew Haley <aph@redhat.com>
441 * class.c (uncache_this_class_ref): New.
442 * expr.c (build_jni_stub): Initialize the class.
443 (expand_byte_code): Call uncache_this_class_ref after generating
446 2007-02-06 Tom Tromey <tromey@redhat.com>
449 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
451 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
453 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
455 2007-02-02 Andrew Haley <aph@redhat.com>
457 * expr.c (expand_byte_code): Call cache_this_class_ref() and
458 cache_cpool_data_ref().
459 Set TYPE_CPOOL_DATA_REF.
460 (cache_cpool_data_ref): New function.
461 * constants.c (build_ref_from_constant_pool): Remove special-case
462 code for flag_indirect_classes.
463 (build_constant_data_ref): Move special-case code for
464 flag_indirect_classes here from build_ref_from_constant_pool.
465 * decl.c (finish_method): Move class initialization from here to
466 cache_this_class_ref.
467 * class.c (cache_this_class_ref): New function.
468 (build_class_ref): Use this_classdollar for the ouput class.
470 2007-02-02 David Daney <ddaney@avtrex.com>
472 * class.c (is_compiled_class): Move check to avoid reloading
474 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
477 2007-02-01 Andrew Haley <aph@redhat.com>
480 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
482 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
484 * class.c, jcf-parse.c: Fix comment typos.
486 2007-01-30 Tom Tromey <tromey@redhat.com>
488 * gcj.texi (Strings): Fix documentation for JvNewString.
490 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
492 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
495 2007-01-30 Ben Elliston <bje@au.ibm.com>
497 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
499 2007-01-29 Tom Tromey <tromey@redhat.com>
502 * jvspec.c (lang_specific_driver): Handle separate -I argument.
503 * lang.opt (-I): Add 'Separate'.
505 2007-01-29 Andrew Haley <aph@redhat.com>
507 * class.c (add_method_1): Mark fndecl as external unless we are
508 compiling it into this object file.
510 2007-01-24 Andrew Haley <aph@redhat.com>
512 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
513 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
515 2007-01-22 Andrew Haley <aph@redhat.com>
517 * builtins.c (VMSupportsCS8_builtin): New function.
519 2007-01-23 Andrew Pinski <pinskia@gmail.com>
522 * jcf-io.c (opendir_in_zip): Close the file
523 and free zipf before returning after an error.
525 2007-01-16 Tom Tromey <tromey@redhat.com>
527 * java-tree.def: Added copyright header.
529 2007-01-15 Tom Tromey <tromey@redhat.com>
531 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
533 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
535 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
536 (EXPR_WFL_NODE): Likewise.
537 (EXPR_WFL_LINECOL): Likewise.
538 (EXPR_WFL_FILENAME): Likewise.
539 (EXPR_WFL_LINENO): Likewise.
540 (build_expr_wfl, expr_add_location): Don't declare.
541 (build_unknown_wfl): Removed.
542 (EXPR_WFL_FILENAME_NODE): Removed.
543 (EXPR_WFL_COLNO): Removed.
544 (EXPR_WFL_SET_LINECOL): Removed.
545 (DECL_FUNCTION_WFL): Removed.
546 (DECL_FIELD_FINAL_WFL): Removed.
547 (struct lang_decl_func) <wfl>: Removed field.
548 <called_constructor>: Likewise.
549 <inner_access>: Likewise.
550 (struct lang_decl_var) <wfl>: Removed field.
551 (DECL_CONSTRUCTOR_CALLS): Removed.
552 (DECL_FUNCTION_ACCESS_DECL): Likewise.
553 (DECL_FUNCTION_INNER_ACCESS): Likewise.
554 (DECL_SPECIFIC_COUNT): Likewise.
555 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
556 * expr.c (build_expr_wfl): Removed.
557 (expr_add_location): Likewise.
559 2007-01-12 Tom Tromey <tromey@redhat.com>
561 * jcf-dump.c (main): Updated call to find_class.
562 * lang.c (java_init): Removed dead code.
563 * jcf-parse.c (read_class): Don't use java_source field. Removed
565 (parse_zip_file_entries): Don't use java_source field.
566 (process_zip_dir): Likewise.
567 (jcf_parse): Removed dead code.
568 (java_parse_file): Likewise.
569 (read_class): Updated call to find_class.
570 * jcf-io.c (find_class): Don't use java_source field. Removed
571 'source_ok' argument, .java logic.
572 * jcf.h (JCF) <java_source>: Removed field.
573 (JCF_ZERO): Updated. (find_class): Updated.
574 * decl.c: Removed dead code.
575 * class.c: Removed dead code.
577 2007-01-11 Tom Tromey <tromey@redhat.com>
579 * typeck.c (convert): Don't use flag_emit_class_files.
580 * lang.c (java_post_options): Don't use flag_emit_class_files.
581 (java_handle_option): Don't use flag_extraneous_semicolon or
583 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
584 flag_emit_class_files.
585 (load_class): Likewise.
586 * java-tree.h (flag_emit_class_files): Don't declare.
587 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
588 (flag_extraneous_semicolon): Don't declare.
589 (flag_not_overriding): Likewise.
590 (flag_static_local_jdk1_1): Likewise.
591 (flag_redundant): Likewise.
592 * expr.c (build_newarray): Don't use flag_emit_class_files.
593 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
594 flag_emit_class_files.
595 (build_class_ref): Likewise.
596 * builtins.c (check_for_builtin): Don't use
597 flag_emit_class_files.
599 2007-01-10 Tom Tromey <tromey@redhat.com>
601 * lang.c (java_can_use_bit_fields_p): Removed.
602 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
604 2007-01-09 Andrew Haley <aph@redhat.com>
606 * expr.c (build_java_arrayaccess): Rewrite to generate array
607 access in canonical form.
608 (expand_java_arraystore): Use build_fold_addr_expr() on address of
611 2007-01-03 Andrew Haley <aph@redhat.com>
614 * expr.c (expand_java_field_op): If we're initializing a field's
615 declaring interface we should not also initialize the class
616 context in which it was referenced.
618 2007-01-02 Tom Tromey <tromey@redhat.com>
620 * java-tree.h (compiling_from_source, current_encoding,
621 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
622 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
623 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
624 JTI_WFL_OPERATOR): Removed
625 (finit_identifier_node, instinit_identifier_node,
626 length_identifier_node, super_identifier_node,
627 continue_identifier_node, access0_identifier_node, wfl_operator):
629 (cyclic_inheritance_report,
630 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
631 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
632 DECL_FIXED_CONSTRUCTOR_P): Removed.
633 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
635 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
636 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
637 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
638 import_list, import_demand_list>: Removed.
639 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
640 cxx_keyword_p): Removed.
641 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
642 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
643 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
644 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
645 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
646 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
647 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
648 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
649 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
650 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
651 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
652 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
653 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
654 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
655 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
656 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
657 java_parse_abort_on_error, extract_field_decl): Removed.
659 * lang.c: (compiling_from_source, current_encoding): Removed.
660 (java_handle_option): Ignore -fencoding.
661 * parse.h: Don't include lex.h.
662 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
663 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
664 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
665 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
666 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
667 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
668 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
669 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
670 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
671 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
672 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
673 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
674 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
675 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
676 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
677 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
678 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
679 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
680 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
681 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
682 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
683 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
684 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
685 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
686 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
687 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
688 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
689 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
690 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
691 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
692 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
693 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
694 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
695 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
696 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
697 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
698 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
699 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
700 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
701 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
702 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
703 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
704 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
705 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
706 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
707 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
708 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
709 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
710 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
711 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
712 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
713 SET_CPC_STATIC_INITIALIZER_STMT,
714 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
715 java_complete_class, java_check_circular_reference,
716 java_fix_constructors, java_layout_classes, java_reorder_fields,
717 java_method_add_stmt, java_get_line_col, reset_report,
718 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
719 java_finish_classes, ctxp, ctxp_for_generation,
720 ctxp_for_generation_last): Removed.
721 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
722 * mangle.c (utf8_cmp): New function.
723 (cxx_keywords): New global.
724 (cxx_keyword_p): New function.
725 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
726 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
727 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
728 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
729 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
730 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
731 * Make-lang.in (java.srcextra): Do nothing.
732 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
733 (JAVA_OBJS): Don't mention deleted files.
734 (java.mostlyclean): Likewise.
735 (java.clean): Likewise.
736 (JAVA_LEX_C): Removed.
737 (buffer.o, check-init.o, parse.o): Remove unused targets.
739 * jcf-parse.c (read_class): Comment out unused code.
740 (java_layout_seen_class_methods): New function.
741 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
743 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
744 (init_jcf_parse): Removed.
745 * config-lang.in (gtfiles): Remove deleted files.
746 * decl.c (java_init_decl_processing): Don't initialize
747 finit_identifier_node, instinit_identifier_node,
748 length_identifier_node, super_identifier_node,
749 continue_identifier_node, access0_identifier_node. Don't call
751 * class.c (cyclic_inheritance_report): New global.
752 (add_method_1): Don't use
753 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
754 (maybe_layout_super_class): Comment out code.
755 (safe_layout_class): New function.
756 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
757 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
758 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
759 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
760 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
761 (java_gimplify_case_expr): Removed.
762 (java_gimplify_default_expr): Likewise.
763 (java_gimplify_new_array_init): Likewise.
765 * keyword.gperf, keyword.h: Removed.
766 * chartables.h: Removed.
767 * check-init.c: Removed.
768 * buffer.c, buffer.h: Removed.
769 * convert.h: Removed.
770 * gen-table.pl: Removed.
771 * lex.c, lex.h: Removed.
773 2007-01-02 Andrew Haley <aph@redhat.com>
775 * expr.c (expand_java_arraystore): Make sure we perform a bounds
776 check at runtime before we perform a type check.
778 2006-12-19 Andrew Haley <aph@redhat.com>
780 * decl.c: Bump minor BC ABI version.
782 2006-12-13 Gary Benson <gbenson@redhat.com>
784 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
786 2006-12-12 Tom Tromey <tromey@redhat.com>
788 * lang-specs.h: Pass -M options to jc1.
789 * jcf-depend.c (jcf_dependency_add_file): Don't emit
792 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
794 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
796 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
798 * lang-specs.h: Pass '%U'-based options as separate arguments.
800 2006-12-05 Tom Tromey <tromey@redhat.com>
803 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
805 * class.c (add_field): Handle ACC_SYNTHETIC.
806 (add_method_1): Likewise. Handle bridge and varargs.
807 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
809 (set_class_decl_access_flags): Handle synthetic and annotation.
810 * java-tree.h (METHOD_BRIDGE): New macro.
811 (METHOD_VARARGS): Likewise.
812 (TYPE_SYNTHETIC): Likewise.
813 (TYPE_ANNOTATION): Likewise.
814 (lang_type): New fields 'synthetic' and 'annotation'.
815 (lang_decl_func): New fields 'varargs' and 'bridge'.
817 2006-12-04 Andrew Haley <aph@redhat.com>
819 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
822 2006-11-29 Gary Benson <gbenson@redhat.com>
824 * expr.c (rewrite_arglist_getcaller): Reorder.
826 2006-11-29 Andrew Haley <aph@redhat.com>
828 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
829 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
831 2006-11-23 Andrew Haley <aph@redhat.com>
833 * expr.c (rewrite_arglist_getcaller): New.
834 (rewrite_arglist_getclass): Fix indentation.
835 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
836 gnu.classpath.VMStackWalker.getCallingClassLoader().
837 * builtins.c (initialize_builtins): Remove duplicate def'n of
839 Add __builtin_return_address.
841 2006-11-22 Andrew Haley <aph@redhat.com>
843 * jcf-reader.c (get_attribute): Mark attr_type unused.
845 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
847 2007-01-08 Richard Guenther <rguenther@suse.de>
849 * lex.c (do_java_lex): Use build_int_cst_wide_type.
850 * jcf-parse.c (get_constant): Likewise.
852 2006-11-12 Jan Hubicka <jh@suse.cz>
854 * resource.c (compile_resource_data): Update for new varpool names.
855 * java/class.c (build_utf8_ref): Likewise.
857 2006-11-12 David Daney <ddaney@avtrex.com>
860 * typeck.c (build_java_array_type): Increase buffer sizes.
862 2006-11-11 Richard Guenther <rguenther@suse.de>
864 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
865 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
867 2006-11-06 Andrew Haley <aph@redhat.com>
869 * java-tree.h (CONSTANT_LazyFlag): New.
870 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
871 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
873 (handle_constant): Return 0 for dummy cpool entries.
874 Handle constants of kind Class.
875 Handle constants of kind NameAndType.
876 (handle_enclosingmethod_attribute): New.
877 (handle_signature_attribute): New.
878 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
879 (HANDLE_SIGNATURE_ATTRIBUTE): New.
880 (handle_constant): Use unmangle_classname()rather than calling
881 identifier_subst() directly.
883 2006-11-02 Andrew Haley <aph@redhat.com>
885 * java-tree.h (FIELD_ENUM): New.
886 (lang_decl_var.field_enum): New.
887 (lang_type.enum_class): New.
889 * class.c (set_class_decl_access_flags): Handle enum types.
890 (add_field): Handle enum fields.
891 (get_access_flags_from_decl): Likewise.
893 * class.c (make_class_data): Put reflection_data into rodata.
895 2006-11-01 Andrew Haley <aph@redhat.com>
897 * jcf-parse.c (field_offsets, bit_obstack): New variables.
898 (jcf_parse): Write end marker to annotation_data.
899 (java_parse_file): Create field_offsets bitmap. Destroy it.
900 (annotation_grow, annotation_rewrite_byte)
901 (annotation_rewrite_short, annotation_rewrite_int)
902 (annotation_read_short, annotation_write_byte)
903 (annotation_write_short, annotation_write_int)
904 (handle_long_constant, handle_constant, handle_element_value)
905 (handle_annotation, handle_annotations)
906 (handle_annotation_attribute, rewrite_reflection_indexes)
907 (handle_member_annotations, handle_parameter_annotations)
908 (handle_default_annotation): New functions.
909 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
910 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
911 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
912 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
913 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
914 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
915 (TYPE_REFLECTION_DATA): New.
916 (TYPE_REFLECTION_DATASIZE): New.
917 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
919 * jcf-reader.c (get_attribute): Pass field/method index and
920 attribute type to get_attribute().
921 * constants.c (find_class_or_string_constant): Make nonstatic.
922 (cpool_for_class): Likewise.
923 (build_constants_constructor): Separate string and scalar types.
924 * class.c (make_class_data): Generate field_indexes permutation.
925 Pass it to rewrite_reflection_indexes().
926 (make_class_data): Generate constructor for reflection_data field.
928 2006-10-20 Tom Tromey <tromey@redhat.com>
930 * gcj.texi (Top): Don't mention jv-scan.
931 (Invoking gcj): Likewise.
932 (Invoking gcjh): Likewise.
933 (Invoking gjnih): Likewise.
934 (Invoking gij): Likewise.
935 (Invoking gcj-dbtool): Likewise.
936 (Invoking jv-scan): Removed.
937 * parse-scan.y: Removed.
938 * jv-scan.c: Removed.
939 * config-lang.in (stagestuff): Don't mention jv-scan.
940 * Make-lang.in (java): Removed jv-scan.
941 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
942 (JVSCAN_OBJS): Removed.
943 (jv-scan$(exeext)): Likewise.
944 (JAVA_MANFILES): Removed jv-scan.1.
945 (java.uninstall): Don't mention jv-scan.
946 (java.mostlyclean): Likewise.
947 (java.maintainer-clean): Likewise.
948 (.INTERMEDIATE): Likewise.
949 (java/jv-scan.o): Removed.
950 (jv-scan.pod): Likewise.
951 (java.srcextra): Don't mention parse-scan.c.
952 (java.mostlyclean): Likewise.
953 (java/parse-scan.c): Removed.
954 (java/parse-scan.o-warn): Removed.
955 (java/parse-scan.o): Removed.
957 2006-10-20 Tom Tromey <tromey@redhat.com>
959 * lang.c (java_handle_option): Don't use
960 jcf_write_base_directory.
961 * jcf.h (jcf_write_base_directory): Removed.
962 * parse.y (java_expand_classes): Don't call write_classfile.
963 * config-lang.in (gtfiles): Removed jcf-write.c.
964 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
965 (java/jcf-write.o): Removed.
966 * jcf-parse.c (parse_class_file): Don't call write_classfile.
967 * java-tree.h (write_classfile): Removed declaration.
968 * jcf-write.c: Removed.
970 2006-10-20 Tom Tromey <tromey@redhat.com>
972 * Make-lang.in (java): Removed gjnih, gcjh.
973 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
974 (GCJH_OBJS): Removed.
975 (GJNIH_OBJS): Likewise.
976 (gjnih$(exeext)): Likewise.
977 (gcjh$(exeext)): Likewise.
978 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
979 (java.install-common): Don't special case gcjh.
980 (java.uninstall): Don't mention gcjh, gjnih.
981 (java.mostlyclean): Likewise.
982 (java.maintainer-clean): Likewise.
983 (.INTERMEDIATE): Likewise.
985 (gjnih.pod): Likewise.
986 (GCJH_TARGET_INSTALL_NAME): Removed.
987 (java/gjavah-jni.o): Removed.
988 (java/gjavah.o): Likewise.
989 * config-lang.in (stagestuff): Removed gjnih, gcjh.
992 2006-10-17 Tom Tromey <tromey@redhat.com>
994 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
997 2006-10-17 Tom Tromey <tromey@redhat.com>
999 * jvgenmain.c (main): Handle -findirect-dispatch.
1000 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1003 2006-10-06 Andrew Haley <aph@redhat.com>
1005 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1006 have a compare_and_swap builtin.
1007 (compareAndSwapLong_builtin): Likewise.
1008 (compareAndSwapObject_builtin): Likewise.
1010 2006-10-04 Andrew Haley <aph@redhat.com>
1012 * builtins.c (java_builtins): Add compareAndSwapInt,
1013 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1014 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1015 putObjectVolatile, getObjectVolatile, getIntVolatile,
1016 getLongVolatile, getLong.
1017 (UNMARSHAL3): New macro.
1018 (UNMARSHAL4): Likewise.
1019 (UNMARSHAL5): Likewise.
1020 (build_arglist_for_builtin): New function.
1021 (build_addr_sum, build_check_this): New functions.
1022 (putObject_builtin. compareAndSwapInt_builtin,
1023 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1024 putVolatile_builtin, getVolatile_builtin): New builtins.
1026 2006-06-08 Andrew Haley <aph@redhat.com>
1028 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1029 get_symbol_table_index().
1030 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1032 (build_known_method_ref): New arg: special. Pass it to
1033 get_symbol_table_index.
1034 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1036 (build_invokevirtual): New arg: special. Pass it to
1037 get_symbol_table_index.
1038 (expand_invoke): New variable: special.
1039 Pass it to maybe_rewrite_invocation().
1040 Pass it to build_known_method_ref().
1041 * class.c (build_symbol_entry): Add new arg: special. Use it to
1042 build the symbol table conbstructor.
1043 (emit_symbol_table): Extract SPECIAL from the method list and pass
1044 it to build_symbol_entry().
1045 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1046 special accordingly.
1048 2006-09-08 Andrew Haley <aph@redhat.com>
1050 * class.c (layout_class_method): Use build_java_signature, not
1051 build_java_argument_signature. Use lookup_java_method, not
1052 lookup_argument_method.
1054 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1055 Bryce McKinlay <bryce@mckinlay.net.nz>
1057 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1059 2006-07-18 Tom Tromey <tromey@redhat.com>
1061 * lang.opt: Added missing -W options.
1063 2006-07-12 Tom Tromey <tromey@redhat.com>
1066 * lang-specs.h: Pass '%U'-based options as separate arguments.
1067 Use -faux-classpath.
1068 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1069 * lang.opt (faux-classpath): New option.
1071 2006-07-07 Tom Tromey <tromey@redhat.com>
1073 * class.c (make_class_data): Set value for reflection_data field.
1074 * decl.c (java_init_decl_processing): Add reflection_data field.
1076 2006-07-07 Tom Tromey <tromey@redhat.com>
1078 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1080 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1082 2006-07-07 Andrew Haley <aph@redhat.com>
1084 * jcf-parse.c (set_source_filename): Don't check for
1085 CLASS_FROM_CURRENTLY_COMPILED_P.
1088 2006-07-07 Andrew Haley <aph@redhat.com>
1090 * java-tree.h (java_read_sourcefilenames): Declare.
1091 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1092 * lang.opt (fsource-filename): New opt.
1093 * lang-specs.h: Add -fsource-filename.
1094 * jcf-parse.c (num_files, filenames): New variables.
1095 (reverse, cmpstringp, java_read_sourcefilenames,
1096 find_sourcefile): New.
1097 (set_source_filename): Call find_sourcefile to find the real name
1100 2006-06-27 Tom Tromey <tromey@redhat.com>
1102 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1103 Signature, LocalVariableTypeTable, annotation attributes.
1104 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1105 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1106 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1107 (HANDLE_METHOD): Likewise.
1108 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1109 (print_annotation): New function.
1110 (print_element_value): Likewise.
1112 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1113 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1114 (print_parameter_annotations): New function.
1115 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1116 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1118 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1119 (print_annotations): New function.
1121 2006-06-23 Tom Tromey <tromey@redhat.com>
1123 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1124 emitting class files, always use 1.5.
1125 * gcj.texi (Input Options): Document -fsource.
1126 (Code Generation): Document -ftarget.
1128 2006-06-21 Tom Tromey <tromey@redhat.com>
1131 * expr.c (expand_java_field_op): Initialize field's declaring
1134 2006-06-20 Tom Tromey <tromey@redhat.com>
1136 * expr.c (push_value): Always flush quick stack.
1138 2006-06-19 Tom Tromey <tromey@redhat.com>
1140 * expr.c (push_value): Also flush quick stack if value is a
1143 2006-06-19 Tom Tromey <tromey@redhat.com>
1145 * expr.c (push_value): Flush quick stack if value has side
1148 2006-06-13 Tom Tromey <tromey@redhat.com>
1150 * class.c (is_compiled_class): Explicitly check for current
1153 2006-06-09 Tom Tromey <tromey@redhat.com>
1155 * gjavah.c (decompile_method): Don't decompile a static field
1158 2006-06-06 Tom Tromey <tromey@redhat.com>
1160 * lang-specs.h <jc1>: Add .jar file to command line if
1161 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1163 2006-06-05 Tom Tromey <tromey@redhat.com>
1165 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1166 synthetic, enum, annotation.
1167 * jcf.h (ACC_BRIDGE): New macro.
1168 (ACC_VARARGS): Likewise.
1169 (ACC_SYNTHETIC): Likewise.
1170 (ACC_ENUM): Likewise.
1171 (ACC_ANNOTATION): Likewise.
1173 2006-06-04 Tom Tromey <tromey@redhat.com>
1175 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1176 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1178 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1179 when needed. Handle classpath-setting.
1180 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1181 * lang-specs.h: Rewrote.
1183 2006-06-04 Tom Tromey <tromey@redhat.com>
1185 * jcf-io.c (find_class): Set source_ok to 0.
1186 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1187 (parse_class_file): Don't call java_mark_class_local.
1188 (java_parse_file): Skip .java files. Call java_mark_class_local
1189 before lowering any code.
1190 (parse_zip_file_entries): Don't call duplicate_class_warning
1192 (process_zip_dir): ... call it here.
1193 * class.c (add_field): Don't mark field external if it is being
1194 compiled into this object.
1195 (make_class_data): Handle situation where class_dtable_decl is
1196 created before Class is compiled.
1197 (is_compiled_class): Don't assume files in zip are compiled into
1199 (layout_class_method): Don't mark method external if it is being
1200 compiled into this object.
1202 2006-06-04 Tom Tromey <tromey@redhat.com>
1204 * jcf-path.c (jcf_path_compute): New function.
1205 * jcf.h (jcf_path_compute): Declare.
1207 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1209 * decl.c: Include langhooks.h.
1210 (builtin_function): Remove.
1211 (java_init_decl_processing): Replace calls to builtin_function
1212 with add_builtin_function.
1213 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1214 (java/decl.o): Depend on langhooks.h.
1215 * java-tree.h (builtin_function): Remove.
1217 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1219 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1221 2006-09-12 Tom Tromey <tromey@redhat.com>
1223 * expr.c (push_value): Always flush quick stack.
1225 2006-09-12 Tom Tromey <tromey@redhat.com>
1228 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1229 the push of the called method's return result.
1231 2006-09-12 Tom Tromey <tromey@redhat.com>
1233 * jvspec.c (lang_specific_driver): Read spec file even if
1236 2006-09-12 Tom Tromey <tromey@redhat.com>
1239 * expr.c (expand_java_field_op): Initialize field's declaring
1240 interface if necessary.
1242 2006-09-12 Tom Tromey <tromey@redhat.com>
1245 * expr.c (expand_java_field_op): No error for assignments not in
1246 class initializer or constructor.
1248 2006-08-22 Andrew Haley <aph@redhat.com>
1250 * decl.c (java_add_stmt): Give the statement list a type.
1252 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1253 Bryce McKinlay <bryce@mckinlay.net.nz>
1255 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1257 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1260 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1261 or '--' is used with a constant operand.
1262 (java_complete_lhs): When processing a '++' or '--' expression,
1263 don't call java_complete_tree but java_complete_lhs, so that a
1264 static final variable operand is never replaced by its value. This
1265 avoids an ICE later on.
1266 (patch_unaryop): Fixed typo in comment.
1268 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1270 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1272 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1274 * builtins.c (check_for_builtin): If a builtin could result in a
1275 direct call being generated, don't use it if flag_indirect_dispatch
1278 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1280 * gcj.texi (Invocation): Corrections for Invocation API example.
1282 2006-07-04 Andrew Haley <aph@redhat.com>
1284 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1287 2006-06-21 Andrew Haley <aph@redhat.com>
1289 * java-tree.h (update_aliases): Remove
1290 * expr.c (expand_iinc): Remove call to update_aliases().
1291 (STORE_INTERNAL): Likewise.
1292 * decl.c (update_aliases, initialize_local_variable)
1293 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1295 2006-06-19 Andrew Haley <aph@redhat.com>
1299 * expr.c (java_modify_addr_for_volatile): New function.
1300 (expand_java_field_op): Handle volatile fields.
1301 * java-gimplify.c (java_gimplify_component_ref): Call
1302 java_modify_addr_for_volatile to give the field_ref the correct
1304 (java_gimplify_modify_expr): Likewise.
1305 * java-tree.h (java_modify_addr_for_volatile): New decl.
1307 2006-06-17 Karl Berry <karl@gnu.org>
1309 * gcj.texi (@dircategory): Use "Software development" instead
1310 of "Programming", following the Free Software Directory.
1312 2006-06-16 Andrew Haley <aph@redhat.com>
1314 * class.c (make_class_data): When using flag_indirect_classes,
1315 don't initialize the vtable of Class instances.
1317 2006-06-09 Andrew Haley <aph@redhat.com>
1321 * builtins.c (initialize_builtins): Add __sync_synchronize().
1322 * class.c (add_field): Mark volatile fields.
1323 * java-gimplify.c (java_gimplify_expr): Call new functions to
1324 handle self-modifying exprs and COMPONENT_REFs.
1325 (java_gimplify_component_ref): New.
1326 (java_gimplify_modify_expr): Add handling for volatiles.
1328 2006-06-08 Tom Tromey <tromey@redhat.com>
1330 * gcj.texi (libgcj Runtime Properties): Document
1331 gnu.gcj.user.realname.
1333 2006-06-08 Andrew Haley <aph@redhat.com>
1335 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1336 get_symbol_table_index().
1337 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1339 (build_known_method_ref): New arg: special. Pass it to
1340 get_symbol_table_index.
1341 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1343 (build_invokevirtual): New arg: special. Pass it to
1344 get_symbol_table_index.
1345 (expand_invoke): New variable: special.
1346 Pass it to maybe_rewrite_invocation().
1347 Pass it to build_known_method_ref().
1348 * class.c (build_symbol_entry): Add new arg: special. Use it to
1349 build the symbol table conbstructor.
1350 (emit_symbol_table): Extract SPECIAL from the method list and pass
1351 it to build_symbol_entry().
1352 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1353 special accordingly.
1355 2006-06-06 David Daney <ddaney@avtrex.com>
1357 * gcj.texi (libgcj Runtime Properties): Document
1358 gnu.gcj.runtime.NameFinder.show_raw and
1359 gnu.gcj.runtime.NameFinder.remove_unknown.
1361 2006-06-06 Tom Tromey <tromey@redhat.com>
1363 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1364 synthetic, enum, annotation.
1365 * jcf.h (ACC_BRIDGE): New macro.
1366 (ACC_VARARGS): Likewise.
1367 (ACC_SYNTHETIC): Likewise.
1368 (ACC_ENUM): Likewise.
1369 (ACC_ANNOTATION): Likewise.
1371 2006-06-06 Mike Stump <mrs@apple.com>
1373 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1374 installing during build.
1376 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1378 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1379 classname-to-library resolution mechanism.
1380 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1381 mechanism deprecated.
1382 (libgcj Runtime Properties): Document
1383 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1385 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1387 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1389 (jword): Define to uint64 on 64-bit arches.
1390 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1392 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1394 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1397 2006-05-26 Tom Tromey <tromey@redhat.com>
1399 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1400 * verify-glue.c (vfy_class_type): New function.
1401 * verify-impl.c (check_constant): Allow 'ldc class'.
1402 * verify.h (vfy_class_type): Declare.
1404 2006-05-25 Andrew Haley <aph@redhat.com>
1407 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1408 update all lifetimes, not just the first one.
1410 2006-05-24 Tom Tromey <tromey@redhat.com>
1412 * java-tree.h: Fixed flag documentation.
1414 2006-05-24 Tom Tromey <tromey@redhat.com>
1417 * jcf.h (ACC_INVISIBLE): Changed value.
1419 2006-05-24 Andrew Haley <aph@redhat.com>
1422 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1425 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1427 * lang.opt (femit-class-file): Remove VarExists.
1429 2006-05-16 Tom Tromey <tromey@redhat.com>
1431 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1434 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1437 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1440 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1442 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1443 (java/expr.o): Replace target.h with $(TARGET_H).
1444 (java/parse.o): Likewise.
1446 2006-05-10 Andrew Haley <aph@redhat.com>
1448 * class.c (emit_indirect_register_classes): Fix comment.
1450 2006-05-04 Tom Tromey <tromey@redhat.com>
1452 * java-tree.h (uses_jv_markobj_p): Declare.
1453 * class.c (uses_jv_markobj_p): Removed.
1454 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1455 (get_boehm_type_descriptor): Use it.
1456 (uses_jv_markobj_p): Moved from class.c. Return bool.
1458 2006-05-04 Tom Tromey <tromey@redhat.com>
1460 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1462 2006-05-04 Andrew Haley <aph@redhat.com>
1464 * class.c (make_field_value): Always build_address_of fdecl if
1465 there is an initializer.
1467 2006-05-03 Andrew Haley <aph@redhat.com>
1470 * expr.c (maybe_rewrite_invocation): New function.
1471 (rewrite_arglist_getclass): Likewise.
1473 (expand_invoke): Call maybe_rewrite_invocation.
1474 * parse.y (patch_invoke): Likewise.
1475 * java-tree.h: (maybe_rewrite_invocation): New function.
1477 2006-04-21 Andrew Haley <aph@redhat.com>
1479 * lang.c (java_init): Handle flag_indirect_classes.
1480 * jvgenmain.c: Use "class$$" instead of "class$".
1481 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1483 (mangle_class_field): Special case "class$$" as well as "class$".
1484 * constants.c (build_ref_from_constant_pool): If
1485 flag_indirect_classes, generate a ref into the heap.
1486 * decl.c (constants_field_decl_node,
1487 constants_data_field_decl_node): New.
1488 * class.c (build_static_class_ref): New.
1489 (build_classdollar_field): Factor out from build_class_ref().
1490 (make_field_value): Handle static fields in heap.
1491 (make_class_data): Make sure we get a static ref to class.
1492 Make class initializer const if flag_indirect_classes.
1493 (register_class): Build a class_ref for initialization if
1494 flag_indirect_classes.
1495 (emit_indirect_register_classes): New.
1497 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1499 * expr.c, gjavah.c: Fix comment typos.
1501 2006-04-03 Andrew Haley <aph@redhat.com>
1504 * expr.c (build_field_ref): Don't check the field offset if
1507 2006-03-30 Andrew Haley <aph@redhat.com>
1510 * lang.c (java_attribute_table): New.
1511 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1512 * expr.c (build_field_ref): Add a null pointer check for all
1513 fields of offset > 4k. Don't do so for accesses via the this
1514 pointer, which we know can never be null.
1515 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1518 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1520 * Make-lang.in: Rename docdir to gcc_docdir.
1522 2006-03-30 Tom Tromey <tromey@redhat.com>
1525 * parse.y (java_reorder_fields): Reset superclass field's size as
1528 2006-03-28 Tom Tromey <tromey@redhat.com>
1531 * parse.y (find_most_specific_methods_list): Added 'class'
1533 (lookup_method_invoke): Updated.
1535 2006-03-15 Tom Tromey <tromey@redhat.com>
1537 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1538 non-static method calls.
1540 2006-03-15 David Daney <ddaney@avtrex.com>
1542 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1545 2006-03-15 David Daney <ddaney@avtrex.com>
1547 * lang.opt (-freduced-reflection): New option.
1548 * lang.c (java_post_options): Generate an error if
1549 -freduced-reflection used with -fjni or -findirect-dispatch.
1550 * java-tree.h (flag_reduced_reflection): Declare new variable.
1551 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1552 if bitmap overflows and flag_reduced_reflection set.
1553 * class.c (uses_jv_markobj_p): New function.
1554 (make_class_data): Moved generation of vtable to before
1555 reflection data, generate less reflection data if
1556 flag_reduced_reflection set.
1557 * gcj.texi: Document -freduced-reflection.
1559 2006-03-15 Tom Tromey <tromey@redhat.com>
1562 * class.c (get_interface_method_index): Don't put <clinit> into
1565 2006-03-15 Tom Tromey <tromey@redhat.com>
1567 * parse.y (analyze_clinit_body): Ignore empty statements.
1569 2006-03-08 David Daney <ddaney@avtrex.com>
1571 * gcj.texi: Document -static-libgcj option.
1573 2006-02-20 Andrew Haley <aph@redhat.com>
1575 * jcf-parse.c (parse_class_file): Set input_location from
1578 2006-02-15 Andrew Haley <aph@redhat.com>
1580 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1581 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1582 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1584 2006-02-09 Andrew Haley <aph@redhat.com>
1587 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1588 in their superclass.
1590 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1593 2006-02-08 Tom Tromey <tromey@redhat.com>
1596 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1597 * builtins.c (convert_real): New function.
1598 (java_builtins): Handle Float.intBitsToFloat,
1599 Float.floatToRawIntBits, Double.longBitsToDouble,
1600 Double.doubleToRawLongBits.
1602 2006-02-07 Andrew Haley <aph@redhat.com>
1604 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1605 class other than the one in which we expected to find it, ignore
1609 * constants.c (build_constants_constructor): move initializer into
1610 first halfword on a 64-bit big-endian machine.
1612 2006-02-04 Tom Tromey <tromey@redhat.com>
1615 * builtins.c (max_builtin): Skip floating point 'max'.
1616 (min_builtin): Skip floating point 'min'.
1617 (check_for_builtin): Never return NULL_TREE.
1619 2006-02-04 Tom Tromey <tromey@redhat.com>
1622 * expr.c (push_type): Avoid side effect in gcc_assert.
1624 2006-02-04 Roger Sayle <roger@eyesopen.com>
1626 * decl.c (java_init_decl_processing): Create char_type_node as a
1627 regular INTEGER_TYPE node.
1628 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1629 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1630 test for char_type_node and promoted_char_type_node as special
1631 instances of INTEGER_TYPE tree codes.
1632 (promote_type,build_java_signature): Likewise.
1633 * jcf-write.c (adjust_typed_op): Likewise.
1634 * mangle.c (mangle_type): Likewise.
1635 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1636 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1638 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1640 * expr.c (java_stack_swap): Revert gcc_assert patch.
1642 2006-02-03 Ben Elliston <bje@au.ibm.com>
1644 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1645 * typeck.c: Likewise.
1646 * verify-impl.c: Likewise.
1647 * class.c: Likewise.
1649 * jcf-parse.c: Likewise.
1650 * constants.c: Likewise.
1651 * check-init.c: Likewise.
1652 * jcf-write.c: Likewise.
1653 * verify-glue.c: Likewise.
1654 * mangle.c: Likewise.
1657 * boehm.c: Likewise.
1659 2006-02-01 Jan Hubicka <jh@suse.cz>
1661 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1662 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1664 2006-01-30 Andrew Haley <aph@redhat.com>
1667 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1669 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1671 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1672 Update copyright notice dates.
1674 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1676 * jvspec.c (lang_specific_spec_functions): Remove.
1678 2006-01-06 Tom Tromey <tromey@redhat.com>
1680 * gcj.texi (Arrays): Added more documentation for
1682 (Primitive types): Correct information about primitive classes.
1683 (Reference types): New node.
1686 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1688 * jcf-parse.c (set_source_filename): Set the decl source location
1689 even when returning early.
1691 2005-12-15 Tom Tromey <tromey@redhat.com>
1692 Andrew Haley <aph@redhat.com>
1695 * parse.y (resolve_expression_name): Don't generate accessor
1696 methods for constant fields.
1698 2005-12-13 Andrew Haley <aph@redhat.com>
1702 * class.c (maybe_layout_super_class): Update current_class before
1703 calling do_resolve_class.
1705 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1708 * jcf-write.c (write_classfile): Use PID in temporary class
1709 file. Save/restore errno when reporting error.
1711 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1714 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1715 to bare_function_type and including the return type
1716 * builtins.c (initialize_builtins) : Change builtin mangled name
1717 constants to conform to new mangling scheme
1719 2005-12-08 Andrew Haley <aph@redhat.com>
1722 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1723 (soft_abstractmethod_node): New.
1724 * expr.c (build_field_ref): Add in-line check for missing field.
1725 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1727 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1729 * Make-lang.in (java.all.build, java.install-normal): Remove.
1731 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1733 * Make-lang.in: Remove all dependencies on s-gtype, except for
1736 2005-12-07 Richard Sandiford <richard@codesourcery.com>
1738 * class.c (build_utf8_ref, emit_register_classes): Use
1739 switch_to_section and get_section.
1741 2005-12-06 Tom Tromey <tromey@redhat.com>
1744 * parse.y (patch_new_array_init): Revert previous patch.
1745 (lookup_method_invoke): Use size-less array type when creating an
1746 anonymous constructor.
1748 2005-12-05 Tom Tromey <tromey@redhat.com>
1750 * parse.y (patch_new_array_init): Don't set length on array.
1752 2005-12-02 Richard Guenther <rguenther@suse.de>
1754 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1755 buildN instead of build.
1756 * class.c (finish_class): Likewise.
1757 * expr.c (java_create_object): Likewise.
1759 2005-11-28 Tom Tromey <tromey@redhat.com>
1762 * expr.c (build_jni_stub): Unwrap the return value.
1763 * java-tree.h (soft_unwrapjni_node): New define.
1764 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1765 * decl.c (java_init_decl_processing): Initialize
1766 soft_unwrapjni_node.
1768 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
1770 * gcj.texi (gij options): Add -Xss documentation.
1772 2005-11-08 Wil Mahan <wmahan@gmail.com>
1775 * zextract.c (read_zip_archive): Fix out of memory error when
1776 reading jar files with zip-style comments.
1778 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
1780 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1782 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1784 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
1785 Wil Mahan <wmahan@gmail.com>
1788 * class.c (make_class): Create empty binfo here.
1789 (set_super_info): Only create binfo if we have superclasses.
1791 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
1794 * parse.y (method_header): Make the result of the rule a NULL_TREE
1795 when a parsing error occurs.
1797 2005-09-29 Tom Tromey <tromey@redhat.com>
1800 * jcf-io.c (memoized_dirlist_hash): New function.
1801 (caching_stat): Use it.
1803 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
1806 * class.c (inherits_from_p): Try to lay out super class
1807 if it is not already laid out.
1808 (maybe_layout_super_class): Handle the case where SUPER_CLASS
1811 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
1813 * builtins.c (max_builtin, min_builtin, abs_builtin,
1814 java_build_function_call_expr): Use fold_buildN.
1815 * class.c (layout_class_method): Likewise.
1816 * expr.c (java_truthvalue_conversion, build_java_jsr,
1817 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1818 build_java_binop, build_field_ref, expand_compare,
1819 build_known_method_ref, build_invokevirtual,
1820 process_jvm_instruction): Likewise.
1821 * parse.y (patch_binop, patch_exit_expr): Likewise.
1822 * typeck.c (convert_ieee_real_to_integer): Likewise.
1823 (convert): Don't call fold after convert_ieee_real_to_integer.
1825 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
1828 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1829 the newly created type. Set import lists here, not in create_class.
1830 (jdep_resolve_class): Set current_class.
1831 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
1832 the current package context, not ctxp->package.
1833 (cicp_cache): Removed.
1834 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1835 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1836 * java-tree.h (TYPE_PACKAGE): New macro.
1837 (struct lang_type): New member 'package'.
1839 2005-09-09 Andrew Haley <aph@redhat.com>
1842 * expr.c (pop_type_0): If the expected type is object or ptr
1843 (i.e. void*), return the type of the object we just popped from
1846 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
1848 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1849 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1851 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
1853 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1854 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1855 typos. Follow spelling conventions.
1857 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
1860 * typeck.c (lookup_do): Look up interfaces for the original class,
1862 * parse.y (java_check_regular_methods): Fix diagnostic message for
1863 more restrictive overriding of a method from an interface.
1865 2005-08-16 Tom Tromey <tromey@redhat.com>
1867 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1868 class' initial state.
1870 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1873 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
1874 `literal_token' for large numeric input tokens.
1876 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1879 * parse.y (nested_field_access_p): Rename to nested_member_access_p
1880 and expand to handle method accesses across nested classes.
1881 (build_outer_method_access_method): Rename to
1882 build_nested_method_access_method. Minor adjustments to comments.
1883 (resolve_expression_name): Use the newly-renamed
1884 nested_member_access_p method.
1885 (resolve_qualified_expression_name): Likewise.
1886 (patch_method_invocation): Also consider static methods for access
1887 method generation. Minor adjustments to comments.
1888 (maybe_use_access_method): Use the more general
1889 nested_memeber_access_p to determine access across nested class
1890 boundaries. Allow THIS_ARG to be NULL (for static methods).
1892 2005-08-15 Tom Tromey <tromey@redhat.com>
1895 * expr.c (build_field_ref): Don't generate otable reference when
1896 DECL_FIELD_OFFSET is 0.
1897 * class.c (maybe_layout_super_class): Pass outer class to
1900 2005-08-15 Tom Tromey <tromey@redhat.com>
1902 * java-tree.h (LABEL_IN_SUBR): Removed.
1903 (LABEL_IN_SUBR): Likewise.
1904 (LABEL_IS_SUBR_START): Likewise.
1905 (LABEL_SUBR_START): Likewise.
1906 (LABEL_SUBR_CONTEXT): Likewise.
1907 (LABEL_CHANGED): Likewise.
1908 (LABEL_RETURN_LABEL): Likewise.
1909 (LABEL_RETURN_TYPE_STATE): Likewise.
1910 (LABEL_RETURN_LABELS): Likewise.
1911 (RETURN_MAP_ADJUSTED): Likewise.
1912 (LABEL_PENDING_CHAIN): Likewise.
1914 2005-08-15 Tom Tromey <tromey@redhat.com>
1916 * Make-lang.in (JAVA_OBJS): Removed verify.o
1917 (java/verify.o): Removed.
1918 * verify.c: Removed.
1919 * lang.c (flag_new_verifier): Removed.
1920 (java_post_options): Updated.
1921 * java-tree.h (flag_new_verifier): Removed.
1922 (verify_jvm_instructions): Removed.
1923 * expr.c (pop_type_0): Assume flag_new_verifier is true.
1924 (build_java_check_indexed_type): Likewise.
1925 (expand_java_arraystore): Likewise.
1926 (expand_java_arrayload): Likewise.
1927 (pop_arguments): Likewise.
1928 (expand_byte_code): Likewise.
1929 (process_jvm_instruction): Likewise.
1931 2005-08-10 Andrew Haley <aph@redhat.com>
1933 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
1934 type mismatches to make legal GIMPLE.
1936 2005-08-10 Robin Green <greenrd@greenrd.org>
1939 * parse.y (maybe_use_access_method): Generalize check from
1940 java.lang.Object to any superclass of current_class
1942 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
1944 * class.c (build_class_ref): Wrap the primary class type in a
1946 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
1947 primary class type from the NOP_EXPR in which it was placed.
1949 2005-07-28 Diego Novillo <dnovillo@redhat.com>
1951 * expr.c (expand_load_internal): Fix missing parens in
1954 2005-07-28 Andrew Haley <aph@redhat.com>
1956 * expr.c (expand_load_internal): Convert to destination type.
1958 2005-07-22 Manfred Hollstein <mh@suse.com>
1960 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
1961 (check_constant): Likewise.
1962 (check_wide_constant): Likewise.
1964 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
1966 Make CONSTRUCTOR use VEC to store initializers.
1967 * check-init.c (check_init): Update to cope with VEC in
1969 * class.c (make_field_value, make_method_value, get_dispatch_table,
1970 make_class_data, emit_symbol_table, emit_catch_table,
1971 emit_assertion_table): Use build_constructor_from_list instead of
1973 * constants.c (build_constants_constructor): Likewise.
1974 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
1975 VEC in CONSTRUCTOR_ELTS.
1976 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
1977 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
1979 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
1981 * parse.y (build_new_array_init): Use build_constructor_from_list
1982 instead of build_constructor.
1983 (patch_new_array_init): Update to cope with VEC in
1985 (array_constructor_check_entry): Likewise.
1987 2005-07-12 Tom Tromey <tromey@redhat.com>
1989 * jvspec.c (lang_specific_driver): Put filelist_filename first on
1992 2005-07-12 Tom Tromey <tromey@redhat.com>
1995 * parse-scan.y (interface_member_declaration): Added
1998 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2000 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2001 (LABEL_PENDING_CHAIN): Ditto.
2003 (DECL_BIT_INDEX): Ditto.
2005 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2008 * parse.y (inner_class_accessible): New function. Logic moved from
2009 check_inner_class_access.
2010 (check_inner_class_access): Use inner_class_accessible.
2011 (resolve_inner_class): Simplify arguments. Create circularity hash
2012 here. Keep looking for classes if we found one that was inaccessible.
2013 Return the inaccessible class only if there is no other match.
2014 (do_resolve_class): Update for new resolve_inner_class arguments.
2015 Don't create circularity_hash here.
2017 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2020 * parse.y (add_exception_to_throws): New function.
2021 (purge_unchecked_exceptions): Removed.
2022 (get_constructor_super): Renamed from verify_constructor_super. Now
2023 returns the super constructor after verification.
2024 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2025 or save/restore the exception list.
2026 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2027 class initializers and constructors to the throws clause of the method.
2029 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2032 * parse.y (interface_member_declaration): Allow empty statements in
2033 interface declarations.
2035 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2037 * Makefile.in (parse.o): Adjust dependencies.
2038 * parse.y: Include tree-dump.h.
2040 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2042 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2045 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2047 * parse.y (issue_warning_error_from_context): Call
2048 pp_output_formatted_text to be able to get the buffer.
2050 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2052 * parse.y (issue_warning_error_from_context): Update for the
2053 renaming of pp_format_text to pp_format.
2055 2005-06-28 Paul Brook <paul@codesourcery.com>
2057 * decl.c (java_init_decl_processing): Call
2058 default_init_unwind_resume_libfunc.
2060 2005-06-27 Tom Tromey <tromey@redhat.com>
2062 PR java/21540, PR java/13788:
2063 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2064 fold_constant_for_init.
2065 (patch_binop): Added 'folding' argument. Updated all callers.
2066 (patch_unaryop) <NOP_EXPR>: New case.
2067 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2068 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2070 2005-06-25 Jan Hubicka <jh@suse.cz>
2072 * builtins.c (define_builtin): Accept new flags parameter.
2073 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2075 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2077 * all files: Update FSF address in copyright headers.
2079 2005-06-24 Tom Tromey <tromey@redhat.com>
2081 * verify-impl.c (verify_instructions_0): Correctly handle
2082 situation where PC falls off end.
2084 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2087 * parse.y (find_most_specific_methods_list): Remove special case for
2090 2005-06-15 Tom Tromey <tromey@redhat.com>
2093 * class.c (make_method_value): Use soft_abstractmethod_node for
2095 * java-tree.h (soft_abstractmethod_node): New define.
2096 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2097 * decl.c (java_init_decl_processing): Initialize
2098 soft_abstractmethod_node.
2100 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2102 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2104 2005-06-13 Per Bothner <per@bothner.com>
2106 * expr.c (int highest_label_pc_this_method,
2107 start_label_pc_this_method): New globals.
2108 (lookup_label): Add start_label_pc_this_method to pc for label, and
2109 update highest_label_pc_this_method. This prevents conflicts between
2110 labels from different methods.
2111 * java-tree.h: Declare new globals.
2112 * jcf-parse.c (parse_class_file): If needed bump
2113 start_label_pc_this_method and reset highest_label_pc_this_method.
2115 2005-06-13 Tom Tromey <tromey@redhat.com>
2118 * parse.y (nested_field_access_p): Handle case where outer field
2119 is inherited by enclosing class.
2121 2005-06-12 Per Bothner <per@bothner.com>
2123 * class.c (inherits_from_p): Do load_class if needed.
2125 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2127 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2128 * java-tree.h (parse_error_context): Move...
2129 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2130 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2131 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2133 2005-06-08 Roger Sayle <roger@eyesopen.com>
2135 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2137 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2139 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2140 msgid for argument name.
2141 * gjavah.c (error): Likewise.
2142 * java-tree.h (parse_error_context): Likewise.
2143 * parse.y (parse_error_context, parse_warning_context,
2144 issue_warning_error_from_context): Likewise.
2146 2005-06-01 Tom Tromey <tromey@redhat.com>
2149 * class.c (build_static_field_ref): Don't fold constant fields if
2150 current class is from a .class file and we're using indirect
2153 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2155 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2156 * java/Make-lang.in: Updates dependencies.
2158 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2161 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2162 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2163 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2164 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2165 * jcf-write.c (generate_classfile): Use
2166 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2167 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2168 * parse.y (build_outer_field_access): Rename to
2169 build_nested_field_access. Support static fields and outer-to-inner
2171 (outer_field_access_p): Rename to nested_field_access_p. Support
2172 static fields and generalise to outer-to-inner class and sibling
2173 inner class accesses.
2174 (outer_field_expanded_access_p): Rename to
2175 nested_field_expanded_access_p and support static fields.
2176 (outer_field_access_fix): Rename to nested_field_access_fix and
2177 support static fields.
2178 (build_outer_field_access_expr): Rename to
2179 build_nested_field_access_expr and support static fields.
2180 (build_outer_field_access_methods): Rename to
2181 build_nested_field_access_methods and support static fields. For
2182 static fields, generate accessors without class instance parameters.
2183 (build_outer_field_access_method): Rename to
2184 build_nested_field_access_method and support static fields.
2185 (build_outer_method_access_method): Use
2186 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2187 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2188 (resolve_expression_name): Consider static field accesses across
2190 (resolve_qualified_expression_name): Likewise.
2191 (java_complete_lhs): Use nested_field_access_fix instead of
2192 outer_field_access_fix.
2193 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2194 Use nested_field_expanded_access_p instead of
2195 outer_field_expanded_access_p. Use nested_field_access_fix instead
2196 of outer_field_access_fix.
2197 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2198 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2200 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2202 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2203 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2204 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2205 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2206 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2207 (parse_version): Calculate version ID using new method. Use bit-flags
2208 for flag_indirect_dispatch and flag_bootstrap_classes.
2210 2005-05-25 Richard Henderson <rth@redhat.com>
2213 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2214 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2215 DECL_CONTEXT; avoid pushdecl_top_level.
2216 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2217 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2218 (layout_class_method): Likewise.
2219 * decl.c (java_mark_cni_decl_local): New.
2220 (java_mark_class_local): Use it.
2221 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2222 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2223 (struct lang_decl_func): Add local_cni;
2224 (struct lang_decl_var): Add class_field, vtable.
2225 (java_mangle_decl): Declare.
2226 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2227 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2228 (mangle_obstack_1): New.
2229 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2230 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2231 lhd_set_decl_assembler_name for things that don't need mangling.
2232 (mangle_class_field): Rename from java_mangle_class_field, make
2233 static, don't call init_mangling or finish_mangling.
2234 (mangle_vtable): Similarly.
2235 (mangle_local_cni_method_decl): New.
2236 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2237 gcc_assert, and MANGLE_RAW_STRING.
2238 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2240 2005-05-25 DJ Delorie <dj@redhat.com>
2242 * class.c (set_constant_value): Move warning control from if() to
2245 2005-05-24 Richard Henderson <rth@redhat.com>
2247 * builtins.c (define_builtin): Don't call make_decl_rtl.
2248 * constants.c (build_constant_data_ref): Likewise.
2249 * class.c (build_utf8_ref): Likewise.
2250 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2251 (get_dispatch_table, layout_class_method): Likewise.
2252 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2254 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2255 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2256 to determine if we need a non-zero address.
2257 * decl.c (builtin_function): Don't call make_decl_rtl.
2258 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2259 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2260 * resource.c (compile_resource_data): Likewise.
2261 * parse.y (resolve_field_access): Re-word comment to avoid
2264 2005-05-24 Richard Henderson <rth@redhat.com>
2266 * class.c (registered_class): Take it out of class_roots; turn into
2268 (register_class): Make static. Don't duplicate decl node. Use
2270 (emit_register_classes): Use VEC_iterate. Use output_constant
2271 instead of assemble_integer. Don't call mark_decl_referenced
2273 * java-tree.h (register_class): Remove decl.
2275 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2279 * parse.y (register_package, package_list): Remove.
2280 (package_declaration): Do not call register_package.
2281 (do_resolve_class): Do not use package_list.
2283 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2285 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2288 2005-05-15 Tom Tromey <tromey@redhat.com>
2291 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2294 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2296 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2298 2005-05-11 Tom Tromey <tromey@redhat.com>
2300 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2301 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2302 (parse_version): Use it.
2303 * lang.opt (-fbootstrap-classes): New option.
2305 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2308 * class.c (maybe_layout_super_class): Look for imports in this_class.
2309 * parse.h (ctxp_for_generation_last): New.
2310 (do_resolve_class): Add a parameter.
2311 * parse.y (ctxp_for_generation_last): New.
2312 (java_pop_parser_context): Add at end of list.
2313 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2314 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2315 the given type are NULL.
2316 (do_resolve_class): Look into the imports of the new second parameter.
2317 Adjust recursive calls.
2318 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2319 calls to do_resolve_class.
2320 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2321 (java_complete_class): Do not do that here.
2323 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2326 * Make-lang.in (java): Add gjnih.
2327 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2328 (GJNIH_OBJS): New variable.
2329 (gjnih$(exeext)): New target.
2330 (JAVA_MANFILES): Add gjnih.1.
2331 (java.uninstall): Add gjnih.1.
2332 (java.mostlyclean): Add gjnih.
2333 (java.maintainer-clean): Add gjnih.1.
2334 (java/gjavah-jni.o): New target.
2335 (.INTERMEDIATE): Add gjnih.pod.
2336 (gjnih.pod): New target.
2337 * config-lang.in (stagestuff): Add gjnih.
2338 * gcj.texi (Top): Add gjnih node.
2339 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2340 -bootclasspath options.
2341 (Invoking gjnih): New node.
2342 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2343 (TOOLNAME): New macro.
2344 (error): Replace hard-coded gcjh with TOOLNAME.
2345 (process_file): Likewise.
2347 (version): Likewise.
2348 (help): Likewise. Add help output for -force, -old, -trace and -J
2350 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2351 (options): Add force, old, trace and J fields.
2352 (main): Handle -force, -old, -trace and -J options.
2354 2005-05-03 Tom Tromey <tromey@redhat.com>
2357 * gjavah.c (main): Unlink output file on error.
2359 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2361 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2364 2005-04-29 Tom Tromey <tromey@redhat.com>
2366 * expr.c (build_jni_stub): Updated for change to build_block.
2368 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2370 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2372 2005-04-28 Andrew Haley <aph@redhat.com>
2375 * java-tree.h (soft_resolvepoolentry_node): New.
2376 (alloc_constant_fieldref): Declare.
2377 * expr.c (expand_java_field_op): Don't call class_init for
2378 accesses to static fields with indirect dispatch.
2379 * builtins.c (initialize_builtins): Add "__builtin_expect".
2380 * decl.c (soft_resolvepoolentry_node): New variable.
2381 (java_init_decl_processing): Create a decl for
2382 "_Jv_ResolvePoolEntry".
2383 * class.c (build_fieldref_cache_entry): New function.
2384 (build_static_field_ref): Rewrite for indirect dispatch.
2385 * constants.c (find_name_and_type_constant_tree): New function.
2386 (alloc_constant_fieldref): Likewise.
2387 (build_constants_constructor): Handle CONSTANT_Fieldref and
2388 CONSTANT_NameAndType.
2391 * expr.c (force_evaluation_order): Convert outgoing args smaller
2394 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2396 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2397 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2398 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2400 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2402 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2403 to `unlock_stream' with `unlock_std_streams'.
2405 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2407 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2408 instead of just expr.h.
2410 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2412 * gjavah.c (main): Unlock the stdio streams.
2413 * jcf-dump.c (main): Likewise.
2414 * jv-scan.c (main): Likewise.
2415 * jvgenmain.c (main): Likewise.
2417 2005-04-23 DJ Delorie <dj@redhat.com>
2419 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2420 parse.y: Adjust warning() callers.
2422 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2424 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2427 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2429 * gcj.texi: Fix typos and bogus example.
2431 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2433 * except.c: Fix a comment typo.
2435 2005-04-19 Julian Brown <julian@codesourcery.com>
2437 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2438 indirect dispatch with PIC.
2440 2005-04-18 Andrew Haley <aph@redhat.com>
2442 * java-except.h (struct eh_range.handler): Remove unused field.
2443 (handle_nested_ranges): Remove function declaration.
2444 (sanity_check_exception_range): Add function declaration.
2445 * verify.c (verify_jvm_instructions): Remove call to
2446 handle_nested_ranges.
2447 * verify-glue.c (verify_jvm_instructions_new): Call
2448 sanity_check_exception_range.
2449 * except.c (link_handler, eh_range_freelist, link_handler,
2450 handle_nested_ranges): Remove.
2451 (add_handler): Rewrite.
2452 (sanity_check_exception_range): New function.
2453 (print_ranges): New function.
2455 2005-04-13 Julian Brown <julian@codesourcery.com>
2457 * decl.c (finish_method): Give methods once-only linkage.
2459 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2461 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2463 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2465 * java-tree.h: Don't use PARAMS().
2467 2005-04-07 Per Bothner <per@bothner.com>
2469 * class.c (push_class): By default, suppress debug output.
2470 (finish_class): Enable debug output for classes we're emitting.
2472 2005-04-07 Andrew Haley <aph@redhat.com>
2474 * gcj.texi: Correct gcj-dbtool instructions.
2476 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2478 * gcj.texi: Fix a typo.
2479 * lang.c: Fix a comment typo.
2481 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2483 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2484 Mention recognized-and-ignored compatibility options.
2485 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2487 (About CNI): Add Memory allocation section.
2489 2005-04-01 Tom Tromey <tromey@redhat.com>
2491 * decl.c (java_init_decl_processing): Fix types of
2492 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2493 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2494 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2496 2005-03-31 Jan Hubicka <jh@suse.cz>
2498 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2499 * class.c: Include cgraph.h
2500 (make_local_functoin_alias): Mark aslias as needed.
2501 * resource.c: Include cgraph.h
2502 (compile_resource_data): Go via cgraph interface.
2504 2005-03-30 Ian Lance Taylor <ian@airs.com>
2506 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2508 2005-03-30 Tom Tromey <tromey@redhat.com>
2510 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2511 inner_class_info_index==0 or outer_class_info_index==0.
2513 2005-03-29 Tom Tromey <tromey@redhat.com>
2515 * gcj.texi (libgcj Runtime Properties): Document
2516 gnu.gcj.runtime.endorsed.dirs.
2518 2005-03-24 Anthony Green <green@redhat.com>
2520 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2523 2005-03-23 Tom Tromey <tromey@redhat.com>
2525 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2526 (parse_version): Use it.
2528 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2530 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2532 2005-03-18 Andrew Haley <aph@redhat.com>
2535 * decl.c (update_aliases): Don't update variables that are about
2537 (maybe_poplevels): Add comment.
2539 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2542 * jcf-parse.c (duplicate_class_warning): New function.
2543 (java_parse_file): Call duplicate_class_warning if
2544 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2545 (parse_zip_file_entries): Likewise. Also set
2546 CLASS_FROM_CURRENTLY_COMPILED_P.
2548 2005-03-16 Andrew Haley <aph@redhat.com>
2550 * expr.c (expand_java_arrayload): Don't generate a
2551 NullPointerException based on the type of the node.
2552 (build_java_array_length_access): Likewise.
2554 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2556 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2558 2005-03-11 Tom Tromey <tromey@redhat.com>
2560 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2561 (libgcj Runtime Properties): Document the default .db.
2563 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2566 * parse.y (checks_throws_clauses): Check exceptions list even when
2567 the base class does not come from a source file being compiled.
2568 (java_complete_lhs): Remove unused variable 'wfl'.
2570 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2573 * decl.c (finish_method): Emit _Jv_InitClass for private static
2574 methods inside inner classes as well.
2576 2005-03-08 Julian Brown <julian@codesourcery.com>
2577 * Revert patch from 2005-03-08 for causing bootstrap failure on
2580 2005-03-08 Julian Brown <julian@codesourcery.com>
2582 * decl.c (finish_method): Give methods once-only linkage.
2584 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2586 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2588 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2590 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2591 can_widen_reference_to if the C++ ABI is in use.
2592 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2593 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2594 type_isresolved, init_state, set_pc, state_get_pc,
2595 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2596 (verify_fail): Report the current PC from the verifier context.
2597 (free_state): Remove #if 0 block to enable this function.
2598 (free_verifier_context): Call free_state on state_list iterator
2599 values before freeing them.
2600 * expr.c (pop_type_0): Pop correct type for error message when stack
2601 contains a multi-word type.
2603 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2605 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2606 for known NULL array length access.
2608 2005-03-07 Tom Tromey <tromey@redhat.com>
2610 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2612 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2614 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2615 typeck.c: Update copyright.
2617 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2620 * xref.c, xref.h: Remove file.
2621 * Make-lang.in (java/xref.o): Remove.
2622 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2623 * lang.c (flag_emit_xref): Remove definition.
2624 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2625 * typeck.c (convert): Remove use of do_not_fold.
2626 * parse.y (do_not_fold): Remove definition.
2627 (parser grammar): Remove xref code.
2628 (maybe_create_class_interface_decl, create_class): Likewise.
2629 (register_fields, method_header, finish_method_declaration): Likewise.
2630 (declare_local_variables, source_end_java_method): Likewise.
2631 (java_complete_expand_classes): Do not set do_not_fold.
2632 (java_complete_expand_method): Remove xref code.
2633 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2634 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2635 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2636 (patch_synchronized_statement, patch_throw_statement): Likewise.
2637 (maybe_build_class_init_for_field): Likewise.
2639 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2641 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2642 instead of IS_NON_TYPE_CODE_CLASS.
2644 2005-03-04 Andrew Haley <aph@redhat.com>
2647 * class.c (set_method_index): Don't set method_index if it is
2649 (layout_class_method): Don't complain about "non-static method foo
2650 overrides static method" in the case of indirect dispatch.
2652 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2654 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2656 * Make-lang.in: Don't elide warnings in jcf-io.c.
2658 2005-03-01 Per Bothner <per@bothner.com>
2661 * check-init.c (wfl): Remove static.
2662 (final_assign_error, check_init): Replace calls to parse_error_context
2664 (check_init): Save, set, and restore input_location for each exp.
2666 2005-03-01 Per Bothner <per@bothner.com>
2668 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2669 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2670 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2672 2005-03-01 Per Bothner <per@bothner.com>
2674 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2676 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2679 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2682 2005-02-22 Tom Tromey <tromey@redhat.com>
2685 * verify-impl.c (EITHER): New define.
2686 (types_compatible): Handle it.
2687 (check_field_constant): Use it.
2689 2005-02-18 Tom Tromey <tromey@redhat.com>
2692 * verify-impl.c (types_equal): Fixed test.
2695 * verify-glue.c (vfy_class_has_field): New function.
2696 * verify.h (vfy_class_has_field): Declare.
2697 * verify-impl.c (check_field_constant): Added 'putfield'
2699 (verify_instructions_0): Updated.
2700 (types_equal): New function.
2702 2005-02-14 Tom Tromey <tromey@redhat.com>
2705 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2706 stack effect of multianewarray.
2708 2005-02-14 Andrew Haley <aph@redhat.com>
2711 * expr.c (expand_byte_code): Call promote_arguments().
2712 (promote_arguments): New function.
2713 * decl.c (check_local_unnamed_variable): Remove special case for
2715 (find_local_variable): Promote all boolean types to int
2716 when searching for local variable decls.
2718 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2720 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2721 parse-scan.y: Update copyright.
2723 2005-02-11 Per Bothner <per@bothner.com>
2726 * parse-scan.y (input_location): Remove variable.
2727 (main_input_filename): New - replaces input_filename, which isn't
2728 settable if USE_MAPPED_LOCATION.
2729 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2730 so we don't reference input_location or wfl_operator in that case.
2731 * jv-scan.c (expand_location): Remove - no longer used.
2732 (main): Set main_input_filename rather than input_filename.
2734 2005-02-09 Richard Henderson <rth@redhat.com>
2736 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2737 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2739 2005-02-08 Marcin Dalecki <martin@dalecki.de>
2741 * expr.c (add_type_assertion): Use the proper enumeration type,
2742 since this is what htab_find_slot() is expecting.
2744 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2746 * gcj.texi: Update copyright dates.
2748 2005-02-02 Tom Tromey <tromey@redhat.com>
2750 * gcj.texi (libgcj Runtime Properties): Default library_control
2753 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
2756 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2757 (modifiers) when square brackets are present in a declaration for
2759 * jv-scan.c (main): Set input_filename and input_line.
2761 2005-02-01 Tom Tromey <tromey@redhat.com>
2764 * gjavah.c (get_field_name): Don't override name for JNI header.
2766 2005-02-01 Roger Sayle <roger@eyesopen.com>
2768 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2769 of unsigned types using iushr and lushr JVM bytecodes.
2771 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2774 * gjavah.c (jni_print_float): Do not emit floating-point
2775 initialiser for a static final field.
2776 (jni_print_double): Likewise.
2778 2005-02-01 Mark Mitchell <mark@codesourcery.com>
2781 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2782 * gjavah.c (print_field_info): Mark static data members of
2783 floating-point type with "__extension__".
2785 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2787 * gjavah.c (print_field_info): Mark static data members of
2788 floating-point type with "__extension__".
2790 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2793 * parse.y (build_string_concatenation): Remove redundant if.
2794 (patch_conditional_expr): Attempt to patch_string() the condition
2795 of a ?: as well, in addition to its other operands.
2797 2005-01-25 Tom Tromey <tromey@redhat.com>
2799 * Make-lang.in (java/java-tree-inline.o): Removed.
2801 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
2804 * parse.y (patch_binop): Allow comparisons against NULL only
2805 if the other operand is of a reference type.
2807 2005-01-24 Tom Tromey <tromey@redhat.com>
2809 * java-tree.h (gcj_abi_version): Declare.
2810 * class.c (make_class_data): Push gcj_abi_version into "next"
2811 field. Renamed field.
2812 * decl.c (gcj_abi_version): New global.
2813 (parse_version): New function.
2814 (java_init_decl_processing): Call it. Renamed 'next' field.
2816 (GCJ_BINARYCOMPAT_ADDITION): New define.
2818 2005-01-24 Roger Sayle <roger@eyesopen.com>
2821 * jcf-write.c (generate_bytecode_insns): Conversions between
2822 integer types of the same precision shouldn't generate widening
2823 or narrowing conversion bytecodes.
2825 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2827 * java-except.h, java-tree.h: Remove unused prototypes.
2829 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
2832 * jcf-write.c (perform_relocations): Don't call memcpy if source
2833 and destination are the same.
2835 2005-01-17 Tom Tromey <tromey@redhat.com>
2837 * verify-impl.c (get_short): Sign extend.
2838 (get_int): Likewise.
2840 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
2842 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2845 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2847 * verify.c: Revert to the version before the BC-ABI merge.
2849 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2852 * check-init.c (check_init): Take care of references that do not
2853 have an explicit final variable declaration (e.g. array length
2854 access) for pre/post in/de-crement operators.
2856 2005-01-08 Mark Wielaard <mark@klomp.org>
2858 * parse.y (process_imports): Allocate (and free) original_name only
2859 when not already defined.
2860 * jcf-parse.c (read_class): Free results of find_class() and
2862 (java_parse_file): Keep pointer to head of file_list and free when
2863 done. Free result of lrealpath().
2865 2005-01-05 Tom Tromey <tromey@redhat.com>
2867 * gcj.texi (Standard Properties): java.ext.dirs is now used.
2869 2004-12-20 Andrew Haley <aph@redhat.com>
2871 * typeck.c: Use fold_convert for ints and booleans.
2873 2004-12-17 Andrew Haley <aph@redhat.com>
2876 * typeck.c (convert): Use a CONVERT_EXPR when converting to
2877 BOOLEAN_TYPE or CHAR_TYPE.
2878 (convert_to_boolean, convert_to_char) : Remove.
2879 * convert.h (convert_to_boolean, convert_to_char) : Remove.
2880 * expr.c (expand_load_internal): Do type conversion if type is not
2883 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
2886 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
2889 2004-12-07 Andrew Haley <aph@redhat.com>
2892 * jcf-parse.c (load_class): Remove sanity test for missing inner
2895 2004-12-06 Tom Tromey <tromey@redhat.com>
2897 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
2898 (java.uninstall): Likewise.
2899 (java.maintainer-clean): Likewise.
2900 (.INTERMEDIATE): Likewise.
2901 (java.install-man): Likewise.
2902 (gcj-dbtool.pod): New target.
2903 * gcj.texi (Code Generation): Document -findirect-dispatch.
2904 (libgcj Runtime Properties): Document
2905 gnu.gcj.precompiled.db.path.
2906 (Top): Link to "Invoking gcj-dbtool".
2908 2004-12-06 Tom Tromey <tromey@redhat.com>
2911 * java-tree.h (extract_field_decl): Declare.
2912 * parse.y (extract_field_decl): Renamed from
2913 strip_out_static_field_access_decl. No longer static.
2914 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
2916 2004-12-03 Tom Tromey <tromey@redhat.com>
2918 * lang.c (flag_new_verifier): Define.
2919 (java_post_options): Set flag_new_verifier if indirect dispatch
2921 * lang.opt (fnew-verifier): Removed.
2923 2004-12-03 Tom Tromey <tromey@redhat.com>
2926 * Make-lang.in (java.install-common): Only install transformed
2927 gcjh if gcj-cross exists.
2929 2004-12-03 Andrew Haley <aph@redhat.com>
2932 * except.c (link_handler): Patch 'outer' field of siblings of the
2933 range we're demoting.
2935 2004-12-03 Andrew Haley <aph@redhat.com>
2938 * class.c (layout_class_method): Don't fail to override a method
2939 simply because it has DECL_ARTIFICIAL set.
2941 2004-12-02 Tom Tromey <tromey@redhat.com>
2944 * parse.y (craft_constructor): Special case null_pointer_node.
2946 2004-12-02 Tom Tromey <tromey@redhat.com>
2949 * java-gimplify.c (java_gimplify_expr): Don't call
2950 SET_EXPR_LOCATION unless wrapped tree is an expression.
2952 2004-11-27 Per Bothner <per@bothner.com>
2954 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
2955 Fix fencepost error in 'i', which got executed one too many times.
2956 Also, fold memcpy into explicit loop, as originally intended.
2957 Also, free temporary 'buf' which otherwise leaks.
2959 2004-11-27 Per Bothner <per@bothner.com>
2961 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
2962 local static variables if not USE_MAPPED_LOCATION.
2964 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
2966 * class.c, decl.c, expr.c: Fix comment typos.
2968 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
2971 * decl.c (end_java_method): Call
2972 attach_init_test_initialization_flags on all the init_decls.
2973 * parse.y (attach_init_test_initialization_flags): Move to ...
2974 * expr.c (attach_init_test_initialization_flags): here and
2975 support BIND_EXPR also.
2976 * java-tree.h (attach_init_test_initialization_flags): Prototype.
2977 * jcf-parse.c (parse_class_file): Don't disable class init
2980 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
2982 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
2985 2004-11-24 Richard Henderson <rth@redhat.com>
2987 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
2988 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
2990 2004-11-24 Tom Tromey <tromey@redhat.com>
2992 * verify.c (defer_merging): Don't use C++-style comment.
2993 * verify.h (java_opcode): Added java_opcode_end.
2994 * class.c (build_class_ref): Remove C++ comment and old FIXME.
2996 * verify-impl.c (vfy_push_type): Removed bogus "return".
2997 (initialize_stack): Use vfy_alloc and vfy_free.
2998 (verify_instructions_0): Likewise.
3000 * Merged gcj-abi-2-dev-branch to trunk.
3002 2004-11-24 Andrew Haley <aph@redhat.com>
3004 * jcf-parse.c (parse_class_file): Set file_start_location.
3006 2004-11-10 Tom Tromey <tromey@redhat.com>
3008 * class.c (make_field_value): Don't call build_static_field_ref.
3009 (build_static_field_ref): Don't emit direct references when using
3012 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3013 -verbose:class into man page synopsis.
3015 2004-11-09 Tom Tromey <tromey@redhat.com>
3017 * expr.c (build_java_arraystore_check): Still generate check if
3018 element type is itself an array.
3020 2004-11-08 Tom Tromey <tromey@redhat.com>
3022 * java-tree.h (soft_check_assignment_node): Removed.
3023 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3024 * decl.c (java_init_decl_processing): Don't initialize
3025 soft_check_assignment_node.
3027 2004-11-05 Tom Tromey <tromey@redhat.com>
3029 * class.c (layout_class_methods): Don't add Miranda methods when
3030 using indirect dispatch.
3032 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3034 * class.c (make_class_data): Call emit_assertion_table to set the
3035 'assertion_table' field.
3036 (build_signature_for_libgcj): Move here from expr.c.
3037 (add_assertion_table_entry): New function. Callback for assertion
3038 hashtable traversal.
3039 (emit_assertion_table): New. Take class argument, and generate
3040 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3041 * decl.c (init_decl_processing): Define assertion_entry_type record.
3042 Push 'assertion_table' class field instead of 'verify'.
3043 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3044 (type_assertion_hash): Include 'assertion_code' in hash.
3045 (add_type_assertion): Rewritten. Take class and assertion_code
3046 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3047 (can_widen_reference_to): Use new add_type_assertion() arguments.
3048 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3049 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3050 (verify_identifier_node): Removed.
3051 (assertion_entry_type, assertion_table_type): New.
3052 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3053 assertion code definitions.
3054 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3055 'target_type' to 'op1' and 'op2'.
3056 (add_type_assertion): Declare.
3057 (lang_printable_name_wls): Remove unused definition.
3058 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3059 to emit runtime assertion.
3060 (vfy_note_stack_type): Clean up non-C90 declarations.
3061 (vfy_note_local_type): Likewise.
3062 * verify.h (vfy_is_assignable_from): Declare.
3063 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3064 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3065 instead of is_assignable_from_slow().
3066 (types_compatible): Reinstate ref_compatible() call.
3068 2004-11-04 Tom Tromey <tromey@redhat.com>
3070 * class.c (build_static_field_ref): Reverted previous patch.
3072 * class.c (build_static_field_ref): Don't emit direct references
3073 when using indirect dispatch.
3075 2004-11-03 Tom Tromey <tromey@redhat.com>
3077 * expr.c (expand_java_arrayload): Set lhs_type_node.
3078 (expand_java_arraystore): Set rhs_type_node.
3080 2004-11-02 Tom Tromey <tromey@redhat.com>
3082 * jcf-parse.c (compute_class_name): Use filename length from zip
3083 directory, not strlen.
3085 * expr.c (expand_invoke): Mark new interface methods as abstract.
3087 2004-11-01 Tom Tromey <tromey@redhat.com>
3089 * verify-impl.c (push_jump): Removed check for uninitialized
3091 (push_exception_jump): Likewise.
3092 (handle_ret_insn): Likewise.
3093 (handle_jsr_insn): Likewise.
3094 (state_check_no_uninitialized_objects): Removed.
3096 * decl.c (check_local_unnamed_variable): Recognize
3097 promoted-to-int parameters when using the new verifier.
3098 * expr.c (expand_java_arraystore): Explicitly request array type
3099 when using new verifier.
3100 (expand_java_arrayload): Likewise.
3101 (invoke_build_dtable): Don't pass object_type_node as
3102 expression argument to build_java_indirect_ref.
3103 (build_java_check_indexed_type): Do nothing.
3104 (build_java_arraystore_check): Handle case where array doesn't
3106 (build_java_array_length_access): Likewise.
3107 (expand_invoke): Handle case where interface overrides a method
3109 (pop_type_0): Always succeed for reference types.
3110 (process_jvm_instruction): Don't pop a value in a dead
3112 (pop_arguments): Convert arguments to correct types.
3114 2004-10-29 Andrew Haley <aph@redhat.com>
3116 * jcf-parse.c (give_name_to_class): Remove line that was
3119 2004-10-29 Andrew Haley <aph@redhat.com>
3121 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3123 2004-10-20 Andrew Haley <aph@redhat.com>
3125 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3127 2004-10-26 Tom Tromey <tromey@redhat.com>
3129 * verify.h (vfy_notify_verified): Removed.
3130 * verify-glue.c (vfy_notify_verified): Removed.
3132 2004-10-26 Tom Tromey <tromey@redhat.com>
3134 * verify-impl.c (debug_print_state): Declare `i' before code.
3135 (merge_types): Modify `t' when it is null_type.
3137 2004-10-26 Tom Tromey <tromey@redhat.com>
3139 * verify-impl.c (type_print): Renamed from print. Now static and
3141 (debug_print_state): Use type_print.
3143 2004-10-25 Tom Tromey <tromey@redhat.com>
3145 * expr.c (build_invokeinterface): Compute correct offset for
3146 index into interface methods.
3148 2004-10-20 Tom Tromey <tromey@redhat.com>
3150 * java-tree.h (verify_jvm_instructions_new): Declare.
3152 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
3155 * verify-impl.c (verify_instructions): Correctly handle wide
3157 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
3158 (vfy_get_component_type): Strip pointer types.
3159 (vfy_find_class): Use get_type_from_signature. Strip pointer
3161 Include java-except.h.
3163 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3165 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
3166 vfy_push_type_t, set_variable, add_new_state, merge_into,
3167 handle_jsr_insn, branch_prepass, check_class_constant,
3168 check_wide_constant, get_one_type, compute_static_types,
3169 verify_instructions_0): Clean up C99 declarations after statements.
3171 2004-10-20 Tom Tromey <tromey@redhat.com>
3173 * verify-impl.c (merge_refs): Compare reference against iterator,
3176 * verify-glue.c (vfy_tag): Mask off resolved flag.
3178 2004-10-19 Tom Tromey <tromey@redhat.com>
3180 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3181 (init_state_with_stack): Initialize `this_type' in state.
3182 (verify_method): Use debug_print.
3183 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3184 (vfy_note_stack_depth): Reverted last patch.
3185 (vfy_note_stack_type): Note pointer to Object, not Object.
3186 (vfy_note_local_type): Likewise.
3188 * verify.h (vfy_note_instruction_seen): Declare.
3189 * verify-glue.c (verify_jvm_instructions_new): Set
3190 BCODE_EXCEPTION_TARGET on target instruction.
3191 (vfy_note_instruction_seen): New function.
3192 * verify-impl.c (FLAG_INSN_SEEN): New define.
3193 (verify_instructions_0): Set flag on instruction. Save state for
3195 (verify_instructions): Call vfy_note_instruction_seen.
3197 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3198 (verify_jvm_instructions_new): Call method_init_exceptions,
3199 add_handler, and handle_nested_ranges.
3200 * verify-impl.c (verify_method): Return 1 on success.
3201 (verify_instructions_0): Save the state at PC=0.
3203 * verify-impl.c (init_type_from_class): Set is_resolved and
3204 ref_next on new ref_intersection.
3205 (init_type_from_string): Likewise.
3207 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
3209 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
3210 if flag_new_verifier is set.
3211 * java-tree.h (flag_new_verifier): Declare.
3212 * lang.opt (fnew-verifier): New option.
3213 * verify-impl.c: Work around namespace pollution by undef'ing
3215 (struct verifier_context): Make 'bytecode' const.
3216 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
3217 (types_compatible): For the BC-ABI, always consider reference types
3219 (check_class_constant): Use vfr->current_class.
3220 (check_constant): Likewise.
3221 (check_wide_constant): Likewise.
3222 (check_field_constant): Check for 'L' at start of type name.
3223 (get_one_type): Return pointer instead of type. Set type result in
3224 caller via passed type pointer.
3225 (compute_argument_types): Update to use new get_one_type arguments.
3226 (compute_return_type): Likewise.
3227 (make_verifier_context): New. Allocate and initialize 'vfr'.
3228 (free_verifier_context): New. Free 'vfr' and its contents.
3229 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
3230 and free_verifier_context.
3232 2004-10-15 Tom Tromey <tromey@redhat.com>
3234 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
3235 * verify.h (vfy_fail): Fixed formatting.
3237 * verify-impl.c (vfr): Fixed comment formatting.
3238 (collapse_type): New function.
3239 (verify_instructions): Notify compiler about type map.
3240 * verify.h (vfy_note_stack_depth): Updated.
3241 (vfy_note_stack_type): Likewise.
3242 (vfy_note_local_type): Likewise.
3243 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
3245 * verify-glue.c (vfy_note_stack_depth): Correctly size type
3246 state. Added `method' argument.
3247 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
3249 (vfy_note_local_type): New function.
3250 (vfy_unsuitable_type): Likewise.
3251 (vfy_return_address_type): Likewise.
3252 (vfy_null_type): Likewise.
3254 * verify.h (VFY_IN_GCC): Removed.
3255 (VFY_WANT_TYPEMAP): Removed.
3256 * verify-impl.c (verify_instructions_0): Removed useless "\".
3257 (struct state) <next>: Uncomment.
3259 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
3261 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
3264 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3266 * Make-lang.in (verify.o): Re-enabled this target.
3267 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
3268 (vfy_get_interface): Likewise.
3269 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
3270 * verify.h (verify_jvm_instructions_new): Declare.
3271 * verify-impl.c (free_state): Temporarily comment out unused
3274 2004-10-06 Tom Tromey <tromey@redhat.com>
3276 * java-tree.h (JV_STATE_READ): New enum value.
3278 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3280 * verify.h: New file.
3282 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
3284 * verify-impl.c, verify-glue.c, verify.h: New files.
3285 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
3287 2004-09-24 Andrew Haley <aph@redhat.com>
3289 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
3290 for a slot if it's of pointer type.
3292 2004-09-14 Tom Tromey <tromey@redhat.com>
3294 * class.c (make_class_data): Correctly initialize "state" field.
3295 Initialize "engine" field.
3296 * decl.c (java_init_decl_processing): Add "engine" field.
3298 2004-09-10 Andrew Haley <aph@redhat.com>
3301 * expr.c (build_invokeinterface): Use fast method for interface
3303 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
3304 JTI_ITABLE_PTR_TYPE.
3305 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
3306 (emit_symbol_table): Add new arg, element_size.
3307 * decl.c (java_init_decl_processing): Initialize Class.itable.
3308 * class.c (GEN_TABLE): New macro.
3309 (gen_indirect_dispatch_tables): Use it. Add itable.
3310 (make_class_data): Add new arg for emit_symbol_table().
3312 (add_miranda_methods): Make sure search_class has been parsed.
3313 (emit_symbol_table): Add new arg, element_size.
3315 2004-09-06 Andrew Haley <aph@redhat.com>
3317 * verify.c (merge_types): Return Object for all merges of
3319 * expr.c (add_type_assertion): Don't generate assertions when
3320 source type is array of Object.
3322 2004-09-03 Andrew Haley <aph@redhat.com>
3324 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3326 * lang.c (java_post_options): Force flag_verify_invocations if
3327 we're not using indirect dispatch.
3329 * expr.c (pop_type_0): Move test for interfaces before call to
3330 can_widen_reference_to().
3331 (build_signature_for_libgcj): Remove generation of canonical array
3333 (add_type_assertion): Canonicalize both arrays.
3334 Don't assert that type X can be assigned to Object.
3335 Don't assert that type X an be assigned to type X.
3336 Don't assert that Object can be assigned to type X.
3337 (can_widen_reference_to): Warn whenever we generate an assertion.
3338 (process_jvm_instruction): Use throwable_type_node for the type of
3341 2004-09-01 Andrew Haley <aph@redhat.com>
3343 * decl.c (java_init_decl_processing): Change
3344 verify_identifier_node to "__verify".
3345 * expr.c (add_type_assertion): Use verify_identifier_node for name.
3346 * java-tree.h (verify_identifier_node): Change to "__verify".
3348 * expr.c (build_signature_for_libgcj): New function.
3349 (add_type_assertion): Use it to construct signatures for
3350 source_type and target_type.
3352 2004-08-27 Andrew Haley <aph@redhat.com>
3354 * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
3355 (verify_identifier_node): New.
3356 (TYPE_VERIFY_METHOD): New.
3357 (struct type_assertion): New type.
3358 * expr.c (type_assertion_eq): New function.
3359 (type_assertion_hash): New function.
3360 (add_type_assertion): New function.
3361 (can_widen_reference_to): Call add_type_assertion().
3362 * decl.c (java_init_decl_processing): Add verify_identifier_node.
3363 * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
3364 (finish_class): Output TYPE_VERIFY_METHOD (type).
3366 * decl.c (end_java_method): Nullify unused fields.
3368 2004-08-17 Andrew Haley <aph@redhat.com>
3370 * verify.c (defer_merging): Quieten.
3371 * jcf-parse.c (load_class): Only try to open a class file if it's
3372 java.lang.Object or if it's part of the current compilation.
3373 Check that the class we just tried to load is the class we just
3375 (java_parse_file): Set flag_verify_invocations off if we're
3376 compiling from .class.
3377 (parse_zip_file_entries): Abort if we try to read a dummy class.
3378 * expr.c (can_widen_reference_to): Quieten.
3379 (build_invokevirtual): Abort if we try to invokevirtual an
3381 (expand_invoke): Don't build a non-interface call to an interface.
3382 (build_instanceof): Don't do premature optimization if
3383 flag_verify_invocations is not set.
3384 * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
3386 (build_static_field_ref): Add correct type conversion for
3388 (add_miranda_methods): Disable generation of Miranda methods for
3390 (layout_class_method): Don't complain about non-static method
3391 overrides static method with dummy classes.
3393 2004-08-13 Tom Tromey <tromey@redhat.com>
3395 * class.c (build_static_field_ref): Re-enable atable lookups for
3398 * parse.y (strip_out_static_field_access_decl): Indentation fix.
3400 2004-08-11 Tom Tromey <tromey@redhat.com>
3402 * gcj.texi (libgcj Runtime Properties): Document new properties.
3404 2004-08-06 Andrew Haley <aph@redhat.com>
3406 * jcf-parse.c (load_class): Check that we really have loaded the
3407 class we're looking for.
3409 2004-07-19 Andrew Haley <aph@redhat.com>
3411 * verify.c (verify_jvm_instructions): Comment change only.
3413 * typeck.c (build_java_array_type): Add size field to array name.
3415 * java-tree.h (LOCAL_SLOT_P): New.
3416 (update_aliases): Add PC argument.
3417 (pushdecl_function_level): New function.
3419 * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
3420 MODIFY_EXPR, and SAVE_EXPR.
3421 (java_gimplify_modify_expr): New function.
3423 * expr.c (push_type_0): Call find_stack_slot() to create temporary.
3424 (expand_iinc): Pass PC to update_aliases().
3425 (STORE_INTERNAL): Likewise.
3426 (process_jvm_instruction): Likewise.
3428 * decl.c (base_decl_map): New variable.
3429 (uniq): New variable.
3430 (update_aliases): Rewrite with more thorough checking.
3431 (debug_variable_p): New function.
3432 (push_jvm_slot): Don't initialize local variable. Don't pushdecl.
3433 (check_local_named_variable): Delete whole function.
3434 (initialize_local_variable): New function.
3435 (check_local_unnamed_variable): Add checks and comments.
3436 (find_local_variable): Rewrite.
3437 (java_replace_reference): New function.
3438 (function_binding_level): New variable.
3439 (pushdecl_function_level): New function.
3440 (maybe_pushlevels): Set DECL_LOCAL_END_PC.
3441 (maybe_pushlevels): Call pushdecl() on each of the new decls.
3442 (start_java_method): Reset uniq. Create base_decl_map. Set
3443 function_binding_level.
3444 (end_java_method): Null unused fields to save memory.
3446 2004-06-29 Andrew Haley <aph@redhat.com>
3448 * except.c (expand_start_java_handler): Push a new binding level.
3449 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
3450 register_exception_range() to register where we'll do it.
3451 (expand_end_java_handler): Remove old bogus code. Replace with
3452 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
3453 the top of the expression we're curently building.
3454 (maybe_end_try): Delete.
3455 * decl.c (binding_level.exception_range): New field.
3456 (clear_binding_level): Add field exception_range. Reformat.
3457 (poplevel): Call expand_end_java_ha