1 2007-12-20 Alexandre Oliva <aoliva@redhat.com>
3 * lang.c (java_classify_record): Don't return
4 RECORD_IS_INTERFACE for now.
6 2007-12-18 Andrew Haley <aph@redhat.com>
9 * jcf-parse.c (java_parse_file): Remove call to
10 java_mark_class_local.
11 (parse_class_file): Reinstate call to java_mark_class_local here.
12 * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
13 already set, call java_mangle_decl() and make_decl_rtl() to
14 rewrite its name as a hidden alias.
16 2007-12-15 Alexandre Oliva <aoliva@redhat.com>
19 * lang.c (java_classify_record): New.
20 (LANG_HOOKS_CLASSIFY_RECORD): Override.
22 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
25 * decl.c (finish_method): Pass 'false' for the new
26 allocate_struct_function parameter.
28 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
30 * expr.c (build_jni_stub): Use the computed jni func type for
33 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
35 * class.c (JAVA_TREEHASHHASH_H): Use TYPE_UID.
37 2007-11-26 Alexandre Oliva <aoliva@redhat.com>
39 * expr.c (type_assertion_hash): Hash type uids rather than
42 2007-11-17 David Daney <ddaney@avtrex.com>
43 Andrew Haley <aph@redhat.com>
45 * constants.c (build_constants_constructor): Use POINTER_SIZE
46 insead of BITS_PER_WORD in big-endian work around.
48 2007-11-07 Tom Tromey <tromey@redhat.com>
51 * gcj.texi (Input Options): Add missing noun.
53 2007-11-02 Tom Tromey <tromey@redhat.com>
56 * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
57 * zipfile.h (ZIPEMPTYMAGIC): New define.
59 2007-11-01 Tom Tromey <tromey@redhat.com>
61 * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
62 (java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
63 (java/jcf-io.o): Depend on zipfile.h.
65 2007-10-17 Richard Guenther <rguenther@suse.de>
67 * Make-lang.in (java/builtins.o): Add $(OPTABS_H) and $(EXPR_H)
70 2007-10-03 Andrew Haley <aph@redhat.com>
73 * class.c (mangled_classname): Detect and replace illegal
74 characters in assembly language symbols.
75 (gen_indirect_dispatch_tables): Call mangled_classname() on
78 2007-09-27 Jakub Jelinek <jakub@redhat.com>
80 * lang.c (java_print_error_function): Add third argument.
82 2007-09-15 Tom Tromey <tromey@redhat.com>
84 * java-tree.h (struct lang_decl_func) <function_decl_body>:
86 <init_final>: Likewise.
87 * lang.c (java_dump_tree): Update.
88 * java-tree.h (DECL_FUNCTION_BODY): Remove.
90 2007-09-11 Jan Hubicka <jh@suse.cz>
92 * decl.c (java_expand_body): Kill.
93 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
95 2007-09-06 Tom Tromey <tromey@redhat.com>
97 * jcf-parse.c (parse_class_file): Re-enter the current file.
99 2007-09-07 Roman Zippel <zippel@linux-m68k.org>
101 * boehm.c (mark_reference_fields): Move misaligned pointer check
102 after JREFERENCE_TYPE_P test
104 2007-09-06 Roman Zippel <zippel@linux-m68k.org>
106 * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
107 if pointer is misaligned.
109 2007-09-06 Tom Tromey <tromey@redhat.com>
111 * lang.c (java_post_options): Update.
112 * jcf-parse.c (set_source_filename): Update.
113 (give_name_to_class): Update.
115 (duplicate_class_warning): Update.
116 (parse_class_file): Update.
117 (java_parse_file): Update.
118 * expr.c (expand_byte_code): Update.
120 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
122 * decl.c (finish_method): Use set_cfun.
124 2007-09-04 Andrew Haley <aph@redhat.com>
126 * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
127 when using the ARM EABI.
129 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
131 * Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
133 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
135 * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
137 * jcf.h (JCF_FINISH): Likewise.
139 2007-08-28 Tom Tromey <tromey@redhat.com>
141 * Make-lang.in (java.tags): Don't tag '*.y' files.
143 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
145 * lang.c (java_decl_ok_for_sibcall): Likewise.
147 2007-08-21 Paul Brook <paul@codesourcery.com>
148 Nathan Sidwell <nathan@codesourcery.com>
149 Mark Mitchell <mark@codesourcery.com>
150 Joseph Myers <joseph@codesourcery.com>
152 * jcf-dump.c (version): Use pkgversion_string. Update copyright
155 2007-08-20 Richard Guenther <rguenther@suse.de>
157 * lang.c (java_tree_inlining_walk_subtrees): Remove.
158 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
160 2007-08-17 Tom Tromey <tromey@redhat.com>
162 * typeck.c (find_method_in_interfaces): Update.
163 * jcf-parse.c (load_class): Update.
164 * java-gimplify.c (java_gimplify_component_ref): Removed.
165 (java_gimplify_modify_expr): Update. Removed pre_p and post_p
167 (java_gimplify_expr): Update.
168 * decl.c (java_init_decl_processing): Update.
169 * class.c (set_constant_value): Update.
170 (make_class_data): Update.
171 (finish_class): Update.
172 (build_static_field_ref): Update.
173 (is_compiled_class): Update.
174 (maybe_layout_super_class): Update.
175 (layout_class): Update.
176 (layout_class_method): Update.
177 * java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
178 (lang_decl_var) <am, final_iud, cif>: Removed fields.
179 (lang_decl_func) <init_calls_this>: Removed field.
180 (lang_type) <dot_class, verify_method>: Removed fields.
181 (FIELD_NESTED_ACCESS): Removed.
182 (FIELD_NESTED_ACCESS_P): Removed.
183 (DECL_FIELD_FINAL_IUD): Removed.
184 (DECL_LOCAL_FINAL_IUD): Removed
185 (LOCAL_FINAL_P): Removed.
186 (FINAL_VARIABLE_P): Removed.
187 (CLASS_FINAL_VARIABLE_P): Removed.
188 (DECL_BIT_INDEX): Removed.
189 (DECL_INIT_CALLS_THIS): Removed.
190 (FIELD_LOCAL_ALIAS): Removed.
191 (FIELD_LOCAL_ALIAS_USED): Removed.
192 (FIELD_THISN): Removed.
193 (DECL_FUNCTION_INIT_TEST_CLASS): Removed.
194 (LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
195 (LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
196 (TYPE_DOT_CLASS): Removed.
197 (TYPE_VERIFY_METHOD): Removed.
198 (ID_CLASSDOLLAR_P): Removed.
199 (enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
201 (classdollar_identifier_node): Removed.
202 (TYPE_UNKNOWN): Removed.
203 (CLASS_FROM_SOURCE_P): Removed.
204 * expr.c (build_jni_stub): Update.
205 (force_evaluation_order): Update.
206 (build_java_empty_stmt): Update.
207 (build_class_init): Update.
208 (java_stack_swap): Update.
209 (build_jni_stub): Update.
211 2007-08-17 Tom Tromey <tromey@redhat.com>
213 * java-tree.h (LABEL_TYPE_STATE): Removed.
214 (load_type_state): Removed.
216 (LABEL_VERIFIED): Removed.
217 (type_states): Declare.
218 * expr.c (type_states): New global.
219 (load_type_state): Now static. Use type_states. Changed
221 (lookup_label): Don't set LABEL_PC.
222 (expand_byte_code): Don't use LABEL_VERIFIED.
223 (note_instructions): Initialize type_states.
224 * verify-glue.c (vfy_note_stack_depth): Rewrote.
225 (vfy_note_stack_type): Use type_states.
226 (vfy_note_local_type): Likewise.
228 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
230 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
231 * jcf.h (JCF_FINISH): Likewise.
233 2007-07-31 Nick Clifton <nickc@redhat.com>
235 * java-gimplify.c: Change copyright header to refer to version 3
236 of the GNU General Public License and to point readers at the
237 COPYING3 file and the FSF's license web page.
238 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
239 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
240 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
241 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
242 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
243 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
244 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
246 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
248 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
250 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
252 * lang.c (java_get_callee_fndecl): Constify.
254 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
256 * mangle.c (set_type_package_list): Constify.
257 * verify-glue.c (vfy_make_string): Delete.
258 * verify.h (vfy_make_string): Likewise.
260 2007-07-26 Tom Tromey <tromey@redhat.com>
262 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
263 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
264 EXIT_BLOCK_LABELED_BLOCK): Likewise.
265 * lang.c (java_tree_inlining_walk_subtrees): Update.
266 (java_dump_tree): Likewise.
267 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
269 * decl.c (push_labeled_block, pop_labeled_block): Remove.
270 * java-gimplify.c (java_gimplify_labeled_block_expr,
271 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
272 (java_gimplify_expr): Update.
274 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
276 * class.c (java_treetreehash_hash, java_treetreehash_compare):
278 * expr.c (type_assertion_eq): Likewise.
279 * jcf-io.c (compare_path): Likewise.
280 * jcf-parse.c (cmpstringp): Likewise.
281 * verify-impl.c (get_one_type, compute_argument_types,
282 compute_return_type): Likewise.
284 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
288 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
290 2007-07-12 Richard Guenther <rguenther@suse.de>
292 * expr.c (expand_java_return): RETURN_EXPR has void type.
293 (build_jni_stub): Likewise. Use a comparison against zero
294 for null-pointer test in COND_EXPR.
295 (build_field_ref): Build POINTER_PLUS_EXPR with correct
296 type. Convert result instead.
297 (build_invokevirtual): Likewise.
299 2007-07-09 Geoffrey Keating <geoffk@apple.com>
302 * lang.c (java_init): Remove setting of force_align_functions_log.
303 * class.c (add_method_1): Set DECL_ALIGN of non-static method
304 to cope with ptrmemfunc_vbit_in_pfn.
306 2007-07-03 David Daney <ddaney@avtrex.com>
308 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
312 (java/index.html): Same.
314 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
316 * class.c (make_class_data): Build the index in sizetype.
317 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
318 adding to a pointer type.
319 (build_symbol_entry): Likewise.
320 * expr.c (build_java_arrayaccess): Likewise.
321 (build_field_ref): Likewise.
322 (build_known_method_ref): Likewise.
323 (build_invokevirtual): Likewise.
324 * except.c (build_exception_object_ref): Do a
325 NEGATIVE and then a POINTER_PLUS_EXPR instead
328 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
330 * typeck.c (java_signed_type): Remove.
331 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
332 * java-tree.h (java_signed_type): Remove.
334 2007-05-18 Geoffrey Keating <geoffk@apple.com>
336 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
337 (print_constant): Likewise.
339 2007-05-14 Rafael Avila de Espindola <espindola@google.com>
341 * expr.c (build_java_binop): Use unsigned_type_for instead of
343 * java-tree.h (java_unsigned_type): Remove.
344 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
345 * typeck.c (java_unsigned_type): Remove.
347 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
349 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
350 instead of checking GIMPLE_STMT_P in chain_next.
352 2007-04-06 Colin Walters <walters@redhat.com>
354 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
355 * jcf-io.c (open_class): Copy 'filename'.
357 2007-04-03 Andrew Haley <aph@redhat.com>
359 * jvgenmain.c (main): Change main to use class$, not class$$.
360 (do_mangle_classname): Likewise.
361 * class.c (hide): New function.
362 (add_field): Hide everything that shouldn't be visible outside a
364 (build_static_class_ref): Likewise.
365 (build_classdollar_field): Likewise.
366 (make_class_data): Likewise.
367 (layout_class_method): Likewise.
368 * expr.c (special_method_p): New function.
370 * class.c (push_class): Don't bogusly guess the source filename.
371 * jcf-parse.c (give_name_to_class): Don't set input_location from
372 DECL_ARTIFICIAL decls.
374 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
376 * typeck.c (java_signed_or_unsigned_type): Removed.
377 (java_signed_type): use get_signed_or_unsigned_type instead of
378 java_signed_or_unsigned_type.
379 (java_unsigned_type): Ditto.
380 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
381 * java-tree.h (java_signed_or_unsigned_type): Removed.
383 2007-03-26 Tom Tromey <tromey@redhat.com>
385 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
386 (java.maintainer-clean): Likewise.
387 (java.install-man): Likewise.
388 (.INTERMEDIATE): Removed grmiregistry.pod.
389 (grmiregistry.pod): Removed.
390 * gcj.texi (Invoking gcjh): Removed.
391 (Invoking gjnih): Likewise.
392 (Invoking grmiregistry): Likewise.
395 (which-gcj): Removed.
397 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
399 * Make-lang.in: Add install-pdf target as copied from
400 automake v1.10 rules.
402 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
404 * gcj.texi: Standardize title page.
406 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
408 * class.c: Fix a comment typo.
410 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
411 Brooks Moses <brooks.moses@codesourcery.com>
412 Lee Millward <lee.millward@codesourcery.com>
414 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
416 (BUILD_MONITOR_EXIT): Likewise.
418 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
419 (java_gimplify_modify_expr): Likewise.
421 * class.c (cache_this_class_ref): Use build_call_expr.
422 (build_static_field_ref): Likewise.
423 (emit_indirect_register_classes): Likewise.
424 (emit_register_classes): Likewise.
426 * resource.c (write_resource_constructor): Use build_call_expr.
428 * builtins.c (builtin_creator_function): Change interpretation of
429 the second parameter to be the whole CALL_EXPR instead of the arglist.
430 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
431 (min_builtin): Likewise.
432 (abs_builtin): Likewise.
433 (java_build_function_call_expr): Likewise.
434 (convert_real): Likewise.
435 (UNMARSHAL3): Likewise.
436 (UNMARSHAL4): Likewise.
437 (UNMARSHAL5): Likewise.
438 (build_arglist_for_builtin): Delete. Fix callers to use
439 build_call_expr instead.
440 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
442 (compareAndSwapInt_builtin): Likewise.
443 (compareAndSwapLong_builtin): Likewise.
444 (compareAndSwapObject_builtin): Likewise.
445 (putVolatile_builtin): Likewise.
446 (getVolatile_builtin): Likewise.
447 (VMSupportsCS8_builtin): Likewise.
448 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
451 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
452 (build_java_throw_out_of_bounds_exception): Likewise.
453 (java_check_reference): Likewise.
454 (build_java_arraystore_check): Likewise.
455 (build_newarray): Likewise.
456 (build_anewarray): Likewise.
457 (expand_java_multinewarray): Use build_call_list instead of build3.
458 (build_java_monitor): Use build_call_nary instead of build3.
459 (java_create_object): Likewise.
460 (expand_java_NEW): Likewise.
461 (build_instanceof): Likewise.
462 (expand_java_CHECKCAST): Likewise.
463 (build_java_soft_divmod): Likewise.
464 (build_java_binop): Likewise.
465 (build_field_ref): Likewise.
466 (build_class_init): Likewise.
467 (rewrite_arglist_getcaller): Use build_call_expr.
468 (build_invokeinterface): Use build_call_nary instead of build3.
469 (expand_invoke): Use build_call_list instead of build3.
470 (build_jni_stub): Use build_call_nary, build_call_list, or
471 build_call_expr instead of build3.
472 (expand_java_field_op): Use build_call_expr instead of build3.
473 (force_evaluation_order): Use new CALL_EXPR accessors.
475 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
477 2007-02-15 David Daney <ddaney@avtrex.com>
479 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
480 (java.maintainer-clean):Add gc-analyze.1.
481 (.INTERMEDIATE): Add gc-analyze.pod.
482 (gc-analyze.pod): New rule.
483 (java.install-man): Install gc-analyze.1
484 * gcj.texi: Add new section for the gc-analyze program.
486 2007-02-07 Andrew Haley <aph@redhat.com>
488 * class.c (uncache_this_class_ref): New.
489 * expr.c (build_jni_stub): Initialize the class.
490 (expand_byte_code): Call uncache_this_class_ref after generating
493 2007-02-06 Tom Tromey <tromey@redhat.com>
496 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
498 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
500 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
502 2007-02-02 Andrew Haley <aph@redhat.com>
504 * expr.c (expand_byte_code): Call cache_this_class_ref() and
505 cache_cpool_data_ref().
506 Set TYPE_CPOOL_DATA_REF.
507 (cache_cpool_data_ref): New function.
508 * constants.c (build_ref_from_constant_pool): Remove special-case
509 code for flag_indirect_classes.
510 (build_constant_data_ref): Move special-case code for
511 flag_indirect_classes here from build_ref_from_constant_pool.
512 * decl.c (finish_method): Move class initialization from here to
513 cache_this_class_ref.
514 * class.c (cache_this_class_ref): New function.
515 (build_class_ref): Use this_classdollar for the ouput class.
517 2007-02-02 David Daney <ddaney@avtrex.com>
519 * class.c (is_compiled_class): Move check to avoid reloading
521 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
524 2007-02-01 Andrew Haley <aph@redhat.com>
527 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
529 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
531 * class.c, jcf-parse.c: Fix comment typos.
533 2007-01-30 Tom Tromey <tromey@redhat.com>
535 * gcj.texi (Strings): Fix documentation for JvNewString.
537 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
539 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
542 2007-01-30 Ben Elliston <bje@au.ibm.com>
544 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
546 2007-01-29 Tom Tromey <tromey@redhat.com>
549 * jvspec.c (lang_specific_driver): Handle separate -I argument.
550 * lang.opt (-I): Add 'Separate'.
552 2007-01-29 Andrew Haley <aph@redhat.com>
554 * class.c (add_method_1): Mark fndecl as external unless we are
555 compiling it into this object file.
557 2007-01-24 Andrew Haley <aph@redhat.com>
559 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
560 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
562 2007-01-22 Andrew Haley <aph@redhat.com>
564 * builtins.c (VMSupportsCS8_builtin): New function.
566 2007-01-23 Andrew Pinski <pinskia@gmail.com>
569 * jcf-io.c (opendir_in_zip): Close the file
570 and free zipf before returning after an error.
572 2007-01-16 Tom Tromey <tromey@redhat.com>
574 * java-tree.def: Added copyright header.
576 2007-01-15 Tom Tromey <tromey@redhat.com>
578 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
580 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
582 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
583 (EXPR_WFL_NODE): Likewise.
584 (EXPR_WFL_LINECOL): Likewise.
585 (EXPR_WFL_FILENAME): Likewise.
586 (EXPR_WFL_LINENO): Likewise.
587 (build_expr_wfl, expr_add_location): Don't declare.
588 (build_unknown_wfl): Removed.
589 (EXPR_WFL_FILENAME_NODE): Removed.
590 (EXPR_WFL_COLNO): Removed.
591 (EXPR_WFL_SET_LINECOL): Removed.
592 (DECL_FUNCTION_WFL): Removed.
593 (DECL_FIELD_FINAL_WFL): Removed.
594 (struct lang_decl_func) <wfl>: Removed field.
595 <called_constructor>: Likewise.
596 <inner_access>: Likewise.
597 (struct lang_decl_var) <wfl>: Removed field.
598 (DECL_CONSTRUCTOR_CALLS): Removed.
599 (DECL_FUNCTION_ACCESS_DECL): Likewise.
600 (DECL_FUNCTION_INNER_ACCESS): Likewise.
601 (DECL_SPECIFIC_COUNT): Likewise.
602 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
603 * expr.c (build_expr_wfl): Removed.
604 (expr_add_location): Likewise.
606 2007-01-12 Tom Tromey <tromey@redhat.com>
608 * jcf-dump.c (main): Updated call to find_class.
609 * lang.c (java_init): Removed dead code.
610 * jcf-parse.c (read_class): Don't use java_source field. Removed
612 (parse_zip_file_entries): Don't use java_source field.
613 (process_zip_dir): Likewise.
614 (jcf_parse): Removed dead code.
615 (java_parse_file): Likewise.
616 (read_class): Updated call to find_class.
617 * jcf-io.c (find_class): Don't use java_source field. Removed
618 'source_ok' argument, .java logic.
619 * jcf.h (JCF) <java_source>: Removed field.
620 (JCF_ZERO): Updated. (find_class): Updated.
621 * decl.c: Removed dead code.
622 * class.c: Removed dead code.
624 2007-01-11 Tom Tromey <tromey@redhat.com>
626 * typeck.c (convert): Don't use flag_emit_class_files.
627 * lang.c (java_post_options): Don't use flag_emit_class_files.
628 (java_handle_option): Don't use flag_extraneous_semicolon or
630 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
631 flag_emit_class_files.
632 (load_class): Likewise.
633 * java-tree.h (flag_emit_class_files): Don't declare.
634 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
635 (flag_extraneous_semicolon): Don't declare.
636 (flag_not_overriding): Likewise.
637 (flag_static_local_jdk1_1): Likewise.
638 (flag_redundant): Likewise.
639 * expr.c (build_newarray): Don't use flag_emit_class_files.
640 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
641 flag_emit_class_files.
642 (build_class_ref): Likewise.
643 * builtins.c (check_for_builtin): Don't use
644 flag_emit_class_files.
646 2007-01-10 Tom Tromey <tromey@redhat.com>
648 * lang.c (java_can_use_bit_fields_p): Removed.
649 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
651 2007-01-09 Andrew Haley <aph@redhat.com>
653 * expr.c (build_java_arrayaccess): Rewrite to generate array
654 access in canonical form.
655 (expand_java_arraystore): Use build_fold_addr_expr() on address of
658 2007-01-03 Andrew Haley <aph@redhat.com>
661 * expr.c (expand_java_field_op): If we're initializing a field's
662 declaring interface we should not also initialize the class
663 context in which it was referenced.
665 2007-01-02 Tom Tromey <tromey@redhat.com>
667 * java-tree.h (compiling_from_source, current_encoding,
668 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
669 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
670 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
671 JTI_WFL_OPERATOR): Removed
672 (finit_identifier_node, instinit_identifier_node,
673 length_identifier_node, super_identifier_node,
674 continue_identifier_node, access0_identifier_node, wfl_operator):
676 (cyclic_inheritance_report,
677 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
678 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
679 DECL_FIXED_CONSTRUCTOR_P): Removed.
680 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
682 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
683 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
684 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
685 import_list, import_demand_list>: Removed.
686 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
687 cxx_keyword_p): Removed.
688 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
689 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
690 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
691 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
692 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
693 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
694 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
695 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
696 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
697 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
698 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
699 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
700 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
701 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
702 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
703 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
704 java_parse_abort_on_error, extract_field_decl): Removed.
706 * lang.c: (compiling_from_source, current_encoding): Removed.
707 (java_handle_option): Ignore -fencoding.
708 * parse.h: Don't include lex.h.
709 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
710 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
711 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
712 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
713 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
714 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
715 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
716 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
717 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
718 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
719 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
720 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
721 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
722 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
723 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
724 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
725 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
726 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
727 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
728 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
729 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
730 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
731 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
732 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
733 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
734 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
735 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
736 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
737 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
738 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
739 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
740 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
741 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
742 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
743 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
744 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
745 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
746 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
747 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
748 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
749 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
750 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
751 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
752 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
753 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
754 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
755 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
756 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
757 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
758 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
759 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
760 SET_CPC_STATIC_INITIALIZER_STMT,
761 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
762 java_complete_class, java_check_circular_reference,
763 java_fix_constructors, java_layout_classes, java_reorder_fields,
764 java_method_add_stmt, java_get_line_col, reset_report,
765 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
766 java_finish_classes, ctxp, ctxp_for_generation,
767 ctxp_for_generation_last): Removed.
768 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
769 * mangle.c (utf8_cmp): New function.
770 (cxx_keywords): New global.
771 (cxx_keyword_p): New function.
772 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
773 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
774 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
775 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
776 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
777 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
778 * Make-lang.in (java.srcextra): Do nothing.
779 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
780 (JAVA_OBJS): Don't mention deleted files.
781 (java.mostlyclean): Likewise.
782 (java.clean): Likewise.
783 (JAVA_LEX_C): Removed.
784 (buffer.o, check-init.o, parse.o): Remove unused targets.
786 * jcf-parse.c (read_class): Comment out unused code.
787 (java_layout_seen_class_methods): New function.
788 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
790 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
791 (init_jcf_parse): Removed.
792 * config-lang.in (gtfiles): Remove deleted files.
793 * decl.c (java_init_decl_processing): Don't initialize
794 finit_identifier_node, instinit_identifier_node,
795 length_identifier_node, super_identifier_node,
796 continue_identifier_node, access0_identifier_node. Don't call
798 * class.c (cyclic_inheritance_report): New global.
799 (add_method_1): Don't use
800 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
801 (maybe_layout_super_class): Comment out code.
802 (safe_layout_class): New function.
803 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
804 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
805 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
806 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
807 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
808 (java_gimplify_case_expr): Removed.
809 (java_gimplify_default_expr): Likewise.
810 (java_gimplify_new_array_init): Likewise.
812 * keyword.gperf, keyword.h: Removed.
813 * chartables.h: Removed.
814 * check-init.c: Removed.
815 * buffer.c, buffer.h: Removed.
816 * convert.h: Removed.
817 * gen-table.pl: Removed.
818 * lex.c, lex.h: Removed.
820 2007-01-02 Andrew Haley <aph@redhat.com>
822 * expr.c (expand_java_arraystore): Make sure we perform a bounds
823 check at runtime before we perform a type check.
825 2006-12-19 Andrew Haley <aph@redhat.com>
827 * decl.c: Bump minor BC ABI version.
829 2006-12-13 Gary Benson <gbenson@redhat.com>
831 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
833 2006-12-12 Tom Tromey <tromey@redhat.com>
835 * lang-specs.h: Pass -M options to jc1.
836 * jcf-depend.c (jcf_dependency_add_file): Don't emit
839 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
841 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
843 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
845 * lang-specs.h: Pass '%U'-based options as separate arguments.
847 2006-12-05 Tom Tromey <tromey@redhat.com>
850 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
852 * class.c (add_field): Handle ACC_SYNTHETIC.
853 (add_method_1): Likewise. Handle bridge and varargs.
854 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
856 (set_class_decl_access_flags): Handle synthetic and annotation.
857 * java-tree.h (METHOD_BRIDGE): New macro.
858 (METHOD_VARARGS): Likewise.
859 (TYPE_SYNTHETIC): Likewise.
860 (TYPE_ANNOTATION): Likewise.
861 (lang_type): New fields 'synthetic' and 'annotation'.
862 (lang_decl_func): New fields 'varargs' and 'bridge'.
864 2006-12-04 Andrew Haley <aph@redhat.com>
866 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
869 2006-11-29 Gary Benson <gbenson@redhat.com>
871 * expr.c (rewrite_arglist_getcaller): Reorder.
873 2006-11-29 Andrew Haley <aph@redhat.com>
875 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
876 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
878 2006-11-23 Andrew Haley <aph@redhat.com>
880 * expr.c (rewrite_arglist_getcaller): New.
881 (rewrite_arglist_getclass): Fix indentation.
882 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
883 gnu.classpath.VMStackWalker.getCallingClassLoader().
884 * builtins.c (initialize_builtins): Remove duplicate def'n of
886 Add __builtin_return_address.
888 2006-11-22 Andrew Haley <aph@redhat.com>
890 * jcf-reader.c (get_attribute): Mark attr_type unused.
892 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
894 2007-01-08 Richard Guenther <rguenther@suse.de>
896 * lex.c (do_java_lex): Use build_int_cst_wide_type.
897 * jcf-parse.c (get_constant): Likewise.
899 2006-11-12 Jan Hubicka <jh@suse.cz>
901 * resource.c (compile_resource_data): Update for new varpool names.
902 * java/class.c (build_utf8_ref): Likewise.
904 2006-11-12 David Daney <ddaney@avtrex.com>
907 * typeck.c (build_java_array_type): Increase buffer sizes.
909 2006-11-11 Richard Guenther <rguenther@suse.de>
911 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
912 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
914 2006-11-06 Andrew Haley <aph@redhat.com>
916 * java-tree.h (CONSTANT_LazyFlag): New.
917 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
918 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
920 (handle_constant): Return 0 for dummy cpool entries.
921 Handle constants of kind Class.
922 Handle constants of kind NameAndType.
923 (handle_enclosingmethod_attribute): New.
924 (handle_signature_attribute): New.
925 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
926 (HANDLE_SIGNATURE_ATTRIBUTE): New.
927 (handle_constant): Use unmangle_classname()rather than calling
928 identifier_subst() directly.
930 2006-11-02 Andrew Haley <aph@redhat.com>
932 * java-tree.h (FIELD_ENUM): New.
933 (lang_decl_var.field_enum): New.
934 (lang_type.enum_class): New.
936 * class.c (set_class_decl_access_flags): Handle enum types.
937 (add_field): Handle enum fields.
938 (get_access_flags_from_decl): Likewise.
940 * class.c (make_class_data): Put reflection_data into rodata.
942 2006-11-01 Andrew Haley <aph@redhat.com>
944 * jcf-parse.c (field_offsets, bit_obstack): New variables.
945 (jcf_parse): Write end marker to annotation_data.
946 (java_parse_file): Create field_offsets bitmap. Destroy it.
947 (annotation_grow, annotation_rewrite_byte)
948 (annotation_rewrite_short, annotation_rewrite_int)
949 (annotation_read_short, annotation_write_byte)
950 (annotation_write_short, annotation_write_int)
951 (handle_long_constant, handle_constant, handle_element_value)
952 (handle_annotation, handle_annotations)
953 (handle_annotation_attribute, rewrite_reflection_indexes)
954 (handle_member_annotations, handle_parameter_annotations)
955 (handle_default_annotation): New functions.
956 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
957 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
958 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
959 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
960 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
961 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
962 (TYPE_REFLECTION_DATA): New.
963 (TYPE_REFLECTION_DATASIZE): New.
964 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
966 * jcf-reader.c (get_attribute): Pass field/method index and
967 attribute type to get_attribute().
968 * constants.c (find_class_or_string_constant): Make nonstatic.
969 (cpool_for_class): Likewise.
970 (build_constants_constructor): Separate string and scalar types.
971 * class.c (make_class_data): Generate field_indexes permutation.
972 Pass it to rewrite_reflection_indexes().
973 (make_class_data): Generate constructor for reflection_data field.
975 2006-10-20 Tom Tromey <tromey@redhat.com>
977 * gcj.texi (Top): Don't mention jv-scan.
978 (Invoking gcj): Likewise.
979 (Invoking gcjh): Likewise.
980 (Invoking gjnih): Likewise.
981 (Invoking gij): Likewise.
982 (Invoking gcj-dbtool): Likewise.
983 (Invoking jv-scan): Removed.
984 * parse-scan.y: Removed.
985 * jv-scan.c: Removed.
986 * config-lang.in (stagestuff): Don't mention jv-scan.
987 * Make-lang.in (java): Removed jv-scan.
988 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
989 (JVSCAN_OBJS): Removed.
990 (jv-scan$(exeext)): Likewise.
991 (JAVA_MANFILES): Removed jv-scan.1.
992 (java.uninstall): Don't mention jv-scan.
993 (java.mostlyclean): Likewise.
994 (java.maintainer-clean): Likewise.
995 (.INTERMEDIATE): Likewise.
996 (java/jv-scan.o): Removed.
997 (jv-scan.pod): Likewise.
998 (java.srcextra): Don't mention parse-scan.c.
999 (java.mostlyclean): Likewise.
1000 (java/parse-scan.c): Removed.
1001 (java/parse-scan.o-warn): Removed.
1002 (java/parse-scan.o): Removed.
1004 2006-10-20 Tom Tromey <tromey@redhat.com>
1006 * lang.c (java_handle_option): Don't use
1007 jcf_write_base_directory.
1008 * jcf.h (jcf_write_base_directory): Removed.
1009 * parse.y (java_expand_classes): Don't call write_classfile.
1010 * config-lang.in (gtfiles): Removed jcf-write.c.
1011 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
1012 (java/jcf-write.o): Removed.
1013 * jcf-parse.c (parse_class_file): Don't call write_classfile.
1014 * java-tree.h (write_classfile): Removed declaration.
1015 * jcf-write.c: Removed.
1017 2006-10-20 Tom Tromey <tromey@redhat.com>
1019 * Make-lang.in (java): Removed gjnih, gcjh.
1020 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1021 (GCJH_OBJS): Removed.
1022 (GJNIH_OBJS): Likewise.
1023 (gjnih$(exeext)): Likewise.
1024 (gcjh$(exeext)): Likewise.
1025 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
1026 (java.install-common): Don't special case gcjh.
1027 (java.uninstall): Don't mention gcjh, gjnih.
1028 (java.mostlyclean): Likewise.
1029 (java.maintainer-clean): Likewise.
1030 (.INTERMEDIATE): Likewise.
1031 (gcjh.pod): Removed.
1032 (gjnih.pod): Likewise.
1033 (GCJH_TARGET_INSTALL_NAME): Removed.
1034 (java/gjavah-jni.o): Removed.
1035 (java/gjavah.o): Likewise.
1036 * config-lang.in (stagestuff): Removed gjnih, gcjh.
1037 * gjavah.c: Removed.
1039 2006-10-17 Tom Tromey <tromey@redhat.com>
1041 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
1044 2006-10-17 Tom Tromey <tromey@redhat.com>
1046 * jvgenmain.c (main): Handle -findirect-dispatch.
1047 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
1050 2006-10-06 Andrew Haley <aph@redhat.com>
1052 * builtins.c (compareAndSwapInt_builtin): Check that we really do
1053 have a compare_and_swap builtin.
1054 (compareAndSwapLong_builtin): Likewise.
1055 (compareAndSwapObject_builtin): Likewise.
1057 2006-10-04 Andrew Haley <aph@redhat.com>
1059 * builtins.c (java_builtins): Add compareAndSwapInt,
1060 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
1061 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
1062 putObjectVolatile, getObjectVolatile, getIntVolatile,
1063 getLongVolatile, getLong.
1064 (UNMARSHAL3): New macro.
1065 (UNMARSHAL4): Likewise.
1066 (UNMARSHAL5): Likewise.
1067 (build_arglist_for_builtin): New function.
1068 (build_addr_sum, build_check_this): New functions.
1069 (putObject_builtin. compareAndSwapInt_builtin,
1070 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
1071 putVolatile_builtin, getVolatile_builtin): New builtins.
1073 2006-06-08 Andrew Haley <aph@redhat.com>
1075 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1076 get_symbol_table_index().
1077 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1079 (build_known_method_ref): New arg: special. Pass it to
1080 get_symbol_table_index.
1081 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1083 (build_invokevirtual): New arg: special. Pass it to
1084 get_symbol_table_index.
1085 (expand_invoke): New variable: special.
1086 Pass it to maybe_rewrite_invocation().
1087 Pass it to build_known_method_ref().
1088 * class.c (build_symbol_entry): Add new arg: special. Use it to
1089 build the symbol table conbstructor.
1090 (emit_symbol_table): Extract SPECIAL from the method list and pass
1091 it to build_symbol_entry().
1092 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1093 special accordingly.
1095 2006-09-08 Andrew Haley <aph@redhat.com>
1097 * class.c (layout_class_method): Use build_java_signature, not
1098 build_java_argument_signature. Use lookup_java_method, not
1099 lookup_argument_method.
1101 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1102 Bryce McKinlay <bryce@mckinlay.net.nz>
1104 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1106 2006-07-18 Tom Tromey <tromey@redhat.com>
1108 * lang.opt: Added missing -W options.
1110 2006-07-12 Tom Tromey <tromey@redhat.com>
1113 * lang-specs.h: Pass '%U'-based options as separate arguments.
1114 Use -faux-classpath.
1115 * lang.c (java_handle_option): Handle OPT_faux_classpath.
1116 * lang.opt (faux-classpath): New option.
1118 2006-07-07 Tom Tromey <tromey@redhat.com>
1120 * class.c (make_class_data): Set value for reflection_data field.
1121 * decl.c (java_init_decl_processing): Add reflection_data field.
1123 2006-07-07 Tom Tromey <tromey@redhat.com>
1125 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
1127 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1129 2006-07-07 Andrew Haley <aph@redhat.com>
1131 * jcf-parse.c (set_source_filename): Don't check for
1132 CLASS_FROM_CURRENTLY_COMPILED_P.
1135 2006-07-07 Andrew Haley <aph@redhat.com>
1137 * java-tree.h (java_read_sourcefilenames): Declare.
1138 * lang.c (java_handle_option): Call java_read_sourcefilenames().
1139 * lang.opt (fsource-filename): New opt.
1140 * lang-specs.h: Add -fsource-filename.
1141 * jcf-parse.c (num_files, filenames): New variables.
1142 (reverse, cmpstringp, java_read_sourcefilenames,
1143 find_sourcefile): New.
1144 (set_source_filename): Call find_sourcefile to find the real name
1147 2006-06-27 Tom Tromey <tromey@redhat.com>
1149 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
1150 Signature, LocalVariableTypeTable, annotation attributes.
1151 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
1152 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
1153 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
1154 (HANDLE_METHOD): Likewise.
1155 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
1156 (print_annotation): New function.
1157 (print_element_value): Likewise.
1159 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
1160 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
1161 (print_parameter_annotations): New function.
1162 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
1163 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
1165 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
1166 (print_annotations): New function.
1168 2006-06-23 Tom Tromey <tromey@redhat.com>
1170 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
1171 emitting class files, always use 1.5.
1172 * gcj.texi (Input Options): Document -fsource.
1173 (Code Generation): Document -ftarget.
1175 2006-06-21 Tom Tromey <tromey@redhat.com>
1178 * expr.c (expand_java_field_op): Initialize field's declaring
1181 2006-06-20 Tom Tromey <tromey@redhat.com>
1183 * expr.c (push_value): Always flush quick stack.
1185 2006-06-19 Tom Tromey <tromey@redhat.com>
1187 * expr.c (push_value): Also flush quick stack if value is a
1190 2006-06-19 Tom Tromey <tromey@redhat.com>
1192 * expr.c (push_value): Flush quick stack if value has side
1195 2006-06-13 Tom Tromey <tromey@redhat.com>
1197 * class.c (is_compiled_class): Explicitly check for current
1200 2006-06-09 Tom Tromey <tromey@redhat.com>
1202 * gjavah.c (decompile_method): Don't decompile a static field
1205 2006-06-06 Tom Tromey <tromey@redhat.com>
1207 * lang-specs.h <jc1>: Add .jar file to command line if
1208 -fsaw-java-file. Also, remove -ffilelist-file in this case.
1210 2006-06-05 Tom Tromey <tromey@redhat.com>
1212 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1213 synthetic, enum, annotation.
1214 * jcf.h (ACC_BRIDGE): New macro.
1215 (ACC_VARARGS): Likewise.
1216 (ACC_SYNTHETIC): Likewise.
1217 (ACC_ENUM): Likewise.
1218 (ACC_ANNOTATION): Likewise.
1220 2006-06-04 Tom Tromey <tromey@redhat.com>
1222 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
1223 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
1225 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
1226 when needed. Handle classpath-setting.
1227 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1228 * lang-specs.h: Rewrote.
1230 2006-06-04 Tom Tromey <tromey@redhat.com>
1232 * jcf-io.c (find_class): Set source_ok to 0.
1233 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1234 (parse_class_file): Don't call java_mark_class_local.
1235 (java_parse_file): Skip .java files. Call java_mark_class_local
1236 before lowering any code.
1237 (parse_zip_file_entries): Don't call duplicate_class_warning
1239 (process_zip_dir): ... call it here.
1240 * class.c (add_field): Don't mark field external if it is being
1241 compiled into this object.
1242 (make_class_data): Handle situation where class_dtable_decl is
1243 created before Class is compiled.
1244 (is_compiled_class): Don't assume files in zip are compiled into
1246 (layout_class_method): Don't mark method external if it is being
1247 compiled into this object.
1249 2006-06-04 Tom Tromey <tromey@redhat.com>
1251 * jcf-path.c (jcf_path_compute): New function.
1252 * jcf.h (jcf_path_compute): Declare.
1254 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1256 * decl.c: Include langhooks.h.
1257 (builtin_function): Remove.
1258 (java_init_decl_processing): Replace calls to builtin_function
1259 with add_builtin_function.
1260 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1261 (java/decl.o): Depend on langhooks.h.
1262 * java-tree.h (builtin_function): Remove.
1264 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1266 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1268 2006-09-12 Tom Tromey <tromey@redhat.com>
1270 * expr.c (push_value): Always flush quick stack.
1272 2006-09-12 Tom Tromey <tromey@redhat.com>
1275 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1276 the push of the called method's return result.
1278 2006-09-12 Tom Tromey <tromey@redhat.com>
1280 * jvspec.c (lang_specific_driver): Read spec file even if
1283 2006-09-12 Tom Tromey <tromey@redhat.com>
1286 * expr.c (expand_java_field_op): Initialize field's declaring
1287 interface if necessary.
1289 2006-09-12 Tom Tromey <tromey@redhat.com>
1292 * expr.c (expand_java_field_op): No error for assignments not in
1293 class initializer or constructor.
1295 2006-08-22 Andrew Haley <aph@redhat.com>
1297 * decl.c (java_add_stmt): Give the statement list a type.
1299 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1300 Bryce McKinlay <bryce@mckinlay.net.nz>
1302 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1304 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1307 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1308 or '--' is used with a constant operand.
1309 (java_complete_lhs): When processing a '++' or '--' expression,
1310 don't call java_complete_tree but java_complete_lhs, so that a
1311 static final variable operand is never replaced by its value. This
1312 avoids an ICE later on.
1313 (patch_unaryop): Fixed typo in comment.
1315 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1317 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1319 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1321 * builtins.c (check_for_builtin): If a builtin could result in a
1322 direct call being generated, don't use it if flag_indirect_dispatch
1325 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1327 * gcj.texi (Invocation): Corrections for Invocation API example.
1329 2006-07-04 Andrew Haley <aph@redhat.com>
1331 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1334 2006-06-21 Andrew Haley <aph@redhat.com>
1336 * java-tree.h (update_aliases): Remove
1337 * expr.c (expand_iinc): Remove call to update_aliases().
1338 (STORE_INTERNAL): Likewise.
1339 * decl.c (update_aliases, initialize_local_variable)
1340 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1342 2006-06-19 Andrew Haley <aph@redhat.com>
1346 * expr.c (java_modify_addr_for_volatile): New function.
1347 (expand_java_field_op): Handle volatile fields.
1348 * java-gimplify.c (java_gimplify_component_ref): Call
1349 java_modify_addr_for_volatile to give the field_ref the correct
1351 (java_gimplify_modify_expr): Likewise.
1352 * java-tree.h (java_modify_addr_for_volatile): New decl.
1354 2006-06-17 Karl Berry <karl@gnu.org>
1356 * gcj.texi (@dircategory): Use "Software development" instead
1357 of "Programming", following the Free Software Directory.
1359 2006-06-16 Andrew Haley <aph@redhat.com>
1361 * class.c (make_class_data): When using flag_indirect_classes,
1362 don't initialize the vtable of Class instances.
1364 2006-06-09 Andrew Haley <aph@redhat.com>
1368 * builtins.c (initialize_builtins): Add __sync_synchronize().
1369 * class.c (add_field): Mark volatile fields.
1370 * java-gimplify.c (java_gimplify_expr): Call new functions to
1371 handle self-modifying exprs and COMPONENT_REFs.
1372 (java_gimplify_component_ref): New.
1373 (java_gimplify_modify_expr): Add handling for volatiles.
1375 2006-06-08 Tom Tromey <tromey@redhat.com>
1377 * gcj.texi (libgcj Runtime Properties): Document
1378 gnu.gcj.user.realname.
1380 2006-06-08 Andrew Haley <aph@redhat.com>
1382 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1383 get_symbol_table_index().
1384 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1386 (build_known_method_ref): New arg: special. Pass it to
1387 get_symbol_table_index.
1388 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1390 (build_invokevirtual): New arg: special. Pass it to
1391 get_symbol_table_index.
1392 (expand_invoke): New variable: special.
1393 Pass it to maybe_rewrite_invocation().
1394 Pass it to build_known_method_ref().
1395 * class.c (build_symbol_entry): Add new arg: special. Use it to
1396 build the symbol table conbstructor.
1397 (emit_symbol_table): Extract SPECIAL from the method list and pass
1398 it to build_symbol_entry().
1399 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1400 special accordingly.
1402 2006-06-06 David Daney <ddaney@avtrex.com>
1404 * gcj.texi (libgcj Runtime Properties): Document
1405 gnu.gcj.runtime.NameFinder.show_raw and
1406 gnu.gcj.runtime.NameFinder.remove_unknown.
1408 2006-06-06 Tom Tromey <tromey@redhat.com>
1410 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1411 synthetic, enum, annotation.
1412 * jcf.h (ACC_BRIDGE): New macro.
1413 (ACC_VARARGS): Likewise.
1414 (ACC_SYNTHETIC): Likewise.
1415 (ACC_ENUM): Likewise.
1416 (ACC_ANNOTATION): Likewise.
1418 2006-06-06 Mike Stump <mrs@apple.com>
1420 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1421 installing during build.
1423 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1425 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1426 classname-to-library resolution mechanism.
1427 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1428 mechanism deprecated.
1429 (libgcj Runtime Properties): Document
1430 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1432 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1434 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1436 (jword): Define to uint64 on 64-bit arches.
1437 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1439 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1441 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1444 2006-05-26 Tom Tromey <tromey@redhat.com>
1446 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1447 * verify-glue.c (vfy_class_type): New function.
1448 * verify-impl.c (check_constant): Allow 'ldc class'.
1449 * verify.h (vfy_class_type): Declare.
1451 2006-05-25 Andrew Haley <aph@redhat.com>
1454 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1455 update all lifetimes, not just the first one.
1457 2006-05-24 Tom Tromey <tromey@redhat.com>
1459 * java-tree.h: Fixed flag documentation.
1461 2006-05-24 Tom Tromey <tromey@redhat.com>
1464 * jcf.h (ACC_INVISIBLE): Changed value.
1466 2006-05-24 Andrew Haley <aph@redhat.com>
1469 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1472 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1474 * lang.opt (femit-class-file): Remove VarExists.
1476 2006-05-16 Tom Tromey <tromey@redhat.com>
1478 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1481 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1484 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1487 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1489 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1490 (java/expr.o): Replace target.h with $(TARGET_H).
1491 (java/parse.o): Likewise.
1493 2006-05-10 Andrew Haley <aph@redhat.com>
1495 * class.c (emit_indirect_register_classes): Fix comment.
1497 2006-05-04 Tom Tromey <tromey@redhat.com>
1499 * java-tree.h (uses_jv_markobj_p): Declare.
1500 * class.c (uses_jv_markobj_p): Removed.
1501 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1502 (get_boehm_type_descriptor): Use it.
1503 (uses_jv_markobj_p): Moved from class.c. Return bool.
1505 2006-05-04 Tom Tromey <tromey@redhat.com>
1507 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1509 2006-05-04 Andrew Haley <aph@redhat.com>
1511 * class.c (make_field_value): Always build_address_of fdecl if
1512 there is an initializer.
1514 2006-05-03 Andrew Haley <aph@redhat.com>
1517 * expr.c (maybe_rewrite_invocation): New function.
1518 (rewrite_arglist_getclass): Likewise.
1520 (expand_invoke): Call maybe_rewrite_invocation.
1521 * parse.y (patch_invoke): Likewise.
1522 * java-tree.h: (maybe_rewrite_invocation): New function.
1524 2006-04-21 Andrew Haley <aph@redhat.com>
1526 * lang.c (java_init): Handle flag_indirect_classes.
1527 * jvgenmain.c: Use "class$$" instead of "class$".
1528 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1530 (mangle_class_field): Special case "class$$" as well as "class$".
1531 * constants.c (build_ref_from_constant_pool): If
1532 flag_indirect_classes, generate a ref into the heap.
1533 * decl.c (constants_field_decl_node,
1534 constants_data_field_decl_node): New.
1535 * class.c (build_static_class_ref): New.
1536 (build_classdollar_field): Factor out from build_class_ref().
1537 (make_field_value): Handle static fields in heap.
1538 (make_class_data): Make sure we get a static ref to class.
1539 Make class initializer const if flag_indirect_classes.
1540 (register_class): Build a class_ref for initialization if
1541 flag_indirect_classes.
1542 (emit_indirect_register_classes): New.
1544 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1546 * expr.c, gjavah.c: Fix comment typos.
1548 2006-04-03 Andrew Haley <aph@redhat.com>
1551 * expr.c (build_field_ref): Don't check the field offset if
1554 2006-03-30 Andrew Haley <aph@redhat.com>
1557 * lang.c (java_attribute_table): New.
1558 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1559 * expr.c (build_field_ref): Add a null pointer check for all
1560 fields of offset > 4k. Don't do so for accesses via the this
1561 pointer, which we know can never be null.
1562 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1565 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1567 * Make-lang.in: Rename docdir to gcc_docdir.
1569 2006-03-30 Tom Tromey <tromey@redhat.com>
1572 * parse.y (java_reorder_fields): Reset superclass field's size as
1575 2006-03-28 Tom Tromey <tromey@redhat.com>
1578 * parse.y (find_most_specific_methods_list): Added 'class'
1580 (lookup_method_invoke): Updated.
1582 2006-03-15 Tom Tromey <tromey@redhat.com>
1584 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1585 non-static method calls.
1587 2006-03-15 David Daney <ddaney@avtrex.com>
1589 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1592 2006-03-15 David Daney <ddaney@avtrex.com>
1594 * lang.opt (-freduced-reflection): New option.
1595 * lang.c (java_post_options): Generate an error if
1596 -freduced-reflection used with -fjni or -findirect-dispatch.
1597 * java-tree.h (flag_reduced_reflection): Declare new variable.
1598 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1599 if bitmap overflows and flag_reduced_reflection set.
1600 * class.c (uses_jv_markobj_p): New function.
1601 (make_class_data): Moved generation of vtable to before
1602 reflection data, generate less reflection data if
1603 flag_reduced_reflection set.
1604 * gcj.texi: Document -freduced-reflection.
1606 2006-03-15 Tom Tromey <tromey@redhat.com>
1609 * class.c (get_interface_method_index): Don't put <clinit> into
1612 2006-03-15 Tom Tromey <tromey@redhat.com>
1614 * parse.y (analyze_clinit_body): Ignore empty statements.
1616 2006-03-08 David Daney <ddaney@avtrex.com>
1618 * gcj.texi: Document -static-libgcj option.
1620 2006-02-20 Andrew Haley <aph@redhat.com>
1622 * jcf-parse.c (parse_class_file): Set input_location from
1625 2006-02-15 Andrew Haley <aph@redhat.com>
1627 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1628 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1629 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1631 2006-02-09 Andrew Haley <aph@redhat.com>
1634 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1635 in their superclass.
1637 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1640 2006-02-08 Tom Tromey <tromey@redhat.com>
1643 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1644 * builtins.c (convert_real): New function.
1645 (java_builtins): Handle Float.intBitsToFloat,
1646 Float.floatToRawIntBits, Double.longBitsToDouble,
1647 Double.doubleToRawLongBits.
1649 2006-02-07 Andrew Haley <aph@redhat.com>
1651 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1652 class other than the one in which we expected to find it, ignore
1656 * constants.c (build_constants_constructor): move initializer into
1657 first halfword on a 64-bit big-endian machine.
1659 2006-02-04 Tom Tromey <tromey@redhat.com>
1662 * builtins.c (max_builtin): Skip floating point 'max'.
1663 (min_builtin): Skip floating point 'min'.
1664 (check_for_builtin): Never return NULL_TREE.
1666 2006-02-04 Tom Tromey <tromey@redhat.com>
1669 * expr.c (push_type): Avoid side effect in gcc_assert.
1671 2006-02-04 Roger Sayle <roger@eyesopen.com>
1673 * decl.c (java_init_decl_processing): Create char_type_node as a
1674 regular INTEGER_TYPE node.
1675 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1676 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1677 test for char_type_node and promoted_char_type_node as special
1678 instances of INTEGER_TYPE tree codes.
1679 (promote_type,build_java_signature): Likewise.
1680 * jcf-write.c (adjust_typed_op): Likewise.
1681 * mangle.c (mangle_type): Likewise.
1682 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1683 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1685 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1687 * expr.c (java_stack_swap): Revert gcc_assert patch.
1689 2006-02-03 Ben Elliston <bje@au.ibm.com>
1691 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1692 * typeck.c: Likewise.
1693 * verify-impl.c: Likewise.
1694 * class.c: Likewise.
1696 * jcf-parse.c: Likewise.
1697 * constants.c: Likewise.
1698 * check-init.c: Likewise.
1699 * jcf-write.c: Likewise.
1700 * verify-glue.c: Likewise.
1701 * mangle.c: Likewise.
1704 * boehm.c: Likewise.
1706 2006-02-01 Jan Hubicka <jh@suse.cz>
1708 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1709 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1711 2006-01-30 Andrew Haley <aph@redhat.com>
1714 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1716 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1718 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1719 Update copyright notice dates.
1721 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1723 * jvspec.c (lang_specific_spec_functions): Remove.
1725 2006-01-06 Tom Tromey <tromey@redhat.com>
1727 * gcj.texi (Arrays): Added more documentation for
1729 (Primitive types): Correct information about primitive classes.
1730 (Reference types): New node.
1733 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1735 * jcf-parse.c (set_source_filename): Set the decl source location
1736 even when returning early.
1738 2005-12-15 Tom Tromey <tromey@redhat.com>
1739 Andrew Haley <aph@redhat.com>
1742 * parse.y (resolve_expression_name): Don't generate accessor
1743 methods for constant fields.
1745 2005-12-13 Andrew Haley <aph@redhat.com>
1749 * class.c (maybe_layout_super_class): Update current_class before
1750 calling do_resolve_class.
1752 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1755 * jcf-write.c (write_classfile): Use PID in temporary class
1756 file. Save/restore errno when reporting error.
1758 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1761 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1762 to bare_function_type and including the return type
1763 * builtins.c (initialize_builtins) : Change builtin mangled name
1764 constants to conform to new mangling scheme
1766 2005-12-08 Andrew Haley <aph@redhat.com>
1769 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1770 (soft_abstractmethod_node): New.
1771 * expr.c (build_field_ref): Add in-line check for missing field.
1772 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1774 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1776 * Make-lang.in (java.all.build, java.install-normal): Remove.
1778 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1780 * Make-lang.in: Remove all dependencies on s-gtype, except for
1783 2005-12-07 Richard Sandiford <richard@codesourcery.com>
1785 * class.c (build_utf8_ref, emit_register_classes): Use
1786 switch_to_section and get_section.
1788 2005-12-06 Tom Tromey <tromey@redhat.com>
1791 * parse.y (patch_new_array_init): Revert previous patch.
1792 (lookup_method_invoke): Use size-less array type when creating an
1793 anonymous constructor.
1795 2005-12-05 Tom Tromey <tromey@redhat.com>
1797 * parse.y (patch_new_array_init): Don't set length on array.
1799 2005-12-02 Richard Guenther <rguenther@suse.de>
1801 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1802 buildN instead of build.
1803 * class.c (finish_class): Likewise.
1804 * expr.c (java_create_object): Likewise.
1806 2005-11-28 Tom Tromey <tromey@redhat.com>
1809 * expr.c (build_jni_stub): Unwrap the return value.
1810 * java-tree.h (soft_unwrapjni_node): New define.
1811 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1812 * decl.c (java_init_decl_processing): Initialize
1813 soft_unwrapjni_node.
1815 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
1817 * gcj.texi (gij options): Add -Xss documentation.
1819 2005-11-08 Wil Mahan <wmahan@gmail.com>
1822 * zextract.c (read_zip_archive): Fix out of memory error when
1823 reading jar files with zip-style comments.
1825 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
1827 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1829 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1831 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
1832 Wil Mahan <wmahan@gmail.com>
1835 * class.c (make_class): Create empty binfo here.
1836 (set_super_info): Only create binfo if we have superclasses.
1838 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
1841 * parse.y (method_header): Make the result of the rule a NULL_TREE
1842 when a parsing error occurs.
1844 2005-09-29 Tom Tromey <tromey@redhat.com>
1847 * jcf-io.c (memoized_dirlist_hash): New function.
1848 (caching_stat): Use it.
1850 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
1853 * class.c (inherits_from_p): Try to lay out super class
1854 if it is not already laid out.
1855 (maybe_layout_super_class): Handle the case where SUPER_CLASS
1858 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
1860 * builtins.c (max_builtin, min_builtin, abs_builtin,
1861 java_build_function_call_expr): Use fold_buildN.
1862 * class.c (layout_class_method): Likewise.
1863 * expr.c (java_truthvalue_conversion, build_java_jsr,
1864 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1865 build_java_binop, build_field_ref, expand_compare,
1866 build_known_method_ref, build_invokevirtual,
1867 process_jvm_instruction): Likewise.
1868 * parse.y (patch_binop, patch_exit_expr): Likewise.
1869 * typeck.c (convert_ieee_real_to_integer): Likewise.
1870 (convert): Don't call fold after convert_ieee_real_to_integer.
1872 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
1875 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1876 the newly created type. Set import lists here, not in create_class.
1877 (jdep_resolve_class): Set current_class.
1878 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
1879 the current package context, not ctxp->package.
1880 (cicp_cache): Removed.
1881 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1882 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1883 * java-tree.h (TYPE_PACKAGE): New macro.
1884 (struct lang_type): New member 'package'.
1886 2005-09-09 Andrew Haley <aph@redhat.com>
1889 * expr.c (pop_type_0): If the expected type is object or ptr
1890 (i.e. void*), return the type of the object we just popped from
1893 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
1895 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1896 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1898 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
1900 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1901 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1902 typos. Follow spelling conventions.
1904 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
1907 * typeck.c (lookup_do): Look up interfaces for the original class,
1909 * parse.y (java_check_regular_methods): Fix diagnostic message for
1910 more restrictive overriding of a method from an interface.
1912 2005-08-16 Tom Tromey <tromey@redhat.com>
1914 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1915 class' initial state.
1917 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1920 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
1921 `literal_token' for large numeric input tokens.
1923 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1926 * parse.y (nested_field_access_p): Rename to nested_member_access_p
1927 and expand to handle method accesses across nested classes.
1928 (build_outer_method_access_method): Rename to
1929 build_nested_method_access_method. Minor adjustments to comments.
1930 (resolve_expression_name): Use the newly-renamed
1931 nested_member_access_p method.
1932 (resolve_qualified_expression_name): Likewise.
1933 (patch_method_invocation): Also consider static methods for access
1934 method generation. Minor adjustments to comments.
1935 (maybe_use_access_method): Use the more general
1936 nested_memeber_access_p to determine access across nested class
1937 boundaries. Allow THIS_ARG to be NULL (for static methods).
1939 2005-08-15 Tom Tromey <tromey@redhat.com>
1942 * expr.c (build_field_ref): Don't generate otable reference when
1943 DECL_FIELD_OFFSET is 0.
1944 * class.c (maybe_layout_super_class): Pass outer class to
1947 2005-08-15 Tom Tromey <tromey@redhat.com>
1949 * java-tree.h (LABEL_IN_SUBR): Removed.
1950 (LABEL_IN_SUBR): Likewise.
1951 (LABEL_IS_SUBR_START): Likewise.
1952 (LABEL_SUBR_START): Likewise.
1953 (LABEL_SUBR_CONTEXT): Likewise.
1954 (LABEL_CHANGED): Likewise.
1955 (LABEL_RETURN_LABEL): Likewise.
1956 (LABEL_RETURN_TYPE_STATE): Likewise.
1957 (LABEL_RETURN_LABELS): Likewise.
1958 (RETURN_MAP_ADJUSTED): Likewise.
1959 (LABEL_PENDING_CHAIN): Likewise.
1961 2005-08-15 Tom Tromey <tromey@redhat.com>
1963 * Make-lang.in (JAVA_OBJS): Removed verify.o
1964 (java/verify.o): Removed.
1965 * verify.c: Removed.
1966 * lang.c (flag_new_verifier): Removed.
1967 (java_post_options): Updated.
1968 * java-tree.h (flag_new_verifier): Removed.
1969 (verify_jvm_instructions): Removed.
1970 * expr.c (pop_type_0): Assume flag_new_verifier is true.
1971 (build_java_check_indexed_type): Likewise.
1972 (expand_java_arraystore): Likewise.
1973 (expand_java_arrayload): Likewise.
1974 (pop_arguments): Likewise.
1975 (expand_byte_code): Likewise.
1976 (process_jvm_instruction): Likewise.
1978 2005-08-10 Andrew Haley <aph@redhat.com>
1980 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
1981 type mismatches to make legal GIMPLE.
1983 2005-08-10 Robin Green <greenrd@greenrd.org>
1986 * parse.y (maybe_use_access_method): Generalize check from
1987 java.lang.Object to any superclass of current_class
1989 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
1991 * class.c (build_class_ref): Wrap the primary class type in a
1993 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
1994 primary class type from the NOP_EXPR in which it was placed.
1996 2005-07-28 Diego Novillo <dnovillo@redhat.com>
1998 * expr.c (expand_load_internal): Fix missing parens in
2001 2005-07-28 Andrew Haley <aph@redhat.com>
2003 * expr.c (expand_load_internal): Convert to destination type.
2005 2005-07-22 Manfred Hollstein <mh@suse.com>
2007 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
2008 (check_constant): Likewise.
2009 (check_wide_constant): Likewise.
2011 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2013 Make CONSTRUCTOR use VEC to store initializers.
2014 * check-init.c (check_init): Update to cope with VEC in
2016 * class.c (make_field_value, make_method_value, get_dispatch_table,
2017 make_class_data, emit_symbol_table, emit_catch_table,
2018 emit_assertion_table): Use build_constructor_from_list instead of
2020 * constants.c (build_constants_constructor): Likewise.
2021 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
2022 VEC in CONSTRUCTOR_ELTS.
2023 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
2024 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
2026 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
2028 * parse.y (build_new_array_init): Use build_constructor_from_list
2029 instead of build_constructor.
2030 (patch_new_array_init): Update to cope with VEC in
2032 (array_constructor_check_entry): Likewise.
2034 2005-07-12 Tom Tromey <tromey@redhat.com>
2036 * jvspec.c (lang_specific_driver): Put filelist_filename first on
2039 2005-07-12 Tom Tromey <tromey@redhat.com>
2042 * parse-scan.y (interface_member_declaration): Added
2045 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
2047 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
2048 (LABEL_PENDING_CHAIN): Ditto.
2050 (DECL_BIT_INDEX): Ditto.
2052 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2055 * parse.y (inner_class_accessible): New function. Logic moved from
2056 check_inner_class_access.
2057 (check_inner_class_access): Use inner_class_accessible.
2058 (resolve_inner_class): Simplify arguments. Create circularity hash
2059 here. Keep looking for classes if we found one that was inaccessible.
2060 Return the inaccessible class only if there is no other match.
2061 (do_resolve_class): Update for new resolve_inner_class arguments.
2062 Don't create circularity_hash here.
2064 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
2067 * parse.y (add_exception_to_throws): New function.
2068 (purge_unchecked_exceptions): Removed.
2069 (get_constructor_super): Renamed from verify_constructor_super. Now
2070 returns the super constructor after verification.
2071 (java_complete_expand_method): Don't use purge_unchecked_exceptions
2072 or save/restore the exception list.
2073 (check_thrown_exceptions): Add uncaught exceptions in anonymous
2074 class initializers and constructors to the throws clause of the method.
2076 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
2079 * parse.y (interface_member_declaration): Allow empty statements in
2080 interface declarations.
2082 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
2084 * Makefile.in (parse.o): Adjust dependencies.
2085 * parse.y: Include tree-dump.h.
2087 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
2089 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
2092 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
2094 * parse.y (issue_warning_error_from_context): Call
2095 pp_output_formatted_text to be able to get the buffer.
2097 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
2099 * parse.y (issue_warning_error_from_context): Update for the
2100 renaming of pp_format_text to pp_format.
2102 2005-06-28 Paul Brook <paul@codesourcery.com>
2104 * decl.c (java_init_decl_processing): Call
2105 default_init_unwind_resume_libfunc.
2107 2005-06-27 Tom Tromey <tromey@redhat.com>
2109 PR java/21540, PR java/13788:
2110 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
2111 fold_constant_for_init.
2112 (patch_binop): Added 'folding' argument. Updated all callers.
2113 (patch_unaryop) <NOP_EXPR>: New case.
2114 (fold_constant_for_init) <NOP_EXPR>: Likewise.
2115 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
2117 2005-06-25 Jan Hubicka <jh@suse.cz>
2119 * builtins.c (define_builtin): Accept new flags parameter.
2120 (initialize_builtins): Mark the builtins const and nothrow accordingly.
2122 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
2124 * all files: Update FSF address in copyright headers.
2126 2005-06-24 Tom Tromey <tromey@redhat.com>
2128 * verify-impl.c (verify_instructions_0): Correctly handle
2129 situation where PC falls off end.
2131 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
2134 * parse.y (find_most_specific_methods_list): Remove special case for
2137 2005-06-15 Tom Tromey <tromey@redhat.com>
2140 * class.c (make_method_value): Use soft_abstractmethod_node for
2142 * java-tree.h (soft_abstractmethod_node): New define.
2143 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
2144 * decl.c (java_init_decl_processing): Initialize
2145 soft_abstractmethod_node.
2147 2005-06-13 Geoffrey Keating <geoffk@apple.com>
2149 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
2151 2005-06-13 Per Bothner <per@bothner.com>
2153 * expr.c (int highest_label_pc_this_method,
2154 start_label_pc_this_method): New globals.
2155 (lookup_label): Add start_label_pc_this_method to pc for label, and
2156 update highest_label_pc_this_method. This prevents conflicts between
2157 labels from different methods.
2158 * java-tree.h: Declare new globals.
2159 * jcf-parse.c (parse_class_file): If needed bump
2160 start_label_pc_this_method and reset highest_label_pc_this_method.
2162 2005-06-13 Tom Tromey <tromey@redhat.com>
2165 * parse.y (nested_field_access_p): Handle case where outer field
2166 is inherited by enclosing class.
2168 2005-06-12 Per Bothner <per@bothner.com>
2170 * class.c (inherits_from_p): Do load_class if needed.
2172 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2174 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
2175 * java-tree.h (parse_error_context): Move...
2176 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
2177 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
2178 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
2180 2005-06-08 Roger Sayle <roger@eyesopen.com>
2182 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
2184 2005-06-06 Jakub Jelinek <jakub@redhat.com>
2186 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
2187 msgid for argument name.
2188 * gjavah.c (error): Likewise.
2189 * java-tree.h (parse_error_context): Likewise.
2190 * parse.y (parse_error_context, parse_warning_context,
2191 issue_warning_error_from_context): Likewise.
2193 2005-06-01 Tom Tromey <tromey@redhat.com>
2196 * class.c (build_static_field_ref): Don't fold constant fields if
2197 current class is from a .class file and we're using indirect
2200 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2202 * java/verify-glue.c: Don't include errors.h and include toplev.h.
2203 * java/Make-lang.in: Updates dependencies.
2205 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
2208 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
2209 NESTED_FIELD_ACCESS_IDENTIFIER_P.
2210 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
2211 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
2212 * jcf-write.c (generate_classfile): Use
2213 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2214 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2215 * parse.y (build_outer_field_access): Rename to
2216 build_nested_field_access. Support static fields and outer-to-inner
2218 (outer_field_access_p): Rename to nested_field_access_p. Support
2219 static fields and generalise to outer-to-inner class and sibling
2220 inner class accesses.
2221 (outer_field_expanded_access_p): Rename to
2222 nested_field_expanded_access_p and support static fields.
2223 (outer_field_access_fix): Rename to nested_field_access_fix and
2224 support static fields.
2225 (build_outer_field_access_expr): Rename to
2226 build_nested_field_access_expr and support static fields.
2227 (build_outer_field_access_methods): Rename to
2228 build_nested_field_access_methods and support static fields. For
2229 static fields, generate accessors without class instance parameters.
2230 (build_outer_field_access_method): Rename to
2231 build_nested_field_access_method and support static fields.
2232 (build_outer_method_access_method): Use
2233 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2234 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2235 (resolve_expression_name): Consider static field accesses across
2237 (resolve_qualified_expression_name): Likewise.
2238 (java_complete_lhs): Use nested_field_access_fix instead of
2239 outer_field_access_fix.
2240 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2241 Use nested_field_expanded_access_p instead of
2242 outer_field_expanded_access_p. Use nested_field_access_fix instead
2243 of outer_field_access_fix.
2244 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2245 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2247 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2249 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2250 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2251 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2252 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2253 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2254 (parse_version): Calculate version ID using new method. Use bit-flags
2255 for flag_indirect_dispatch and flag_bootstrap_classes.
2257 2005-05-25 Richard Henderson <rth@redhat.com>
2260 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2261 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2262 DECL_CONTEXT; avoid pushdecl_top_level.
2263 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2264 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2265 (layout_class_method): Likewise.
2266 * decl.c (java_mark_cni_decl_local): New.
2267 (java_mark_class_local): Use it.
2268 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2269 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2270 (struct lang_decl_func): Add local_cni;
2271 (struct lang_decl_var): Add class_field, vtable.
2272 (java_mangle_decl): Declare.
2273 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2274 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2275 (mangle_obstack_1): New.
2276 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2277 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2278 lhd_set_decl_assembler_name for things that don't need mangling.
2279 (mangle_class_field): Rename from java_mangle_class_field, make
2280 static, don't call init_mangling or finish_mangling.
2281 (mangle_vtable): Similarly.
2282 (mangle_local_cni_method_decl): New.
2283 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2284 gcc_assert, and MANGLE_RAW_STRING.
2285 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2287 2005-05-25 DJ Delorie <dj@redhat.com>
2289 * class.c (set_constant_value): Move warning control from if() to
2292 2005-05-24 Richard Henderson <rth@redhat.com>
2294 * builtins.c (define_builtin): Don't call make_decl_rtl.
2295 * constants.c (build_constant_data_ref): Likewise.
2296 * class.c (build_utf8_ref): Likewise.
2297 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2298 (get_dispatch_table, layout_class_method): Likewise.
2299 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2301 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2302 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2303 to determine if we need a non-zero address.
2304 * decl.c (builtin_function): Don't call make_decl_rtl.
2305 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2306 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2307 * resource.c (compile_resource_data): Likewise.
2308 * parse.y (resolve_field_access): Re-word comment to avoid
2311 2005-05-24 Richard Henderson <rth@redhat.com>
2313 * class.c (registered_class): Take it out of class_roots; turn into
2315 (register_class): Make static. Don't duplicate decl node. Use
2317 (emit_register_classes): Use VEC_iterate. Use output_constant
2318 instead of assemble_integer. Don't call mark_decl_referenced
2320 * java-tree.h (register_class): Remove decl.
2322 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2326 * parse.y (register_package, package_list): Remove.
2327 (package_declaration): Do not call register_package.
2328 (do_resolve_class): Do not use package_list.
2330 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2332 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2335 2005-05-15 Tom Tromey <tromey@redhat.com>
2338 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2341 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2343 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2345 2005-05-11 Tom Tromey <tromey@redhat.com>
2347 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2348 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2349 (parse_version): Use it.
2350 * lang.opt (-fbootstrap-classes): New option.
2352 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2355 * class.c (maybe_layout_super_class): Look for imports in this_class.
2356 * parse.h (ctxp_for_generation_last): New.
2357 (do_resolve_class): Add a parameter.
2358 * parse.y (ctxp_for_generation_last): New.
2359 (java_pop_parser_context): Add at end of list.
2360 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2361 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2362 the given type are NULL.
2363 (do_resolve_class): Look into the imports of the new second parameter.
2364 Adjust recursive calls.
2365 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2366 calls to do_resolve_class.
2367 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2368 (java_complete_class): Do not do that here.
2370 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2373 * Make-lang.in (java): Add gjnih.
2374 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2375 (GJNIH_OBJS): New variable.
2376 (gjnih$(exeext)): New target.
2377 (JAVA_MANFILES): Add gjnih.1.
2378 (java.uninstall): Add gjnih.1.
2379 (java.mostlyclean): Add gjnih.
2380 (java.maintainer-clean): Add gjnih.1.
2381 (java/gjavah-jni.o): New target.
2382 (.INTERMEDIATE): Add gjnih.pod.
2383 (gjnih.pod): New target.
2384 * config-lang.in (stagestuff): Add gjnih.
2385 * gcj.texi (Top): Add gjnih node.
2386 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2387 -bootclasspath options.
2388 (Invoking gjnih): New node.
2389 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2390 (TOOLNAME): New macro.
2391 (error): Replace hard-coded gcjh with TOOLNAME.
2392 (process_file): Likewise.
2394 (version): Likewise.
2395 (help): Likewise. Add help output for -force, -old, -trace and -J
2397 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2398 (options): Add force, old, trace and J fields.
2399 (main): Handle -force, -old, -trace and -J options.
2401 2005-05-03 Tom Tromey <tromey@redhat.com>
2404 * gjavah.c (main): Unlink output file on error.
2406 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2408 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2411 2005-04-29 Tom Tromey <tromey@redhat.com>
2413 * expr.c (build_jni_stub): Updated for change to build_block.
2415 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2417 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2419 2005-04-28 Andrew Haley <aph@redhat.com>
2422 * java-tree.h (soft_resolvepoolentry_node): New.
2423 (alloc_constant_fieldref): Declare.
2424 * expr.c (expand_java_field_op): Don't call class_init for
2425 accesses to static fields with indirect dispatch.
2426 * builtins.c (initialize_builtins): Add "__builtin_expect".
2427 * decl.c (soft_resolvepoolentry_node): New variable.
2428 (java_init_decl_processing): Create a decl for
2429 "_Jv_ResolvePoolEntry".
2430 * class.c (build_fieldref_cache_entry): New function.
2431 (build_static_field_ref): Rewrite for indirect dispatch.
2432 * constants.c (find_name_and_type_constant_tree): New function.
2433 (alloc_constant_fieldref): Likewise.
2434 (build_constants_constructor): Handle CONSTANT_Fieldref and
2435 CONSTANT_NameAndType.
2438 * expr.c (force_evaluation_order): Convert outgoing args smaller
2441 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2443 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2444 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2445 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2447 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2449 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2450 to `unlock_stream' with `unlock_std_streams'.
2452 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2454 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2455 instead of just expr.h.
2457 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2459 * gjavah.c (main): Unlock the stdio streams.
2460 * jcf-dump.c (main): Likewise.
2461 * jv-scan.c (main): Likewise.
2462 * jvgenmain.c (main): Likewise.
2464 2005-04-23 DJ Delorie <dj@redhat.com>
2466 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2467 parse.y: Adjust warning() callers.
2469 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2471 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2474 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2476 * gcj.texi: Fix typos and bogus example.
2478 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2480 * except.c: Fix a comment typo.
2482 2005-04-19 Julian Brown <julian@codesourcery.com>
2484 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2485 indirect dispatch with PIC.
2487 2005-04-18 Andrew Haley <aph@redhat.com>
2489 * java-except.h (struct eh_range.handler): Remove unused field.
2490 (handle_nested_ranges): Remove function declaration.
2491 (sanity_check_exception_range): Add function declaration.
2492 * verify.c (verify_jvm_instructions): Remove call to
2493 handle_nested_ranges.
2494 * verify-glue.c (verify_jvm_instructions_new): Call
2495 sanity_check_exception_range.
2496 * except.c (link_handler, eh_range_freelist, link_handler,
2497 handle_nested_ranges): Remove.
2498 (add_handler): Rewrite.
2499 (sanity_check_exception_range): New function.
2500 (print_ranges): New function.
2502 2005-04-13 Julian Brown <julian@codesourcery.com>
2504 * decl.c (finish_method): Give methods once-only linkage.
2506 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2508 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2510 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2512 * java-tree.h: Don't use PARAMS().
2514 2005-04-07 Per Bothner <per@bothner.com>
2516 * class.c (push_class): By default, suppress debug output.
2517 (finish_class): Enable debug output for classes we're emitting.
2519 2005-04-07 Andrew Haley <aph@redhat.com>
2521 * gcj.texi: Correct gcj-dbtool instructions.
2523 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2525 * gcj.texi: Fix a typo.
2526 * lang.c: Fix a comment typo.
2528 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2530 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2531 Mention recognized-and-ignored compatibility options.
2532 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2534 (About CNI): Add Memory allocation section.
2536 2005-04-01 Tom Tromey <tromey@redhat.com>
2538 * decl.c (java_init_decl_processing): Fix types of
2539 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2540 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2541 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2543 2005-03-31 Jan Hubicka <jh@suse.cz>
2545 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2546 * class.c: Include cgraph.h
2547 (make_local_functoin_alias): Mark aslias as needed.
2548 * resource.c: Include cgraph.h
2549 (compile_resource_data): Go via cgraph interface.
2551 2005-03-30 Ian Lance Taylor <ian@airs.com>
2553 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2555 2005-03-30 Tom Tromey <tromey@redhat.com>
2557 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2558 inner_class_info_index==0 or outer_class_info_index==0.
2560 2005-03-29 Tom Tromey <tromey@redhat.com>
2562 * gcj.texi (libgcj Runtime Properties): Document
2563 gnu.gcj.runtime.endorsed.dirs.
2565 2005-03-24 Anthony Green <green@redhat.com>
2567 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2570 2005-03-23 Tom Tromey <tromey@redhat.com>
2572 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2573 (parse_version): Use it.
2575 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2577 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2579 2005-03-18 Andrew Haley <aph@redhat.com>
2582 * decl.c (update_aliases): Don't update variables that are about
2584 (maybe_poplevels): Add comment.
2586 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2589 * jcf-parse.c (duplicate_class_warning): New function.
2590 (java_parse_file): Call duplicate_class_warning if
2591 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2592 (parse_zip_file_entries): Likewise. Also set
2593 CLASS_FROM_CURRENTLY_COMPILED_P.
2595 2005-03-16 Andrew Haley <aph@redhat.com>
2597 * expr.c (expand_java_arrayload): Don't generate a
2598 NullPointerException based on the type of the node.
2599 (build_java_array_length_access): Likewise.
2601 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2603 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2605 2005-03-11 Tom Tromey <tromey@redhat.com>
2607 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2608 (libgcj Runtime Properties): Document the default .db.
2610 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2613 * parse.y (checks_throws_clauses): Check exceptions list even when
2614 the base class does not come from a source file being compiled.
2615 (java_complete_lhs): Remove unused variable 'wfl'.
2617 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2620 * decl.c (finish_method): Emit _Jv_InitClass for private static
2621 methods inside inner classes as well.
2623 2005-03-08 Julian Brown <julian@codesourcery.com>
2624 * Revert patch from 2005-03-08 for causing bootstrap failure on
2627 2005-03-08 Julian Brown <julian@codesourcery.com>
2629 * decl.c (finish_method): Give methods once-only linkage.
2631 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2633 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2635 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2637 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2638 can_widen_reference_to if the C++ ABI is in use.
2639 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2640 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2641 type_isresolved, init_state, set_pc, state_get_pc,
2642 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2643 (verify_fail): Report the current PC from the verifier context.
2644 (free_state): Remove #if 0 block to enable this function.
2645 (free_verifier_context): Call free_state on state_list iterator
2646 values before freeing them.
2647 * expr.c (pop_type_0): Pop correct type for error message when stack
2648 contains a multi-word type.
2650 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2652 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2653 for known NULL array length access.
2655 2005-03-07 Tom Tromey <tromey@redhat.com>
2657 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2659 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2661 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2662 typeck.c: Update copyright.
2664 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2667 * xref.c, xref.h: Remove file.
2668 * Make-lang.in (java/xref.o): Remove.
2669 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2670 * lang.c (flag_emit_xref): Remove definition.
2671 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2672 * typeck.c (convert): Remove use of do_not_fold.
2673 * parse.y (do_not_fold): Remove definition.
2674 (parser grammar): Remove xref code.
2675 (maybe_create_class_interface_decl, create_class): Likewise.
2676 (register_fields, method_header, finish_method_declaration): Likewise.
2677 (declare_local_variables, source_end_java_method): Likewise.
2678 (java_complete_expand_classes): Do not set do_not_fold.
2679 (java_complete_expand_method): Remove xref code.
2680 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2681 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2682 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2683 (patch_synchronized_statement, patch_throw_statement): Likewise.
2684 (maybe_build_class_init_for_field): Likewise.
2686 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2688 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2689 instead of IS_NON_TYPE_CODE_CLASS.
2691 2005-03-04 Andrew Haley <aph@redhat.com>
2694 * class.c (set_method_index): Don't set method_index if it is
2696 (layout_class_method): Don't complain about "non-static method foo
2697 overrides static method" in the case of indirect dispatch.
2699 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2701 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2703 * Make-lang.in: Don't elide warnings in jcf-io.c.
2705 2005-03-01 Per Bothner <per@bothner.com>
2708 * check-init.c (wfl): Remove static.
2709 (final_assign_error, check_init): Replace calls to parse_error_context
2711 (check_init): Save, set, and restore input_location for each exp.
2713 2005-03-01 Per Bothner <per@bothner.com>
2715 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2716 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2717 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2719 2005-03-01 Per Bothner <per@bothner.com>
2721 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2723 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2726 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2729 2005-02-22 Tom Tromey <tromey@redhat.com>
2732 * verify-impl.c (EITHER): New define.
2733 (types_compatible): Handle it.
2734 (check_field_constant): Use it.
2736 2005-02-18 Tom Tromey <tromey@redhat.com>
2739 * verify-impl.c (types_equal): Fixed test.
2742 * verify-glue.c (vfy_class_has_field): New function.
2743 * verify.h (vfy_class_has_field): Declare.
2744 * verify-impl.c (check_field_constant): Added 'putfield'
2746 (verify_instructions_0): Updated.
2747 (types_equal): New function.
2749 2005-02-14 Tom Tromey <tromey@redhat.com>
2752 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2753 stack effect of multianewarray.
2755 2005-02-14 Andrew Haley <aph@redhat.com>
2758 * expr.c (expand_byte_code): Call promote_arguments().
2759 (promote_arguments): New function.
2760 * decl.c (check_local_unnamed_variable): Remove special case for
2762 (find_local_variable): Promote all boolean types to int
2763 when searching for local variable decls.
2765 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2767 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2768 parse-scan.y: Update copyright.
2770 2005-02-11 Per Bothner <per@bothner.com>
2773 * parse-scan.y (input_location): Remove variable.
2774 (main_input_filename): New - replaces input_filename, which isn't
2775 settable if USE_MAPPED_LOCATION.
2776 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2777 so we don't reference input_location or wfl_operator in that case.
2778 * jv-scan.c (expand_location): Remove - no longer used.
2779 (main): Set main_input_filename rather than input_filename.
2781 2005-02-09 Richard Henderson <rth@redhat.com>
2783 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2784 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2786 2005-02-08 Marcin Dalecki <martin@dalecki.de>
2788 * expr.c (add_type_assertion): Use the proper enumeration type,
2789 since this is what htab_find_slot() is expecting.
2791 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2793 * gcj.texi: Update copyright dates.
2795 2005-02-02 Tom Tromey <tromey@redhat.com>
2797 * gcj.texi (libgcj Runtime Properties): Default library_control
2800 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
2803 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2804 (modifiers) when square brackets are present in a declaration for
2806 * jv-scan.c (main): Set input_filename and input_line.
2808 2005-02-01 Tom Tromey <tromey@redhat.com>
2811 * gjavah.c (get_field_name): Don't override name for JNI header.
2813 2005-02-01 Roger Sayle <roger@eyesopen.com>
2815 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2816 of unsigned types using iushr and lushr JVM bytecodes.
2818 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2821 * gjavah.c (jni_print_float): Do not emit floating-point
2822 initialiser for a static final field.
2823 (jni_print_double): Likewise.
2825 2005-02-01 Mark Mitchell <mark@codesourcery.com>
2828 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2829 * gjavah.c (print_field_info): Mark static data members of
2830 floating-point type with "__extension__".
2832 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2834 * gjavah.c (print_field_info): Mark static data members of
2835 floating-point type with "__extension__".
2837 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2840 * parse.y (build_string_concatenation): Remove redundant if.
2841 (patch_conditional_expr): Attempt to patch_string() the condition
2842 of a ?: as well, in addition to its other operands.
2844 2005-01-25 Tom Tromey <tromey@redhat.com>
2846 * Make-lang.in (java/java-tree-inline.o): Removed.
2848 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
2851 * parse.y (patch_binop): Allow comparisons against NULL only
2852 if the other operand is of a reference type.
2854 2005-01-24 Tom Tromey <tromey@redhat.com>
2856 * java-tree.h (gcj_abi_version): Declare.
2857 * class.c (make_class_data): Push gcj_abi_version into "next"
2858 field. Renamed field.
2859 * decl.c (gcj_abi_version): New global.
2860 (parse_version): New function.
2861 (java_init_decl_processing): Call it. Renamed 'next' field.
2863 (GCJ_BINARYCOMPAT_ADDITION): New define.
2865 2005-01-24 Roger Sayle <roger@eyesopen.com>
2868 * jcf-write.c (generate_bytecode_insns): Conversions between
2869 integer types of the same precision shouldn't generate widening
2870 or narrowing conversion bytecodes.
2872 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2874 * java-except.h, java-tree.h: Remove unused prototypes.
2876 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
2879 * jcf-write.c (perform_relocations): Don't call memcpy if source
2880 and destination are the same.
2882 2005-01-17 Tom Tromey <tromey@redhat.com>
2884 * verify-impl.c (get_short): Sign extend.
2885 (get_int): Likewise.
2887 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
2889 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2892 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2894 * verify.c: Revert to the version before the BC-ABI merge.
2896 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2899 * check-init.c (check_init): Take care of references that do not
2900 have an explicit final variable declaration (e.g. array length
2901 access) for pre/post in/de-crement operators.
2903 2005-01-08 Mark Wielaard <mark@klomp.org>
2905 * parse.y (process_imports): Allocate (and free) original_name only
2906 when not already defined.
2907 * jcf-parse.c (read_class): Free results of find_class() and
2909 (java_parse_file): Keep pointer to head of file_list and free when
2910 done. Free result of lrealpath().
2912 2005-01-05 Tom Tromey <tromey@redhat.com>
2914 * gcj.texi (Standard Properties): java.ext.dirs is now used.
2916 2004-12-20 Andrew Haley <aph@redhat.com>
2918 * typeck.c: Use fold_convert for ints and booleans.
2920 2004-12-17 Andrew Haley <aph@redhat.com>
2923 * typeck.c (convert): Use a CONVERT_EXPR when converting to
2924 BOOLEAN_TYPE or CHAR_TYPE.
2925 (convert_to_boolean, convert_to_char) : Remove.
2926 * convert.h (convert_to_boolean, convert_to_char) : Remove.
2927 * expr.c (expand_load_internal): Do type conversion if type is not
2930 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
2933 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
2936 2004-12-07 Andrew Haley <aph@redhat.com>
2939 * jcf-parse.c (load_class): Remove sanity test for missing inner
2942 2004-12-06 Tom Tromey <tromey@redhat.com>
2944 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
2945 (java.uninstall): Likewise.
2946 (java.maintainer-clean): Likewise.
2947 (.INTERMEDIATE): Likewise.
2948 (java.install-man): Likewise.
2949 (gcj-dbtool.pod): New target.
2950 * gcj.texi (Code Generation): Document -findirect-dispatch.
2951 (libgcj Runtime Properties): Document
2952 gnu.gcj.precompiled.db.path.
2953 (Top): Link to "Invoking gcj-dbtool".
2955 2004-12-06 Tom Tromey <tromey@redhat.com>
2958 * java-tree.h (extract_field_decl): Declare.
2959 * parse.y (extract_field_decl): Renamed from
2960 strip_out_static_field_access_decl. No longer static.
2961 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
2963 2004-12-03 Tom Tromey <tromey@redhat.com>
2965 * lang.c (flag_new_verifier): Define.
2966 (java_post_options): Set flag_new_verifier if indirect dispatch
2968 * lang.opt (fnew-verifier): Removed.
2970 2004-12-03 Tom Tromey <tromey@redhat.com>
2973 * Make-lang.in (java.install-common): Only install transformed
2974 gcjh if gcj-cross exists.
2976 2004-12-03 Andrew Haley <aph@redhat.com>
2979 * except.c (link_handler): Patch 'outer' field of siblings of the
2980 range we're demoting.
2982 2004-12-03 Andrew Haley <aph@redhat.com>
2985 * class.c (layout_class_method): Don't fail to override a method
2986 simply because it has DECL_ARTIFICIAL set.
2988 2004-12-02 Tom Tromey <tromey@redhat.com>
2991 * parse.y (craft_constructor): Special case null_pointer_node.
2993 2004-12-02 Tom Tromey <tromey@redhat.com>
2996 * java-gimplify.c (java_gimplify_expr): Don't call
2997 SET_EXPR_LOCATION unless wrapped tree is an expression.
2999 2004-11-27 Per Bothner <per@bothner.com>
3001 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
3002 Fix fencepost error in 'i', which got executed one too many times.
3003 Also, fold memcpy into explicit loop, as originally intended.
3004 Also, free temporary 'buf' which otherwise leaks.
3006 2004-11-27 Per Bothner <per@bothner.com>
3008 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
3009 local static variables if not USE_MAPPED_LOCATION.
3011 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
3013 * class.c, decl.c, expr.c: Fix comment typos.
3015 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
3018 * decl.c (end_java_method): Call
3019 attach_init_test_initialization_flags on all the init_decls.
3020 * parse.y (attach_init_test_initialization_flags): Move to ...
3021 * expr.c (attach_init_test_initialization_flags): here and
3022 support BIND_EXPR also.
3023 * java-tree.h (attach_init_test_initialization_flags): Prototype.
3024 * jcf-parse.c (parse_class_file): Don't disable class init
3027 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
3029 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
3032 2004-11-24 Richard Henderson <rth@redhat.com>
3034 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
3035 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
3037 2004-11-24 Tom Tromey <tromey@redhat.com>
3039 * verify.c (defer_merging): Don't use C++-style comment.
3040 * verify.h (java_opcode): Added java_opcode_end.
3041 * class.c (build_class_ref): Remove C++ comment and old FIXME.
3043 * verify-impl.c (vfy_push_type): Removed bogus "return".
3044 (initialize_stack): Use vfy_alloc and vfy_free.
3045 (verify_instructions_0): Likewise.
3047 * Merged gcj-abi-2-dev-branch to trunk.
3049 2004-11-24 Andrew Haley <aph@redhat.com>
3051 * jcf-parse.c (parse_class_file): Set file_start_location.
3053 2004-11-10 Tom Tromey <tromey@redhat.com>
3055 * class.c (make_field_value): Don't call build_static_field_ref.
3056 (build_static_field_ref): Don't emit direct references when using
3059 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
3060 -verbose:class into man page synopsis.
3062 2004-11-09 Tom Tromey <tromey@redhat.com>
3064 * expr.c (build_java_arraystore_check): Still generate check if
3065 element type is itself an array.
3067 2004-11-08 Tom Tromey <tromey@redhat.com>
3069 * java-tree.h (soft_check_assignment_node): Removed.
3070 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
3071 * decl.c (java_init_decl_processing): Don't initialize
3072 soft_check_assignment_node.
3074 2004-11-05 Tom Tromey <tromey@redhat.com>
3076 * class.c (layout_class_methods): Don't add Miranda methods when
3077 using indirect dispatch.
3079 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
3081 * class.c (make_class_data): Call emit_assertion_table to set the
3082 'assertion_table' field.
3083 (build_signature_for_libgcj): Move here from expr.c.
3084 (add_assertion_table_entry): New function. Callback for assertion
3085 hashtable traversal.
3086 (emit_assertion_table): New. Take class argument, and generate
3087 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
3088 * decl.c (init_decl_processing): Define assertion_entry_type record.
3089 Push 'assertion_table' class field instead of 'verify'.
3090 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
3091 (type_assertion_hash): Include 'assertion_code' in hash.
3092 (add_type_assertion): Rewritten. Take class and assertion_code
3093 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
3094 (can_widen_reference_to): Use new add_type_assertion() arguments.
3095 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
3096 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
3097 (verify_identifier_node): Removed.
3098 (assertion_entry_type, assertion_table_type): New.
3099 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
3100 assertion code definitions.
3101 (struct type_assertion): Add assertion_code. Rename 'source_type' and
3102 'target_type' to 'op1' and 'op2'.
3103 (add_type_assertion): Declare.
3104 (lang_printable_name_wls): Remove unused definition.
3105 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
3106 to emit runtime assertion.
3107 (vfy_note_stack_type): Clean up non-C90 declarations.
3108 (vfy_note_local_type): Likewise.
3109 * verify.h (vfy_is_assignable_from): Declare.
3110 * verify-impl.c (is_assignable_from_slow): Remove unused function.
3111 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
3112 instead of is_assignable_from_slow().
3113 (types_compatible): Reinstate ref_compatible() call.
3115 2004-11-04 Tom Tromey <tromey@redhat.com>
3117 * class.c (build_static_field_ref): Reverted previous patch.
3119 * class.c (build_static_field_ref): Don't emit direct references
3120 when using indirect dispatch.
3122 2004-11-03 Tom Tromey <tromey@redhat.com>
3124 * expr.c (expand_java_arrayload): Set lhs_type_node.
3125 (expand_java_arraystore): Set rhs_type_node.
3127 2004-11-02 Tom Tromey <tromey@redhat.com>
3129 * jcf-parse.c (compute_class_name): Use filename length from zip
3130 directory, not strlen.
3132 * expr.c (expand_invoke): Mark new interface methods as abstract.
3134 2004-11-01 Tom Tromey <tromey@redhat.com>
3136 * verify-impl.c (push_jump): Removed check for uninitialized
3138 (push_exception_jump): Likewise.
3139 (handle_ret_insn): Likewise.
3140 (handle_jsr_insn): Likewise.
3141 (state_check_no_uninitialized_objects): Removed.
3143 * decl.c (check_local_unnamed_variable): Recognize
3144 promoted-to-int parameters when using the new verifier.
3145 * expr.c (expand_java_arraystore): Explicitly request array type
3146 when using new verifier.
3147 (expand_java_arrayload): Likewise.
3148 (invoke_build_dtable): Don't pass object_type_node as
3149 expression argument to build_java_indirect_ref.
3150 (build_java_check_indexed_type): Do nothing.
3151 (build_java_arraystore_check): Handle case where array doesn't
3153 (build_java_array_length_access): Likewise.
3154 (expand_invoke): Handle case where interface overrides a method
3156 (pop_type_0): Always succeed for reference types.
3157 (process_jvm_instruction): Don't pop a value in a dead
3159 (pop_arguments): Convert arguments to correct types.
3161 2004-10-29 Andrew Haley <aph@redhat.com>
3163 * jcf-parse.c (give_name_to_class): Remove line that was
3166 2004-10-29 Andrew Haley <aph@redhat.com>
3168 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3170 2004-10-20 Andrew Haley <aph@redhat.com>
3172 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3174 2004-10-26 Tom Tromey <tromey@redhat.com>
3176 * verify.h (vfy_notify_verified): Removed.
3177 * verify-glue.c (vfy_notify_verified): Removed.
3179 2004-10-26 Tom Tromey <tromey@redhat.com>
3181 * verify-impl.c (debug_print_state): Declare `i' before code.
3182 (merge_types): Modify `t' when it is null_type.
3184 2004-10-26 Tom Tromey <tromey@redhat.com>
3186 * verify-impl.c (type_print): Renamed from print. Now static and
3188 (debug_print_state): Use type_print.
3190 2004-10-25 Tom Tromey <tromey@redhat.com>
3192 * expr.c (build_invokeinterface): Compute correct offset for
3193 index into interface methods.
3195 2004-10-20 Tom Tromey <tromey@redhat.com>
3197 * java-tree.h (verify_jvm_instructions_new): Declare.
3199 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
3202 * verify-impl.c (verify_instructions): Correctly handle wide
3204 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
3205 (vfy_get_component_type): Strip pointer types.
3206 (vfy_find_class): Use get_type_from_signature. Strip pointer
3208 Include java-except.h.
3210 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3212 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
3213 vfy_push_type_t, set_variable, add_new_state, merge_into,
3214 handle_jsr_insn, branch_prepass, check_class_constant,
3215 check_wide_constant, get_one_type, compute_static_types,
3216 verify_instructions_0): Clean up C99 declarations after statements.
3218 2004-10-20 Tom Tromey <tromey@redhat.com>
3220 * verify-impl.c (merge_refs): Compare reference against iterator,
3223 * verify-glue.c (vfy_tag): Mask off resolved flag.
3225 2004-10-19 Tom Tromey <tromey@redhat.com>
3227 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3228 (init_state_with_stack): Initialize `this_type' in state.
3229 (verify_method): Use debug_print.
3230 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3231 (vfy_note_stack_depth): Reverted last patch.
3232 (vfy_note_stack_type): Note pointer to Object, not Object.
3233 (vfy_note_local_type): Likewise.
3235 * verify.h (vfy_note_instruction_seen): Declare.
3236 * verify-glue.c (verify_jvm_instructions_new): Set
3237 BCODE_EXCEPTION_TARGET on target instruction.
3238 (vfy_note_instruction_seen): New function.
3239 * verify-impl.c (FLAG_INSN_SEEN): New define.
3240 (verify_instructions_0): Set flag on instruction. Save state for
3242 (verify_instructions): Call vfy_note_instruction_seen.
3244 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3245 (verify_jvm_instructions_new): Call method_init_exceptions,
3246 add_handler, and handle_nested_ranges.
3247 * verify-impl.c (verify_method): Return 1 on success.
3248 (verify_instructions_0): Save the state at PC=0.
3250 * verify-impl.c (init_type_from_class): Set is_resolved and
3251 ref_next on new ref_intersection.
3252 (init_type_from_string): Likewise.
3254 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
3256 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
3257 if flag_new_verifier is set.
3258 * java-tree.h (flag_new_verifier): Declare.
3259 * lang.opt (fnew-verifier): New option.
3260 * verify-impl.c: Work around namespace pollution by undef'ing
3262 (struct verifier_context): Make 'bytecode' const.
3263 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
3264 (types_compatible): For the BC-ABI, always consider reference types
3266 (check_class_constant): Use vfr->current_class.
3267 (check_constant): Likewise.
3268 (check_wide_constant): Likewise.
3269 (check_field_constant): Check for 'L' at start of type name.
3270 (get_one_type): Return pointer instead of type. Set type result in
3271 caller via passed type pointer.
3272 (compute_argument_types): Update to use new get_one_type arguments.
3273 (compute_return_type): Likewise.
3274 (make_verifier_context): New. Allocate and initialize 'vfr'.
3275 (free_verifier_context): New. Free 'vfr' and its contents.
3276 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
3277 and free_verifier_context.
3279 2004-10-15 Tom Tromey <tromey@redhat.com>
3281 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
3282 * verify.h (vfy_fail): Fixed formatting.
3284 * verify-impl.c (vfr): Fixed comment formatting.
3285 (collapse_type): New function.
3286 (verify_instructions): Notify compiler about type map.
3287 * verify.h (vfy_note_stack_depth): Updated.
3288 (vfy_note_stack_type): Likewise.
3289 (vfy_note_local_type): Likewise.
3290 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
3292 * verify-glue.c (vfy_note_stack_depth): Correctly size type
3293 state. Added `method' argument.
3294 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
3296 (vfy_note_local_type): New function.
3297 (vfy_unsuitable_type): Likewise.
3298 (vfy_return_address_type): Likewise.
3299 (vfy_null_type): Likewise.
3301 * verify.h (VFY_IN_GCC): Removed.
3302 (VFY_WANT_TYPEMAP): Removed.
3303 * verify-impl.c (verify_instructions_0): Removed useless "\".
3304 (struct state) <next>: Uncomment.
3306 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
3308 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
3311 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3313 * Make-lang.in (verify.o): Re-enabled this target.
3314 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
3315 (vfy_get_interface): Likewise.
3316 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
3317 * verify.h (verify_jvm_instructions_new): Declare.
3318 * verify-impl.c (free_state): Temporarily comment out unused
3321 2004-10-06 Tom Tromey <tromey@redhat.com>
3323 * java-tree.h (JV_STATE_READ): New enum value.
3325 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3327 * verify.h: New file.
3329 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
3331 * verify-impl.c, verify-glue.c, verify.h: New files.
3332 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
3334 2004-09-24 Andrew Haley <aph@redhat.com>
3336 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
3337 for a slot if it's of pointer type.
3339 2004-09-14 Tom Tromey <tromey@redhat.com>
3341 * class.c (make_class_data): Correctly initialize "state" field.
3342 Initialize "engine" field.
3343 * decl.c (java_init_decl_processing): Add "engine" field.
3345 2004-09-10 Andrew Haley <aph@redhat.com>
3348 * expr.c (build_invokeinterface): Use fast method for interface
3350 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
3351 JTI_ITABLE_PTR_TYPE.
3352 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
3353 (emit_symbol_table): Add new arg, element_size.
3354 * decl.c (java_init_decl_processing): Initialize Class.itable.
3355 * class.c (GEN_TABLE): New macro.
3356 (gen_indirect_dispatch_tables): Use it. Add itable.
3357 (make_class_data): Add new arg for emit_symbol_table().
3359 (add_miranda_methods): Make sure search_class has been parsed.
3360 (emit_symbol_table): Add new arg, element_size.
3362 2004-09-06 Andrew Haley <aph@redhat.com>
3364 * verify.c (merge_types): Return Object for all merges of
3366 * expr.c (add_type_assertion): Don't generate assertions when
3367 source type is array of Object.
3369 2004-09-03 Andrew Haley <aph@redhat.com>
3371 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3373 * lang.c (java_post_options): Force flag_verify_invocations if
3374 we're not using indirect dispatch.
3376 * expr.c (pop_type_0): Move test for interfaces before call to
3377 can_widen_reference_to().
3378 (build_signature_for_libgcj): Remove generation of canonical array
3380 (add_type_assertion): Canonicalize both arrays.
3381 Don't assert that type X can be assigned to Object.
3382 Don't assert that type X an be assigned to type X.
3383 Don't assert that Object can be assigned to type X.
3384 (can_widen_reference_to): Warn whenever we generate an assertion.
3385 (process_jvm_instruction): Use throwable_type_node for the type of
3388 2004-09-01 Andrew Haley <aph@redhat.com>
3390 * decl.c (java_init_decl_processing): Change
3391 verify_identifier_node to "__verify".
3392 * expr.c (add_type_assertion): Use verify_identifier_node for name.
3393 * java-tree.h (verify_identifier_node): Change to "__verify".
3395 * expr.c (build_signature_for_libgcj): New function.
3396 (add_type_assertion): Use it to construct signatures for
3397 source_type and target_type.
3399 2004-08-27 Andrew Haley <aph@redhat.com>
3401 * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
3402 (verify_identifier_node): New.
3403 (TYPE_VERIFY_METHOD): New.
3404 (struct type_assertion): New type.
3405 * expr.c (type_assertion_eq): New function.
3406 (type_assertion_hash): New function.
3407 (add_type_assertion): New function.
3408 (can_widen_reference_to): Call add_type_assertion().
3409 * decl.c (java_init_decl_processing): Add verify_identifier_node.
3410 * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
3411 (finish_class): Output TYPE_VERIFY_METHOD (type).
3413 * decl.c (end_java_method): Nullify unused fields.
3415 2004-08-17 Andrew Haley <aph@redhat.com>
3417 * verify.c (defer_merging): Quieten.
3418 * jcf-parse.c (load_class): Only try to open a class file if it's
3419 java.lang.Object or if it's part of the current compilation.
3420 Check that the class we just tried to load is the class we just
3422 (java_parse_file): Set flag_verify_invocations off if we're
3423 compiling from .class.
3424 (parse_zip_file_entries): Abort if we try to read a dummy class.
3425 * expr.c (can_widen_reference_to): Quieten.
3426 (build_invokevirtual): Abort if we try to invokevirtual an
3428 (expand_invoke): Don't build a non-interface call to an interface.
3429 (build_instanceof): Don't do premature optimization if
3430 flag_verify_invocations is not set.
3431 * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
3433 (build_static_field_ref): Add correct type conversion for
3435 (add_miranda_methods): Disable generation of Miranda methods for
3437 (layout_class_method): Don't complain about non-static method
3438 overrides static method with dummy classes.
3440 2004-08-13 Tom Tromey <tromey@redhat.com>
3442 * class.c (build_static_field_ref): Re-enable atable lookups for
3445 * parse.y (strip_out_static_field_access_decl): Indentation fix.
3447 2004-08-11 Tom Tromey <tromey@redhat.com>
3449 * gcj.texi (libgcj Runtime Properties): Document new properties.
3451 2004-08-06 Andrew Haley <aph@redhat.com>
3453 * jcf-parse.c (load_class): Check that we really have loaded the
3454 class we're looking for.
3456 2004-07-19 Andrew Haley <aph@redhat.com>
3458 * verify.c (verify_jvm_instructions): Comment change only.
3460 * typeck.c (build_java_array_type): Add size field to array name.