1 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3 * jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
4 * jcf.h (JCF_FINISH): Likewise.
6 2007-07-31 Nick Clifton <nickc@redhat.com>
8 * java-gimplify.c: Change copyright header to refer to version 3
9 of the GNU General Public License and to point readers at the
10 COPYING3 file and the FSF's license web page.
11 * typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c,
12 decl.c, config-lang.in, jcf-parse.c, constants.c, Make-lang.in,
13 resource.c, except.c, builtins.c, jvspec.c, java-tree.def,
14 javaop.def, jcf-path.c, verify-glue.c, jcf-depend.c, lang.opt,
15 jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h, zipfile.h,
16 verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
17 parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
19 2007-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21 * jcf-io.c (find_class): Fix -Wcast-qual warnings.
23 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
25 * lang.c (java_get_callee_fndecl): Constify.
27 2007-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
29 * mangle.c (set_type_package_list): Constify.
30 * verify-glue.c (vfy_make_string): Delete.
31 * verify.h (vfy_make_string): Likewise.
33 2007-07-26 Tom Tromey <tromey@redhat.com>
35 * java-tree.h (push_labeled_block, pop_labeled_block): Remove.
36 (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
37 EXIT_BLOCK_LABELED_BLOCK): Likewise.
38 * lang.c (java_tree_inlining_walk_subtrees): Update.
39 (java_dump_tree): Likewise.
40 * java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
42 * decl.c (push_labeled_block, pop_labeled_block): Remove.
43 * java-gimplify.c (java_gimplify_labeled_block_expr,
44 java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
45 (java_gimplify_expr): Update.
47 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
49 * class.c (java_treetreehash_hash, java_treetreehash_compare):
51 * expr.c (type_assertion_eq): Likewise.
52 * jcf-io.c (compare_path): Likewise.
53 * jcf-parse.c (cmpstringp): Likewise.
54 * verify-impl.c (get_one_type, compute_argument_types,
55 compute_return_type): Likewise.
57 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
61 * class.c (hide): Wrap in HAVE_GAS_HIDDEN.
63 2007-07-12 Richard Guenther <rguenther@suse.de>
65 * expr.c (expand_java_return): RETURN_EXPR has void type.
66 (build_jni_stub): Likewise. Use a comparison against zero
67 for null-pointer test in COND_EXPR.
68 (build_field_ref): Build POINTER_PLUS_EXPR with correct
69 type. Convert result instead.
70 (build_invokevirtual): Likewise.
72 2007-07-09 Geoffrey Keating <geoffk@apple.com>
75 * lang.c (java_init): Remove setting of force_align_functions_log.
76 * class.c (add_method_1): Set DECL_ALIGN of non-static method
77 to cope with ptrmemfunc_vbit_in_pfn.
79 2007-07-03 David Daney <ddaney@avtrex.com>
81 * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
85 (java/index.html): Same.
87 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
89 * class.c (make_class_data): Build the index in sizetype.
90 Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
91 adding to a pointer type.
92 (build_symbol_entry): Likewise.
93 * expr.c (build_java_arrayaccess): Likewise.
94 (build_field_ref): Likewise.
95 (build_known_method_ref): Likewise.
96 (build_invokevirtual): Likewise.
97 * except.c (build_exception_object_ref): Do a
98 NEGATIVE and then a POINTER_PLUS_EXPR instead
101 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
103 * typeck.c (java_signed_type): Remove.
104 * lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
105 * java-tree.h (java_signed_type): Remove.
107 2007-05-18 Geoffrey Keating <geoffk@apple.com>
109 * jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
110 (print_constant): Likewise.
112 2007-05-14 Rafael Avila de Espindola <espindola@google.com>
114 * expr.c (build_java_binop): Use unsigned_type_for instead of
116 * java-tree.h (java_unsigned_type): Remove.
117 * lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
118 * typeck.c (java_unsigned_type): Remove.
120 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
122 * java-tree.h (lang_tree_node): Use GENERIC_NEXT
123 instead of checking GIMPLE_STMT_P in chain_next.
125 2007-04-06 Colin Walters <walters@redhat.com>
127 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
128 * jcf-io.c (open_class): Copy 'filename'.
130 2007-04-03 Andrew Haley <aph@redhat.com>
132 * jvgenmain.c (main): Change main to use class$, not class$$.
133 (do_mangle_classname): Likewise.
134 * class.c (hide): New function.
135 (add_field): Hide everything that shouldn't be visible outside a
137 (build_static_class_ref): Likewise.
138 (build_classdollar_field): Likewise.
139 (make_class_data): Likewise.
140 (layout_class_method): Likewise.
141 * expr.c (special_method_p): New function.
143 * class.c (push_class): Don't bogusly guess the source filename.
144 * jcf-parse.c (give_name_to_class): Don't set input_location from
145 DECL_ARTIFICIAL decls.
147 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
149 * typeck.c (java_signed_or_unsigned_type): Removed.
150 (java_signed_type): use get_signed_or_unsigned_type instead of
151 java_signed_or_unsigned_type.
152 (java_unsigned_type): Ditto.
153 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
154 * java-tree.h (java_signed_or_unsigned_type): Removed.
156 2007-03-26 Tom Tromey <tromey@redhat.com>
158 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
159 (java.maintainer-clean): Likewise.
160 (java.install-man): Likewise.
161 (.INTERMEDIATE): Removed grmiregistry.pod.
162 (grmiregistry.pod): Removed.
163 * gcj.texi (Invoking gcjh): Removed.
164 (Invoking gjnih): Likewise.
165 (Invoking grmiregistry): Likewise.
168 (which-gcj): Removed.
170 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
172 * Make-lang.in: Add install-pdf target as copied from
173 automake v1.10 rules.
175 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
177 * gcj.texi: Standardize title page.
179 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
181 * class.c: Fix a comment typo.
183 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
184 Brooks Moses <brooks.moses@codesourcery.com>
185 Lee Millward <lee.millward@codesourcery.com>
187 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
189 (BUILD_MONITOR_EXIT): Likewise.
191 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
192 (java_gimplify_modify_expr): Likewise.
194 * class.c (cache_this_class_ref): Use build_call_expr.
195 (build_static_field_ref): Likewise.
196 (emit_indirect_register_classes): Likewise.
197 (emit_register_classes): Likewise.
199 * resource.c (write_resource_constructor): Use build_call_expr.
201 * builtins.c (builtin_creator_function): Change interpretation of
202 the second parameter to be the whole CALL_EXPR instead of the arglist.
203 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
204 (min_builtin): Likewise.
205 (abs_builtin): Likewise.
206 (java_build_function_call_expr): Likewise.
207 (convert_real): Likewise.
208 (UNMARSHAL3): Likewise.
209 (UNMARSHAL4): Likewise.
210 (UNMARSHAL5): Likewise.
211 (build_arglist_for_builtin): Delete. Fix callers to use
212 build_call_expr instead.
213 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
215 (compareAndSwapInt_builtin): Likewise.
216 (compareAndSwapLong_builtin): Likewise.
217 (compareAndSwapObject_builtin): Likewise.
218 (putVolatile_builtin): Likewise.
219 (getVolatile_builtin): Likewise.
220 (VMSupportsCS8_builtin): Likewise.
221 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
224 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
225 (build_java_throw_out_of_bounds_exception): Likewise.
226 (java_check_reference): Likewise.
227 (build_java_arraystore_check): Likewise.
228 (build_newarray): Likewise.
229 (build_anewarray): Likewise.
230 (expand_java_multinewarray): Use build_call_list instead of build3.
231 (build_java_monitor): Use build_call_nary instead of build3.
232 (java_create_object): Likewise.
233 (expand_java_NEW): Likewise.
234 (build_instanceof): Likewise.
235 (expand_java_CHECKCAST): Likewise.
236 (build_java_soft_divmod): Likewise.
237 (build_java_binop): Likewise.
238 (build_field_ref): Likewise.
239 (build_class_init): Likewise.
240 (rewrite_arglist_getcaller): Use build_call_expr.
241 (build_invokeinterface): Use build_call_nary instead of build3.
242 (expand_invoke): Use build_call_list instead of build3.
243 (build_jni_stub): Use build_call_nary, build_call_list, or
244 build_call_expr instead of build3.
245 (expand_java_field_op): Use build_call_expr instead of build3.
246 (force_evaluation_order): Use new CALL_EXPR accessors.
248 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
250 2007-02-15 David Daney <ddaney@avtrex.com>
252 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
253 (java.maintainer-clean):Add gc-analyze.1.
254 (.INTERMEDIATE): Add gc-analyze.pod.
255 (gc-analyze.pod): New rule.
256 (java.install-man): Install gc-analyze.1
257 * gcj.texi: Add new section for the gc-analyze program.
259 2007-02-07 Andrew Haley <aph@redhat.com>
261 * class.c (uncache_this_class_ref): New.
262 * expr.c (build_jni_stub): Initialize the class.
263 (expand_byte_code): Call uncache_this_class_ref after generating
266 2007-02-06 Tom Tromey <tromey@redhat.com>
269 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
271 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
273 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
275 2007-02-02 Andrew Haley <aph@redhat.com>
277 * expr.c (expand_byte_code): Call cache_this_class_ref() and
278 cache_cpool_data_ref().
279 Set TYPE_CPOOL_DATA_REF.
280 (cache_cpool_data_ref): New function.
281 * constants.c (build_ref_from_constant_pool): Remove special-case
282 code for flag_indirect_classes.
283 (build_constant_data_ref): Move special-case code for
284 flag_indirect_classes here from build_ref_from_constant_pool.
285 * decl.c (finish_method): Move class initialization from here to
286 cache_this_class_ref.
287 * class.c (cache_this_class_ref): New function.
288 (build_class_ref): Use this_classdollar for the ouput class.
290 2007-02-02 David Daney <ddaney@avtrex.com>
292 * class.c (is_compiled_class): Move check to avoid reloading
294 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
297 2007-02-01 Andrew Haley <aph@redhat.com>
300 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
302 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
304 * class.c, jcf-parse.c: Fix comment typos.
306 2007-01-30 Tom Tromey <tromey@redhat.com>
308 * gcj.texi (Strings): Fix documentation for JvNewString.
310 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
312 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
315 2007-01-30 Ben Elliston <bje@au.ibm.com>
317 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
319 2007-01-29 Tom Tromey <tromey@redhat.com>
322 * jvspec.c (lang_specific_driver): Handle separate -I argument.
323 * lang.opt (-I): Add 'Separate'.
325 2007-01-29 Andrew Haley <aph@redhat.com>
327 * class.c (add_method_1): Mark fndecl as external unless we are
328 compiling it into this object file.
330 2007-01-24 Andrew Haley <aph@redhat.com>
332 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
333 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
335 2007-01-22 Andrew Haley <aph@redhat.com>
337 * builtins.c (VMSupportsCS8_builtin): New function.
339 2007-01-23 Andrew Pinski <pinskia@gmail.com>
342 * jcf-io.c (opendir_in_zip): Close the file
343 and free zipf before returning after an error.
345 2007-01-16 Tom Tromey <tromey@redhat.com>
347 * java-tree.def: Added copyright header.
349 2007-01-15 Tom Tromey <tromey@redhat.com>
351 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
353 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
355 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
356 (EXPR_WFL_NODE): Likewise.
357 (EXPR_WFL_LINECOL): Likewise.
358 (EXPR_WFL_FILENAME): Likewise.
359 (EXPR_WFL_LINENO): Likewise.
360 (build_expr_wfl, expr_add_location): Don't declare.
361 (build_unknown_wfl): Removed.
362 (EXPR_WFL_FILENAME_NODE): Removed.
363 (EXPR_WFL_COLNO): Removed.
364 (EXPR_WFL_SET_LINECOL): Removed.
365 (DECL_FUNCTION_WFL): Removed.
366 (DECL_FIELD_FINAL_WFL): Removed.
367 (struct lang_decl_func) <wfl>: Removed field.
368 <called_constructor>: Likewise.
369 <inner_access>: Likewise.
370 (struct lang_decl_var) <wfl>: Removed field.
371 (DECL_CONSTRUCTOR_CALLS): Removed.
372 (DECL_FUNCTION_ACCESS_DECL): Likewise.
373 (DECL_FUNCTION_INNER_ACCESS): Likewise.
374 (DECL_SPECIFIC_COUNT): Likewise.
375 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
376 * expr.c (build_expr_wfl): Removed.
377 (expr_add_location): Likewise.
379 2007-01-12 Tom Tromey <tromey@redhat.com>
381 * jcf-dump.c (main): Updated call to find_class.
382 * lang.c (java_init): Removed dead code.
383 * jcf-parse.c (read_class): Don't use java_source field. Removed
385 (parse_zip_file_entries): Don't use java_source field.
386 (process_zip_dir): Likewise.
387 (jcf_parse): Removed dead code.
388 (java_parse_file): Likewise.
389 (read_class): Updated call to find_class.
390 * jcf-io.c (find_class): Don't use java_source field. Removed
391 'source_ok' argument, .java logic.
392 * jcf.h (JCF) <java_source>: Removed field.
393 (JCF_ZERO): Updated. (find_class): Updated.
394 * decl.c: Removed dead code.
395 * class.c: Removed dead code.
397 2007-01-11 Tom Tromey <tromey@redhat.com>
399 * typeck.c (convert): Don't use flag_emit_class_files.
400 * lang.c (java_post_options): Don't use flag_emit_class_files.
401 (java_handle_option): Don't use flag_extraneous_semicolon or
403 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
404 flag_emit_class_files.
405 (load_class): Likewise.
406 * java-tree.h (flag_emit_class_files): Don't declare.
407 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
408 (flag_extraneous_semicolon): Don't declare.
409 (flag_not_overriding): Likewise.
410 (flag_static_local_jdk1_1): Likewise.
411 (flag_redundant): Likewise.
412 * expr.c (build_newarray): Don't use flag_emit_class_files.
413 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
414 flag_emit_class_files.
415 (build_class_ref): Likewise.
416 * builtins.c (check_for_builtin): Don't use
417 flag_emit_class_files.
419 2007-01-10 Tom Tromey <tromey@redhat.com>
421 * lang.c (java_can_use_bit_fields_p): Removed.
422 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
424 2007-01-09 Andrew Haley <aph@redhat.com>
426 * expr.c (build_java_arrayaccess): Rewrite to generate array
427 access in canonical form.
428 (expand_java_arraystore): Use build_fold_addr_expr() on address of
431 2007-01-03 Andrew Haley <aph@redhat.com>
434 * expr.c (expand_java_field_op): If we're initializing a field's
435 declaring interface we should not also initialize the class
436 context in which it was referenced.
438 2007-01-02 Tom Tromey <tromey@redhat.com>
440 * java-tree.h (compiling_from_source, current_encoding,
441 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
442 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
443 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
444 JTI_WFL_OPERATOR): Removed
445 (finit_identifier_node, instinit_identifier_node,
446 length_identifier_node, super_identifier_node,
447 continue_identifier_node, access0_identifier_node, wfl_operator):
449 (cyclic_inheritance_report,
450 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
451 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
452 DECL_FIXED_CONSTRUCTOR_P): Removed.
453 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
455 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
456 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
457 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
458 import_list, import_demand_list>: Removed.
459 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
460 cxx_keyword_p): Removed.
461 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
462 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
463 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
464 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
465 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
466 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
467 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
468 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
469 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
470 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
471 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
472 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
473 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
474 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
475 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
476 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
477 java_parse_abort_on_error, extract_field_decl): Removed.
479 * lang.c: (compiling_from_source, current_encoding): Removed.
480 (java_handle_option): Ignore -fencoding.
481 * parse.h: Don't include lex.h.
482 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
483 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
484 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
485 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
486 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
487 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
488 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
489 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
490 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
491 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
492 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
493 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
494 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
495 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
496 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
497 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
498 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
499 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
500 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
501 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
502 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
503 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
504 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
505 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
506 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
507 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
508 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
509 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
510 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
511 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
512 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
513 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
514 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
515 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
516 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
517 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
518 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
519 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
520 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
521 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
522 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
523 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
524 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
525 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
526 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
527 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
528 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
529 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
530 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
531 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
532 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
533 SET_CPC_STATIC_INITIALIZER_STMT,
534 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
535 java_complete_class, java_check_circular_reference,
536 java_fix_constructors, java_layout_classes, java_reorder_fields,
537 java_method_add_stmt, java_get_line_col, reset_report,
538 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
539 java_finish_classes, ctxp, ctxp_for_generation,
540 ctxp_for_generation_last): Removed.
541 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
542 * mangle.c (utf8_cmp): New function.
543 (cxx_keywords): New global.
544 (cxx_keyword_p): New function.
545 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
546 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
547 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
548 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
549 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
550 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
551 * Make-lang.in (java.srcextra): Do nothing.
552 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
553 (JAVA_OBJS): Don't mention deleted files.
554 (java.mostlyclean): Likewise.
555 (java.clean): Likewise.
556 (JAVA_LEX_C): Removed.
557 (buffer.o, check-init.o, parse.o): Remove unused targets.
559 * jcf-parse.c (read_class): Comment out unused code.
560 (java_layout_seen_class_methods): New function.
561 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
563 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
564 (init_jcf_parse): Removed.
565 * config-lang.in (gtfiles): Remove deleted files.
566 * decl.c (java_init_decl_processing): Don't initialize
567 finit_identifier_node, instinit_identifier_node,
568 length_identifier_node, super_identifier_node,
569 continue_identifier_node, access0_identifier_node. Don't call
571 * class.c (cyclic_inheritance_report): New global.
572 (add_method_1): Don't use
573 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
574 (maybe_layout_super_class): Comment out code.
575 (safe_layout_class): New function.
576 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
577 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
578 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
579 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
580 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
581 (java_gimplify_case_expr): Removed.
582 (java_gimplify_default_expr): Likewise.
583 (java_gimplify_new_array_init): Likewise.
585 * keyword.gperf, keyword.h: Removed.
586 * chartables.h: Removed.
587 * check-init.c: Removed.
588 * buffer.c, buffer.h: Removed.
589 * convert.h: Removed.
590 * gen-table.pl: Removed.
591 * lex.c, lex.h: Removed.
593 2007-01-02 Andrew Haley <aph@redhat.com>
595 * expr.c (expand_java_arraystore): Make sure we perform a bounds
596 check at runtime before we perform a type check.
598 2006-12-19 Andrew Haley <aph@redhat.com>
600 * decl.c: Bump minor BC ABI version.
602 2006-12-13 Gary Benson <gbenson@redhat.com>
604 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
606 2006-12-12 Tom Tromey <tromey@redhat.com>
608 * lang-specs.h: Pass -M options to jc1.
609 * jcf-depend.c (jcf_dependency_add_file): Don't emit
612 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
614 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
616 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
618 * lang-specs.h: Pass '%U'-based options as separate arguments.
620 2006-12-05 Tom Tromey <tromey@redhat.com>
623 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
625 * class.c (add_field): Handle ACC_SYNTHETIC.
626 (add_method_1): Likewise. Handle bridge and varargs.
627 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
629 (set_class_decl_access_flags): Handle synthetic and annotation.
630 * java-tree.h (METHOD_BRIDGE): New macro.
631 (METHOD_VARARGS): Likewise.
632 (TYPE_SYNTHETIC): Likewise.
633 (TYPE_ANNOTATION): Likewise.
634 (lang_type): New fields 'synthetic' and 'annotation'.
635 (lang_decl_func): New fields 'varargs' and 'bridge'.
637 2006-12-04 Andrew Haley <aph@redhat.com>
639 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
642 2006-11-29 Gary Benson <gbenson@redhat.com>
644 * expr.c (rewrite_arglist_getcaller): Reorder.
646 2006-11-29 Andrew Haley <aph@redhat.com>
648 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
649 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
651 2006-11-23 Andrew Haley <aph@redhat.com>
653 * expr.c (rewrite_arglist_getcaller): New.
654 (rewrite_arglist_getclass): Fix indentation.
655 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
656 gnu.classpath.VMStackWalker.getCallingClassLoader().
657 * builtins.c (initialize_builtins): Remove duplicate def'n of
659 Add __builtin_return_address.
661 2006-11-22 Andrew Haley <aph@redhat.com>
663 * jcf-reader.c (get_attribute): Mark attr_type unused.
665 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
667 2007-01-08 Richard Guenther <rguenther@suse.de>
669 * lex.c (do_java_lex): Use build_int_cst_wide_type.
670 * jcf-parse.c (get_constant): Likewise.
672 2006-11-12 Jan Hubicka <jh@suse.cz>
674 * resource.c (compile_resource_data): Update for new varpool names.
675 * java/class.c (build_utf8_ref): Likewise.
677 2006-11-12 David Daney <ddaney@avtrex.com>
680 * typeck.c (build_java_array_type): Increase buffer sizes.
682 2006-11-11 Richard Guenther <rguenther@suse.de>
684 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
685 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
687 2006-11-06 Andrew Haley <aph@redhat.com>
689 * java-tree.h (CONSTANT_LazyFlag): New.
690 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
691 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
693 (handle_constant): Return 0 for dummy cpool entries.
694 Handle constants of kind Class.
695 Handle constants of kind NameAndType.
696 (handle_enclosingmethod_attribute): New.
697 (handle_signature_attribute): New.
698 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
699 (HANDLE_SIGNATURE_ATTRIBUTE): New.
700 (handle_constant): Use unmangle_classname()rather than calling
701 identifier_subst() directly.
703 2006-11-02 Andrew Haley <aph@redhat.com>
705 * java-tree.h (FIELD_ENUM): New.
706 (lang_decl_var.field_enum): New.
707 (lang_type.enum_class): New.
709 * class.c (set_class_decl_access_flags): Handle enum types.
710 (add_field): Handle enum fields.
711 (get_access_flags_from_decl): Likewise.
713 * class.c (make_class_data): Put reflection_data into rodata.
715 2006-11-01 Andrew Haley <aph@redhat.com>
717 * jcf-parse.c (field_offsets, bit_obstack): New variables.
718 (jcf_parse): Write end marker to annotation_data.
719 (java_parse_file): Create field_offsets bitmap. Destroy it.
720 (annotation_grow, annotation_rewrite_byte)
721 (annotation_rewrite_short, annotation_rewrite_int)
722 (annotation_read_short, annotation_write_byte)
723 (annotation_write_short, annotation_write_int)
724 (handle_long_constant, handle_constant, handle_element_value)
725 (handle_annotation, handle_annotations)
726 (handle_annotation_attribute, rewrite_reflection_indexes)
727 (handle_member_annotations, handle_parameter_annotations)
728 (handle_default_annotation): New functions.
729 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
730 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
731 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
732 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
733 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
734 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
735 (TYPE_REFLECTION_DATA): New.
736 (TYPE_REFLECTION_DATASIZE): New.
737 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
739 * jcf-reader.c (get_attribute): Pass field/method index and
740 attribute type to get_attribute().
741 * constants.c (find_class_or_string_constant): Make nonstatic.
742 (cpool_for_class): Likewise.
743 (build_constants_constructor): Separate string and scalar types.
744 * class.c (make_class_data): Generate field_indexes permutation.
745 Pass it to rewrite_reflection_indexes().
746 (make_class_data): Generate constructor for reflection_data field.
748 2006-10-20 Tom Tromey <tromey@redhat.com>
750 * gcj.texi (Top): Don't mention jv-scan.
751 (Invoking gcj): Likewise.
752 (Invoking gcjh): Likewise.
753 (Invoking gjnih): Likewise.
754 (Invoking gij): Likewise.
755 (Invoking gcj-dbtool): Likewise.
756 (Invoking jv-scan): Removed.
757 * parse-scan.y: Removed.
758 * jv-scan.c: Removed.
759 * config-lang.in (stagestuff): Don't mention jv-scan.
760 * Make-lang.in (java): Removed jv-scan.
761 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
762 (JVSCAN_OBJS): Removed.
763 (jv-scan$(exeext)): Likewise.
764 (JAVA_MANFILES): Removed jv-scan.1.
765 (java.uninstall): Don't mention jv-scan.
766 (java.mostlyclean): Likewise.
767 (java.maintainer-clean): Likewise.
768 (.INTERMEDIATE): Likewise.
769 (java/jv-scan.o): Removed.
770 (jv-scan.pod): Likewise.
771 (java.srcextra): Don't mention parse-scan.c.
772 (java.mostlyclean): Likewise.
773 (java/parse-scan.c): Removed.
774 (java/parse-scan.o-warn): Removed.
775 (java/parse-scan.o): Removed.
777 2006-10-20 Tom Tromey <tromey@redhat.com>
779 * lang.c (java_handle_option): Don't use
780 jcf_write_base_directory.
781 * jcf.h (jcf_write_base_directory): Removed.
782 * parse.y (java_expand_classes): Don't call write_classfile.
783 * config-lang.in (gtfiles): Removed jcf-write.c.
784 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
785 (java/jcf-write.o): Removed.
786 * jcf-parse.c (parse_class_file): Don't call write_classfile.
787 * java-tree.h (write_classfile): Removed declaration.
788 * jcf-write.c: Removed.
790 2006-10-20 Tom Tromey <tromey@redhat.com>
792 * Make-lang.in (java): Removed gjnih, gcjh.
793 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
794 (GCJH_OBJS): Removed.
795 (GJNIH_OBJS): Likewise.
796 (gjnih$(exeext)): Likewise.
797 (gcjh$(exeext)): Likewise.
798 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
799 (java.install-common): Don't special case gcjh.
800 (java.uninstall): Don't mention gcjh, gjnih.
801 (java.mostlyclean): Likewise.
802 (java.maintainer-clean): Likewise.
803 (.INTERMEDIATE): Likewise.
805 (gjnih.pod): Likewise.
806 (GCJH_TARGET_INSTALL_NAME): Removed.
807 (java/gjavah-jni.o): Removed.
808 (java/gjavah.o): Likewise.
809 * config-lang.in (stagestuff): Removed gjnih, gcjh.
812 2006-10-17 Tom Tromey <tromey@redhat.com>
814 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
817 2006-10-17 Tom Tromey <tromey@redhat.com>
819 * jvgenmain.c (main): Handle -findirect-dispatch.
820 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
823 2006-10-06 Andrew Haley <aph@redhat.com>
825 * builtins.c (compareAndSwapInt_builtin): Check that we really do
826 have a compare_and_swap builtin.
827 (compareAndSwapLong_builtin): Likewise.
828 (compareAndSwapObject_builtin): Likewise.
830 2006-10-04 Andrew Haley <aph@redhat.com>
832 * builtins.c (java_builtins): Add compareAndSwapInt,
833 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
834 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
835 putObjectVolatile, getObjectVolatile, getIntVolatile,
836 getLongVolatile, getLong.
837 (UNMARSHAL3): New macro.
838 (UNMARSHAL4): Likewise.
839 (UNMARSHAL5): Likewise.
840 (build_arglist_for_builtin): New function.
841 (build_addr_sum, build_check_this): New functions.
842 (putObject_builtin. compareAndSwapInt_builtin,
843 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
844 putVolatile_builtin, getVolatile_builtin): New builtins.
846 2006-06-08 Andrew Haley <aph@redhat.com>
848 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
849 get_symbol_table_index().
850 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
852 (build_known_method_ref): New arg: special. Pass it to
853 get_symbol_table_index.
854 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
856 (build_invokevirtual): New arg: special. Pass it to
857 get_symbol_table_index.
858 (expand_invoke): New variable: special.
859 Pass it to maybe_rewrite_invocation().
860 Pass it to build_known_method_ref().
861 * class.c (build_symbol_entry): Add new arg: special. Use it to
862 build the symbol table conbstructor.
863 (emit_symbol_table): Extract SPECIAL from the method list and pass
864 it to build_symbol_entry().
865 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
868 2006-09-08 Andrew Haley <aph@redhat.com>
870 * class.c (layout_class_method): Use build_java_signature, not
871 build_java_argument_signature. Use lookup_java_method, not
872 lookup_argument_method.
874 2006-08-16 Jakub Jelinek <jakub@redhat.com>
875 Bryce McKinlay <bryce@mckinlay.net.nz>
877 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
879 2006-07-18 Tom Tromey <tromey@redhat.com>
881 * lang.opt: Added missing -W options.
883 2006-07-12 Tom Tromey <tromey@redhat.com>
886 * lang-specs.h: Pass '%U'-based options as separate arguments.
888 * lang.c (java_handle_option): Handle OPT_faux_classpath.
889 * lang.opt (faux-classpath): New option.
891 2006-07-07 Tom Tromey <tromey@redhat.com>
893 * class.c (make_class_data): Set value for reflection_data field.
894 * decl.c (java_init_decl_processing): Add reflection_data field.
896 2006-07-07 Tom Tromey <tromey@redhat.com>
898 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
900 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
902 2006-07-07 Andrew Haley <aph@redhat.com>
904 * jcf-parse.c (set_source_filename): Don't check for
905 CLASS_FROM_CURRENTLY_COMPILED_P.
908 2006-07-07 Andrew Haley <aph@redhat.com>
910 * java-tree.h (java_read_sourcefilenames): Declare.
911 * lang.c (java_handle_option): Call java_read_sourcefilenames().
912 * lang.opt (fsource-filename): New opt.
913 * lang-specs.h: Add -fsource-filename.
914 * jcf-parse.c (num_files, filenames): New variables.
915 (reverse, cmpstringp, java_read_sourcefilenames,
916 find_sourcefile): New.
917 (set_source_filename): Call find_sourcefile to find the real name
920 2006-06-27 Tom Tromey <tromey@redhat.com>
922 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
923 Signature, LocalVariableTypeTable, annotation attributes.
924 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
925 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
926 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
927 (HANDLE_METHOD): Likewise.
928 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
929 (print_annotation): New function.
930 (print_element_value): Likewise.
932 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
933 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
934 (print_parameter_annotations): New function.
935 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
936 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
938 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
939 (print_annotations): New function.
941 2006-06-23 Tom Tromey <tromey@redhat.com>
943 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
944 emitting class files, always use 1.5.
945 * gcj.texi (Input Options): Document -fsource.
946 (Code Generation): Document -ftarget.
948 2006-06-21 Tom Tromey <tromey@redhat.com>
951 * expr.c (expand_java_field_op): Initialize field's declaring
954 2006-06-20 Tom Tromey <tromey@redhat.com>
956 * expr.c (push_value): Always flush quick stack.
958 2006-06-19 Tom Tromey <tromey@redhat.com>
960 * expr.c (push_value): Also flush quick stack if value is a
963 2006-06-19 Tom Tromey <tromey@redhat.com>
965 * expr.c (push_value): Flush quick stack if value has side
968 2006-06-13 Tom Tromey <tromey@redhat.com>
970 * class.c (is_compiled_class): Explicitly check for current
973 2006-06-09 Tom Tromey <tromey@redhat.com>
975 * gjavah.c (decompile_method): Don't decompile a static field
978 2006-06-06 Tom Tromey <tromey@redhat.com>
980 * lang-specs.h <jc1>: Add .jar file to command line if
981 -fsaw-java-file. Also, remove -ffilelist-file in this case.
983 2006-06-05 Tom Tromey <tromey@redhat.com>
985 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
986 synthetic, enum, annotation.
987 * jcf.h (ACC_BRIDGE): New macro.
988 (ACC_VARARGS): Likewise.
989 (ACC_SYNTHETIC): Likewise.
990 (ACC_ENUM): Likewise.
991 (ACC_ANNOTATION): Likewise.
993 2006-06-04 Tom Tromey <tromey@redhat.com>
995 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
996 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
998 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
999 when needed. Handle classpath-setting.
1000 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
1001 * lang-specs.h: Rewrote.
1003 2006-06-04 Tom Tromey <tromey@redhat.com>
1005 * jcf-io.c (find_class): Set source_ok to 0.
1006 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
1007 (parse_class_file): Don't call java_mark_class_local.
1008 (java_parse_file): Skip .java files. Call java_mark_class_local
1009 before lowering any code.
1010 (parse_zip_file_entries): Don't call duplicate_class_warning
1012 (process_zip_dir): ... call it here.
1013 * class.c (add_field): Don't mark field external if it is being
1014 compiled into this object.
1015 (make_class_data): Handle situation where class_dtable_decl is
1016 created before Class is compiled.
1017 (is_compiled_class): Don't assume files in zip are compiled into
1019 (layout_class_method): Don't mark method external if it is being
1020 compiled into this object.
1022 2006-06-04 Tom Tromey <tromey@redhat.com>
1024 * jcf-path.c (jcf_path_compute): New function.
1025 * jcf.h (jcf_path_compute): Declare.
1027 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
1029 * decl.c: Include langhooks.h.
1030 (builtin_function): Remove.
1031 (java_init_decl_processing): Replace calls to builtin_function
1032 with add_builtin_function.
1033 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
1034 (java/decl.o): Depend on langhooks.h.
1035 * java-tree.h (builtin_function): Remove.
1037 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1039 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
1041 2006-09-12 Tom Tromey <tromey@redhat.com>
1043 * expr.c (push_value): Always flush quick stack.
1045 2006-09-12 Tom Tromey <tromey@redhat.com>
1048 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
1049 the push of the called method's return result.
1051 2006-09-12 Tom Tromey <tromey@redhat.com>
1053 * jvspec.c (lang_specific_driver): Read spec file even if
1056 2006-09-12 Tom Tromey <tromey@redhat.com>
1059 * expr.c (expand_java_field_op): Initialize field's declaring
1060 interface if necessary.
1062 2006-09-12 Tom Tromey <tromey@redhat.com>
1065 * expr.c (expand_java_field_op): No error for assignments not in
1066 class initializer or constructor.
1068 2006-08-22 Andrew Haley <aph@redhat.com>
1070 * decl.c (java_add_stmt): Give the statement list a type.
1072 2006-08-16 Jakub Jelinek <jakub@redhat.com>
1073 Bryce McKinlay <bryce@mckinlay.net.nz>
1075 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
1077 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
1080 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
1081 or '--' is used with a constant operand.
1082 (java_complete_lhs): When processing a '++' or '--' expression,
1083 don't call java_complete_tree but java_complete_lhs, so that a
1084 static final variable operand is never replaced by its value. This
1085 avoids an ICE later on.
1086 (patch_unaryop): Fixed typo in comment.
1088 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1090 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1092 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1094 * builtins.c (check_for_builtin): If a builtin could result in a
1095 direct call being generated, don't use it if flag_indirect_dispatch
1098 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
1100 * gcj.texi (Invocation): Corrections for Invocation API example.
1102 2006-07-04 Andrew Haley <aph@redhat.com>
1104 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
1107 2006-06-21 Andrew Haley <aph@redhat.com>
1109 * java-tree.h (update_aliases): Remove
1110 * expr.c (expand_iinc): Remove call to update_aliases().
1111 (STORE_INTERNAL): Likewise.
1112 * decl.c (update_aliases, initialize_local_variable)
1113 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
1115 2006-06-19 Andrew Haley <aph@redhat.com>
1119 * expr.c (java_modify_addr_for_volatile): New function.
1120 (expand_java_field_op): Handle volatile fields.
1121 * java-gimplify.c (java_gimplify_component_ref): Call
1122 java_modify_addr_for_volatile to give the field_ref the correct
1124 (java_gimplify_modify_expr): Likewise.
1125 * java-tree.h (java_modify_addr_for_volatile): New decl.
1127 2006-06-17 Karl Berry <karl@gnu.org>
1129 * gcj.texi (@dircategory): Use "Software development" instead
1130 of "Programming", following the Free Software Directory.
1132 2006-06-16 Andrew Haley <aph@redhat.com>
1134 * class.c (make_class_data): When using flag_indirect_classes,
1135 don't initialize the vtable of Class instances.
1137 2006-06-09 Andrew Haley <aph@redhat.com>
1141 * builtins.c (initialize_builtins): Add __sync_synchronize().
1142 * class.c (add_field): Mark volatile fields.
1143 * java-gimplify.c (java_gimplify_expr): Call new functions to
1144 handle self-modifying exprs and COMPONENT_REFs.
1145 (java_gimplify_component_ref): New.
1146 (java_gimplify_modify_expr): Add handling for volatiles.
1148 2006-06-08 Tom Tromey <tromey@redhat.com>
1150 * gcj.texi (libgcj Runtime Properties): Document
1151 gnu.gcj.user.realname.
1153 2006-06-08 Andrew Haley <aph@redhat.com>
1155 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1156 get_symbol_table_index().
1157 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1159 (build_known_method_ref): New arg: special. Pass it to
1160 get_symbol_table_index.
1161 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1163 (build_invokevirtual): New arg: special. Pass it to
1164 get_symbol_table_index.
1165 (expand_invoke): New variable: special.
1166 Pass it to maybe_rewrite_invocation().
1167 Pass it to build_known_method_ref().
1168 * class.c (build_symbol_entry): Add new arg: special. Use it to
1169 build the symbol table conbstructor.
1170 (emit_symbol_table): Extract SPECIAL from the method list and pass
1171 it to build_symbol_entry().
1172 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1173 special accordingly.
1175 2006-06-06 David Daney <ddaney@avtrex.com>
1177 * gcj.texi (libgcj Runtime Properties): Document
1178 gnu.gcj.runtime.NameFinder.show_raw and
1179 gnu.gcj.runtime.NameFinder.remove_unknown.
1181 2006-06-06 Tom Tromey <tromey@redhat.com>
1183 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1184 synthetic, enum, annotation.
1185 * jcf.h (ACC_BRIDGE): New macro.
1186 (ACC_VARARGS): Likewise.
1187 (ACC_SYNTHETIC): Likewise.
1188 (ACC_ENUM): Likewise.
1189 (ACC_ANNOTATION): Likewise.
1191 2006-06-06 Mike Stump <mrs@apple.com>
1193 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1194 installing during build.
1196 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1198 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1199 classname-to-library resolution mechanism.
1200 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1201 mechanism deprecated.
1202 (libgcj Runtime Properties): Document
1203 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1205 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1207 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1209 (jword): Define to uint64 on 64-bit arches.
1210 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1212 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1214 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1217 2006-05-26 Tom Tromey <tromey@redhat.com>
1219 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1220 * verify-glue.c (vfy_class_type): New function.
1221 * verify-impl.c (check_constant): Allow 'ldc class'.
1222 * verify.h (vfy_class_type): Declare.
1224 2006-05-25 Andrew Haley <aph@redhat.com>
1227 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1228 update all lifetimes, not just the first one.
1230 2006-05-24 Tom Tromey <tromey@redhat.com>
1232 * java-tree.h: Fixed flag documentation.
1234 2006-05-24 Tom Tromey <tromey@redhat.com>
1237 * jcf.h (ACC_INVISIBLE): Changed value.
1239 2006-05-24 Andrew Haley <aph@redhat.com>
1242 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1245 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1247 * lang.opt (femit-class-file): Remove VarExists.
1249 2006-05-16 Tom Tromey <tromey@redhat.com>
1251 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1254 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1257 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1260 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1262 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1263 (java/expr.o): Replace target.h with $(TARGET_H).
1264 (java/parse.o): Likewise.
1266 2006-05-10 Andrew Haley <aph@redhat.com>
1268 * class.c (emit_indirect_register_classes): Fix comment.
1270 2006-05-04 Tom Tromey <tromey@redhat.com>
1272 * java-tree.h (uses_jv_markobj_p): Declare.
1273 * class.c (uses_jv_markobj_p): Removed.
1274 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1275 (get_boehm_type_descriptor): Use it.
1276 (uses_jv_markobj_p): Moved from class.c. Return bool.
1278 2006-05-04 Tom Tromey <tromey@redhat.com>
1280 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1282 2006-05-04 Andrew Haley <aph@redhat.com>
1284 * class.c (make_field_value): Always build_address_of fdecl if
1285 there is an initializer.
1287 2006-05-03 Andrew Haley <aph@redhat.com>
1290 * expr.c (maybe_rewrite_invocation): New function.
1291 (rewrite_arglist_getclass): Likewise.
1293 (expand_invoke): Call maybe_rewrite_invocation.
1294 * parse.y (patch_invoke): Likewise.
1295 * java-tree.h: (maybe_rewrite_invocation): New function.
1297 2006-04-21 Andrew Haley <aph@redhat.com>
1299 * lang.c (java_init): Handle flag_indirect_classes.
1300 * jvgenmain.c: Use "class$$" instead of "class$".
1301 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1303 (mangle_class_field): Special case "class$$" as well as "class$".
1304 * constants.c (build_ref_from_constant_pool): If
1305 flag_indirect_classes, generate a ref into the heap.
1306 * decl.c (constants_field_decl_node,
1307 constants_data_field_decl_node): New.
1308 * class.c (build_static_class_ref): New.
1309 (build_classdollar_field): Factor out from build_class_ref().
1310 (make_field_value): Handle static fields in heap.
1311 (make_class_data): Make sure we get a static ref to class.
1312 Make class initializer const if flag_indirect_classes.
1313 (register_class): Build a class_ref for initialization if
1314 flag_indirect_classes.
1315 (emit_indirect_register_classes): New.
1317 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1319 * expr.c, gjavah.c: Fix comment typos.
1321 2006-04-03 Andrew Haley <aph@redhat.com>
1324 * expr.c (build_field_ref): Don't check the field offset if
1327 2006-03-30 Andrew Haley <aph@redhat.com>
1330 * lang.c (java_attribute_table): New.
1331 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1332 * expr.c (build_field_ref): Add a null pointer check for all
1333 fields of offset > 4k. Don't do so for accesses via the this
1334 pointer, which we know can never be null.
1335 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1338 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1340 * Make-lang.in: Rename docdir to gcc_docdir.
1342 2006-03-30 Tom Tromey <tromey@redhat.com>
1345 * parse.y (java_reorder_fields): Reset superclass field's size as
1348 2006-03-28 Tom Tromey <tromey@redhat.com>
1351 * parse.y (find_most_specific_methods_list): Added 'class'
1353 (lookup_method_invoke): Updated.
1355 2006-03-15 Tom Tromey <tromey@redhat.com>
1357 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1358 non-static method calls.
1360 2006-03-15 David Daney <ddaney@avtrex.com>
1362 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1365 2006-03-15 David Daney <ddaney@avtrex.com>
1367 * lang.opt (-freduced-reflection): New option.
1368 * lang.c (java_post_options): Generate an error if
1369 -freduced-reflection used with -fjni or -findirect-dispatch.
1370 * java-tree.h (flag_reduced_reflection): Declare new variable.
1371 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1372 if bitmap overflows and flag_reduced_reflection set.
1373 * class.c (uses_jv_markobj_p): New function.
1374 (make_class_data): Moved generation of vtable to before
1375 reflection data, generate less reflection data if
1376 flag_reduced_reflection set.
1377 * gcj.texi: Document -freduced-reflection.
1379 2006-03-15 Tom Tromey <tromey@redhat.com>
1382 * class.c (get_interface_method_index): Don't put <clinit> into
1385 2006-03-15 Tom Tromey <tromey@redhat.com>
1387 * parse.y (analyze_clinit_body): Ignore empty statements.
1389 2006-03-08 David Daney <ddaney@avtrex.com>
1391 * gcj.texi: Document -static-libgcj option.
1393 2006-02-20 Andrew Haley <aph@redhat.com>
1395 * jcf-parse.c (parse_class_file): Set input_location from
1398 2006-02-15 Andrew Haley <aph@redhat.com>
1400 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1401 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1402 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1404 2006-02-09 Andrew Haley <aph@redhat.com>
1407 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1408 in their superclass.
1410 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1413 2006-02-08 Tom Tromey <tromey@redhat.com>
1416 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1417 * builtins.c (convert_real): New function.
1418 (java_builtins): Handle Float.intBitsToFloat,
1419 Float.floatToRawIntBits, Double.longBitsToDouble,
1420 Double.doubleToRawLongBits.
1422 2006-02-07 Andrew Haley <aph@redhat.com>
1424 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1425 class other than the one in which we expected to find it, ignore
1429 * constants.c (build_constants_constructor): move initializer into
1430 first halfword on a 64-bit big-endian machine.
1432 2006-02-04 Tom Tromey <tromey@redhat.com>
1435 * builtins.c (max_builtin): Skip floating point 'max'.
1436 (min_builtin): Skip floating point 'min'.
1437 (check_for_builtin): Never return NULL_TREE.
1439 2006-02-04 Tom Tromey <tromey@redhat.com>
1442 * expr.c (push_type): Avoid side effect in gcc_assert.
1444 2006-02-04 Roger Sayle <roger@eyesopen.com>
1446 * decl.c (java_init_decl_processing): Create char_type_node as a
1447 regular INTEGER_TYPE node.
1448 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1449 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1450 test for char_type_node and promoted_char_type_node as special
1451 instances of INTEGER_TYPE tree codes.
1452 (promote_type,build_java_signature): Likewise.
1453 * jcf-write.c (adjust_typed_op): Likewise.
1454 * mangle.c (mangle_type): Likewise.
1455 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1456 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1458 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1460 * expr.c (java_stack_swap): Revert gcc_assert patch.
1462 2006-02-03 Ben Elliston <bje@au.ibm.com>
1464 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1465 * typeck.c: Likewise.
1466 * verify-impl.c: Likewise.
1467 * class.c: Likewise.
1469 * jcf-parse.c: Likewise.
1470 * constants.c: Likewise.
1471 * check-init.c: Likewise.
1472 * jcf-write.c: Likewise.
1473 * verify-glue.c: Likewise.
1474 * mangle.c: Likewise.
1477 * boehm.c: Likewise.
1479 2006-02-01 Jan Hubicka <jh@suse.cz>
1481 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1482 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1484 2006-01-30 Andrew Haley <aph@redhat.com>
1487 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1489 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1491 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1492 Update copyright notice dates.
1494 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1496 * jvspec.c (lang_specific_spec_functions): Remove.
1498 2006-01-06 Tom Tromey <tromey@redhat.com>
1500 * gcj.texi (Arrays): Added more documentation for
1502 (Primitive types): Correct information about primitive classes.
1503 (Reference types): New node.
1506 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1508 * jcf-parse.c (set_source_filename): Set the decl source location
1509 even when returning early.
1511 2005-12-15 Tom Tromey <tromey@redhat.com>
1512 Andrew Haley <aph@redhat.com>
1515 * parse.y (resolve_expression_name): Don't generate accessor
1516 methods for constant fields.
1518 2005-12-13 Andrew Haley <aph@redhat.com>
1522 * class.c (maybe_layout_super_class): Update current_class before
1523 calling do_resolve_class.
1525 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1528 * jcf-write.c (write_classfile): Use PID in temporary class
1529 file. Save/restore errno when reporting error.
1531 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1534 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1535 to bare_function_type and including the return type
1536 * builtins.c (initialize_builtins) : Change builtin mangled name
1537 constants to conform to new mangling scheme
1539 2005-12-08 Andrew Haley <aph@redhat.com>
1542 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1543 (soft_abstractmethod_node): New.
1544 * expr.c (build_field_ref): Add in-line check for missing field.
1545 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1547 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1549 * Make-lang.in (java.all.build, java.install-normal): Remove.
1551 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1553 * Make-lang.in: Remove all dependencies on s-gtype, except for
1556 2005-12-07 Richard Sandiford <richard@codesourcery.com>
1558 * class.c (build_utf8_ref, emit_register_classes): Use
1559 switch_to_section and get_section.
1561 2005-12-06 Tom Tromey <tromey@redhat.com>
1564 * parse.y (patch_new_array_init): Revert previous patch.
1565 (lookup_method_invoke): Use size-less array type when creating an
1566 anonymous constructor.
1568 2005-12-05 Tom Tromey <tromey@redhat.com>
1570 * parse.y (patch_new_array_init): Don't set length on array.
1572 2005-12-02 Richard Guenther <rguenther@suse.de>
1574 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1575 buildN instead of build.
1576 * class.c (finish_class): Likewise.
1577 * expr.c (java_create_object): Likewise.
1579 2005-11-28 Tom Tromey <tromey@redhat.com>
1582 * expr.c (build_jni_stub): Unwrap the return value.
1583 * java-tree.h (soft_unwrapjni_node): New define.
1584 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1585 * decl.c (java_init_decl_processing): Initialize
1586 soft_unwrapjni_node.
1588 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
1590 * gcj.texi (gij options): Add -Xss documentation.
1592 2005-11-08 Wil Mahan <wmahan@gmail.com>
1595 * zextract.c (read_zip_archive): Fix out of memory error when
1596 reading jar files with zip-style comments.
1598 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
1600 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1602 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1604 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
1605 Wil Mahan <wmahan@gmail.com>
1608 * class.c (make_class): Create empty binfo here.
1609 (set_super_info): Only create binfo if we have superclasses.
1611 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
1614 * parse.y (method_header): Make the result of the rule a NULL_TREE
1615 when a parsing error occurs.
1617 2005-09-29 Tom Tromey <tromey@redhat.com>
1620 * jcf-io.c (memoized_dirlist_hash): New function.
1621 (caching_stat): Use it.
1623 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
1626 * class.c (inherits_from_p): Try to lay out super class
1627 if it is not already laid out.
1628 (maybe_layout_super_class): Handle the case where SUPER_CLASS
1631 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
1633 * builtins.c (max_builtin, min_builtin, abs_builtin,
1634 java_build_function_call_expr): Use fold_buildN.
1635 * class.c (layout_class_method): Likewise.
1636 * expr.c (java_truthvalue_conversion, build_java_jsr,
1637 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1638 build_java_binop, build_field_ref, expand_compare,
1639 build_known_method_ref, build_invokevirtual,
1640 process_jvm_instruction): Likewise.
1641 * parse.y (patch_binop, patch_exit_expr): Likewise.
1642 * typeck.c (convert_ieee_real_to_integer): Likewise.
1643 (convert): Don't call fold after convert_ieee_real_to_integer.
1645 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
1648 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1649 the newly created type. Set import lists here, not in create_class.
1650 (jdep_resolve_class): Set current_class.
1651 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
1652 the current package context, not ctxp->package.
1653 (cicp_cache): Removed.
1654 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1655 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1656 * java-tree.h (TYPE_PACKAGE): New macro.
1657 (struct lang_type): New member 'package'.
1659 2005-09-09 Andrew Haley <aph@redhat.com>
1662 * expr.c (pop_type_0): If the expected type is object or ptr
1663 (i.e. void*), return the type of the object we just popped from
1666 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
1668 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1669 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1671 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
1673 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1674 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1675 typos. Follow spelling conventions.
1677 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
1680 * typeck.c (lookup_do): Look up interfaces for the original class,
1682 * parse.y (java_check_regular_methods): Fix diagnostic message for
1683 more restrictive overriding of a method from an interface.
1685 2005-08-16 Tom Tromey <tromey@redhat.com>
1687 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1688 class' initial state.
1690 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1693 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
1694 `literal_token' for large numeric input tokens.
1696 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1699 * parse.y (nested_field_access_p): Rename to nested_member_access_p
1700 and expand to handle method accesses across nested classes.
1701 (build_outer_method_access_method): Rename to
1702 build_nested_method_access_method. Minor adjustments to comments.
1703 (resolve_expression_name): Use the newly-renamed
1704 nested_member_access_p method.
1705 (resolve_qualified_expression_name): Likewise.
1706 (patch_method_invocation): Also consider static methods for access
1707 method generation. Minor adjustments to comments.
1708 (maybe_use_access_method): Use the more general
1709 nested_memeber_access_p to determine access across nested class
1710 boundaries. Allow THIS_ARG to be NULL (for static methods).
1712 2005-08-15 Tom Tromey <tromey@redhat.com>
1715 * expr.c (build_field_ref): Don't generate otable reference when
1716 DECL_FIELD_OFFSET is 0.
1717 * class.c (maybe_layout_super_class): Pass outer class to
1720 2005-08-15 Tom Tromey <tromey@redhat.com>
1722 * java-tree.h (LABEL_IN_SUBR): Removed.
1723 (LABEL_IN_SUBR): Likewise.
1724 (LABEL_IS_SUBR_START): Likewise.
1725 (LABEL_SUBR_START): Likewise.
1726 (LABEL_SUBR_CONTEXT): Likewise.
1727 (LABEL_CHANGED): Likewise.
1728 (LABEL_RETURN_LABEL): Likewise.
1729 (LABEL_RETURN_TYPE_STATE): Likewise.
1730 (LABEL_RETURN_LABELS): Likewise.
1731 (RETURN_MAP_ADJUSTED): Likewise.
1732 (LABEL_PENDING_CHAIN): Likewise.
1734 2005-08-15 Tom Tromey <tromey@redhat.com>
1736 * Make-lang.in (JAVA_OBJS): Removed verify.o
1737 (java/verify.o): Removed.
1738 * verify.c: Removed.
1739 * lang.c (flag_new_verifier): Removed.
1740 (java_post_options): Updated.
1741 * java-tree.h (flag_new_verifier): Removed.
1742 (verify_jvm_instructions): Removed.
1743 * expr.c (pop_type_0): Assume flag_new_verifier is true.
1744 (build_java_check_indexed_type): Likewise.
1745 (expand_java_arraystore): Likewise.
1746 (expand_java_arrayload): Likewise.
1747 (pop_arguments): Likewise.
1748 (expand_byte_code): Likewise.
1749 (process_jvm_instruction): Likewise.
1751 2005-08-10 Andrew Haley <aph@redhat.com>
1753 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
1754 type mismatches to make legal GIMPLE.
1756 2005-08-10 Robin Green <greenrd@greenrd.org>
1759 * parse.y (maybe_use_access_method): Generalize check from
1760 java.lang.Object to any superclass of current_class
1762 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
1764 * class.c (build_class_ref): Wrap the primary class type in a
1766 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
1767 primary class type from the NOP_EXPR in which it was placed.
1769 2005-07-28 Diego Novillo <dnovillo@redhat.com>
1771 * expr.c (expand_load_internal): Fix missing parens in
1774 2005-07-28 Andrew Haley <aph@redhat.com>
1776 * expr.c (expand_load_internal): Convert to destination type.
1778 2005-07-22 Manfred Hollstein <mh@suse.com>
1780 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
1781 (check_constant): Likewise.
1782 (check_wide_constant): Likewise.
1784 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
1786 Make CONSTRUCTOR use VEC to store initializers.
1787 * check-init.c (check_init): Update to cope with VEC in
1789 * class.c (make_field_value, make_method_value, get_dispatch_table,
1790 make_class_data, emit_symbol_table, emit_catch_table,
1791 emit_assertion_table): Use build_constructor_from_list instead of
1793 * constants.c (build_constants_constructor): Likewise.
1794 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
1795 VEC in CONSTRUCTOR_ELTS.
1796 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
1797 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
1799 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
1801 * parse.y (build_new_array_init): Use build_constructor_from_list
1802 instead of build_constructor.
1803 (patch_new_array_init): Update to cope with VEC in
1805 (array_constructor_check_entry): Likewise.
1807 2005-07-12 Tom Tromey <tromey@redhat.com>
1809 * jvspec.c (lang_specific_driver): Put filelist_filename first on
1812 2005-07-12 Tom Tromey <tromey@redhat.com>
1815 * parse-scan.y (interface_member_declaration): Added
1818 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
1820 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
1821 (LABEL_PENDING_CHAIN): Ditto.
1823 (DECL_BIT_INDEX): Ditto.
1825 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
1828 * parse.y (inner_class_accessible): New function. Logic moved from
1829 check_inner_class_access.
1830 (check_inner_class_access): Use inner_class_accessible.
1831 (resolve_inner_class): Simplify arguments. Create circularity hash
1832 here. Keep looking for classes if we found one that was inaccessible.
1833 Return the inaccessible class only if there is no other match.
1834 (do_resolve_class): Update for new resolve_inner_class arguments.
1835 Don't create circularity_hash here.
1837 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
1840 * parse.y (add_exception_to_throws): New function.
1841 (purge_unchecked_exceptions): Removed.
1842 (get_constructor_super): Renamed from verify_constructor_super. Now
1843 returns the super constructor after verification.
1844 (java_complete_expand_method): Don't use purge_unchecked_exceptions
1845 or save/restore the exception list.
1846 (check_thrown_exceptions): Add uncaught exceptions in anonymous
1847 class initializers and constructors to the throws clause of the method.
1849 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
1852 * parse.y (interface_member_declaration): Allow empty statements in
1853 interface declarations.
1855 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
1857 * Makefile.in (parse.o): Adjust dependencies.
1858 * parse.y: Include tree-dump.h.
1860 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
1862 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
1865 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
1867 * parse.y (issue_warning_error_from_context): Call
1868 pp_output_formatted_text to be able to get the buffer.
1870 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
1872 * parse.y (issue_warning_error_from_context): Update for the
1873 renaming of pp_format_text to pp_format.
1875 2005-06-28 Paul Brook <paul@codesourcery.com>
1877 * decl.c (java_init_decl_processing): Call
1878 default_init_unwind_resume_libfunc.
1880 2005-06-27 Tom Tromey <tromey@redhat.com>
1882 PR java/21540, PR java/13788:
1883 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
1884 fold_constant_for_init.
1885 (patch_binop): Added 'folding' argument. Updated all callers.
1886 (patch_unaryop) <NOP_EXPR>: New case.
1887 (fold_constant_for_init) <NOP_EXPR>: Likewise.
1888 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
1890 2005-06-25 Jan Hubicka <jh@suse.cz>
1892 * builtins.c (define_builtin): Accept new flags parameter.
1893 (initialize_builtins): Mark the builtins const and nothrow accordingly.
1895 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
1897 * all files: Update FSF address in copyright headers.
1899 2005-06-24 Tom Tromey <tromey@redhat.com>
1901 * verify-impl.c (verify_instructions_0): Correctly handle
1902 situation where PC falls off end.
1904 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
1907 * parse.y (find_most_specific_methods_list): Remove special case for
1910 2005-06-15 Tom Tromey <tromey@redhat.com>
1913 * class.c (make_method_value): Use soft_abstractmethod_node for
1915 * java-tree.h (soft_abstractmethod_node): New define.
1916 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
1917 * decl.c (java_init_decl_processing): Initialize
1918 soft_abstractmethod_node.
1920 2005-06-13 Geoffrey Keating <geoffk@apple.com>
1922 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
1924 2005-06-13 Per Bothner <per@bothner.com>
1926 * expr.c (int highest_label_pc_this_method,
1927 start_label_pc_this_method): New globals.
1928 (lookup_label): Add start_label_pc_this_method to pc for label, and
1929 update highest_label_pc_this_method. This prevents conflicts between
1930 labels from different methods.
1931 * java-tree.h: Declare new globals.
1932 * jcf-parse.c (parse_class_file): If needed bump
1933 start_label_pc_this_method and reset highest_label_pc_this_method.
1935 2005-06-13 Tom Tromey <tromey@redhat.com>
1938 * parse.y (nested_field_access_p): Handle case where outer field
1939 is inherited by enclosing class.
1941 2005-06-12 Per Bothner <per@bothner.com>
1943 * class.c (inherits_from_p): Do load_class if needed.
1945 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1947 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
1948 * java-tree.h (parse_error_context): Move...
1949 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
1950 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
1951 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
1953 2005-06-08 Roger Sayle <roger@eyesopen.com>
1955 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
1957 2005-06-06 Jakub Jelinek <jakub@redhat.com>
1959 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
1960 msgid for argument name.
1961 * gjavah.c (error): Likewise.
1962 * java-tree.h (parse_error_context): Likewise.
1963 * parse.y (parse_error_context, parse_warning_context,
1964 issue_warning_error_from_context): Likewise.
1966 2005-06-01 Tom Tromey <tromey@redhat.com>
1969 * class.c (build_static_field_ref): Don't fold constant fields if
1970 current class is from a .class file and we're using indirect
1973 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1975 * java/verify-glue.c: Don't include errors.h and include toplev.h.
1976 * java/Make-lang.in: Updates dependencies.
1978 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
1981 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
1982 NESTED_FIELD_ACCESS_IDENTIFIER_P.
1983 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
1984 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
1985 * jcf-write.c (generate_classfile): Use
1986 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1987 OUTER_FIELD_ACCESS_IDENTIFIER_P.
1988 * parse.y (build_outer_field_access): Rename to
1989 build_nested_field_access. Support static fields and outer-to-inner
1991 (outer_field_access_p): Rename to nested_field_access_p. Support
1992 static fields and generalise to outer-to-inner class and sibling
1993 inner class accesses.
1994 (outer_field_expanded_access_p): Rename to
1995 nested_field_expanded_access_p and support static fields.
1996 (outer_field_access_fix): Rename to nested_field_access_fix and
1997 support static fields.
1998 (build_outer_field_access_expr): Rename to
1999 build_nested_field_access_expr and support static fields.
2000 (build_outer_field_access_methods): Rename to
2001 build_nested_field_access_methods and support static fields. For
2002 static fields, generate accessors without class instance parameters.
2003 (build_outer_field_access_method): Rename to
2004 build_nested_field_access_method and support static fields.
2005 (build_outer_method_access_method): Use
2006 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
2007 OUTER_FIELD_ACCESS_IDENTIFIER_P.
2008 (resolve_expression_name): Consider static field accesses across
2010 (resolve_qualified_expression_name): Likewise.
2011 (java_complete_lhs): Use nested_field_access_fix instead of
2012 outer_field_access_fix.
2013 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
2014 Use nested_field_expanded_access_p instead of
2015 outer_field_expanded_access_p. Use nested_field_access_fix instead
2016 of outer_field_access_fix.
2017 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
2018 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
2020 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
2022 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
2023 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
2024 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
2025 MINOR_BINARYCOMPAT_ABI_VERSION): New.
2026 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
2027 (parse_version): Calculate version ID using new method. Use bit-flags
2028 for flag_indirect_dispatch and flag_bootstrap_classes.
2030 2005-05-25 Richard Henderson <rth@redhat.com>
2033 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
2034 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
2035 DECL_CONTEXT; avoid pushdecl_top_level.
2036 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
2037 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
2038 (layout_class_method): Likewise.
2039 * decl.c (java_mark_cni_decl_local): New.
2040 (java_mark_class_local): Use it.
2041 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
2042 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
2043 (struct lang_decl_func): Add local_cni;
2044 (struct lang_decl_var): Add class_field, vtable.
2045 (java_mangle_decl): Declare.
2046 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2047 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
2048 (mangle_obstack_1): New.
2049 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
2050 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
2051 lhd_set_decl_assembler_name for things that don't need mangling.
2052 (mangle_class_field): Rename from java_mangle_class_field, make
2053 static, don't call init_mangling or finish_mangling.
2054 (mangle_vtable): Similarly.
2055 (mangle_local_cni_method_decl): New.
2056 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
2057 gcc_assert, and MANGLE_RAW_STRING.
2058 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
2060 2005-05-25 DJ Delorie <dj@redhat.com>
2062 * class.c (set_constant_value): Move warning control from if() to
2065 2005-05-24 Richard Henderson <rth@redhat.com>
2067 * builtins.c (define_builtin): Don't call make_decl_rtl.
2068 * constants.c (build_constant_data_ref): Likewise.
2069 * class.c (build_utf8_ref): Likewise.
2070 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
2071 (get_dispatch_table, layout_class_method): Likewise.
2072 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
2074 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
2075 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
2076 to determine if we need a non-zero address.
2077 * decl.c (builtin_function): Don't call make_decl_rtl.
2078 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
2079 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
2080 * resource.c (compile_resource_data): Likewise.
2081 * parse.y (resolve_field_access): Re-word comment to avoid
2084 2005-05-24 Richard Henderson <rth@redhat.com>
2086 * class.c (registered_class): Take it out of class_roots; turn into
2088 (register_class): Make static. Don't duplicate decl node. Use
2090 (emit_register_classes): Use VEC_iterate. Use output_constant
2091 instead of assemble_integer. Don't call mark_decl_referenced
2093 * java-tree.h (register_class): Remove decl.
2095 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
2099 * parse.y (register_package, package_list): Remove.
2100 (package_declaration): Do not call register_package.
2101 (do_resolve_class): Do not use package_list.
2103 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
2105 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
2108 2005-05-15 Tom Tromey <tromey@redhat.com>
2111 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
2114 2005-05-12 Aaron Luchko <aluchko@redhat.com>
2116 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2118 2005-05-11 Tom Tromey <tromey@redhat.com>
2120 * gcj.texi (Code Generation): Document -fbootstrap-classes.
2121 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
2122 (parse_version): Use it.
2123 * lang.opt (-fbootstrap-classes): New option.
2125 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
2128 * class.c (maybe_layout_super_class): Look for imports in this_class.
2129 * parse.h (ctxp_for_generation_last): New.
2130 (do_resolve_class): Add a parameter.
2131 * parse.y (ctxp_for_generation_last): New.
2132 (java_pop_parser_context): Add at end of list.
2133 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2134 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2135 the given type are NULL.
2136 (do_resolve_class): Look into the imports of the new second parameter.
2137 Adjust recursive calls.
2138 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2139 calls to do_resolve_class.
2140 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2141 (java_complete_class): Do not do that here.
2143 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2146 * Make-lang.in (java): Add gjnih.
2147 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2148 (GJNIH_OBJS): New variable.
2149 (gjnih$(exeext)): New target.
2150 (JAVA_MANFILES): Add gjnih.1.
2151 (java.uninstall): Add gjnih.1.
2152 (java.mostlyclean): Add gjnih.
2153 (java.maintainer-clean): Add gjnih.1.
2154 (java/gjavah-jni.o): New target.
2155 (.INTERMEDIATE): Add gjnih.pod.
2156 (gjnih.pod): New target.
2157 * config-lang.in (stagestuff): Add gjnih.
2158 * gcj.texi (Top): Add gjnih node.
2159 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2160 -bootclasspath options.
2161 (Invoking gjnih): New node.
2162 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2163 (TOOLNAME): New macro.
2164 (error): Replace hard-coded gcjh with TOOLNAME.
2165 (process_file): Likewise.
2167 (version): Likewise.
2168 (help): Likewise. Add help output for -force, -old, -trace and -J
2170 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2171 (options): Add force, old, trace and J fields.
2172 (main): Handle -force, -old, -trace and -J options.
2174 2005-05-03 Tom Tromey <tromey@redhat.com>
2177 * gjavah.c (main): Unlink output file on error.
2179 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2181 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2184 2005-04-29 Tom Tromey <tromey@redhat.com>
2186 * expr.c (build_jni_stub): Updated for change to build_block.
2188 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2190 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2192 2005-04-28 Andrew Haley <aph@redhat.com>
2195 * java-tree.h (soft_resolvepoolentry_node): New.
2196 (alloc_constant_fieldref): Declare.
2197 * expr.c (expand_java_field_op): Don't call class_init for
2198 accesses to static fields with indirect dispatch.
2199 * builtins.c (initialize_builtins): Add "__builtin_expect".
2200 * decl.c (soft_resolvepoolentry_node): New variable.
2201 (java_init_decl_processing): Create a decl for
2202 "_Jv_ResolvePoolEntry".
2203 * class.c (build_fieldref_cache_entry): New function.
2204 (build_static_field_ref): Rewrite for indirect dispatch.
2205 * constants.c (find_name_and_type_constant_tree): New function.
2206 (alloc_constant_fieldref): Likewise.
2207 (build_constants_constructor): Handle CONSTANT_Fieldref and
2208 CONSTANT_NameAndType.
2211 * expr.c (force_evaluation_order): Convert outgoing args smaller
2214 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2216 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2217 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2218 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2220 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2222 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2223 to `unlock_stream' with `unlock_std_streams'.
2225 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2227 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2228 instead of just expr.h.
2230 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2232 * gjavah.c (main): Unlock the stdio streams.
2233 * jcf-dump.c (main): Likewise.
2234 * jv-scan.c (main): Likewise.
2235 * jvgenmain.c (main): Likewise.
2237 2005-04-23 DJ Delorie <dj@redhat.com>
2239 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2240 parse.y: Adjust warning() callers.
2242 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2244 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2247 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2249 * gcj.texi: Fix typos and bogus example.
2251 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2253 * except.c: Fix a comment typo.
2255 2005-04-19 Julian Brown <julian@codesourcery.com>
2257 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2258 indirect dispatch with PIC.
2260 2005-04-18 Andrew Haley <aph@redhat.com>
2262 * java-except.h (struct eh_range.handler): Remove unused field.
2263 (handle_nested_ranges): Remove function declaration.
2264 (sanity_check_exception_range): Add function declaration.
2265 * verify.c (verify_jvm_instructions): Remove call to
2266 handle_nested_ranges.
2267 * verify-glue.c (verify_jvm_instructions_new): Call
2268 sanity_check_exception_range.
2269 * except.c (link_handler, eh_range_freelist, link_handler,
2270 handle_nested_ranges): Remove.
2271 (add_handler): Rewrite.
2272 (sanity_check_exception_range): New function.
2273 (print_ranges): New function.
2275 2005-04-13 Julian Brown <julian@codesourcery.com>
2277 * decl.c (finish_method): Give methods once-only linkage.
2279 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2281 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2283 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2285 * java-tree.h: Don't use PARAMS().
2287 2005-04-07 Per Bothner <per@bothner.com>
2289 * class.c (push_class): By default, suppress debug output.
2290 (finish_class): Enable debug output for classes we're emitting.
2292 2005-04-07 Andrew Haley <aph@redhat.com>
2294 * gcj.texi: Correct gcj-dbtool instructions.
2296 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2298 * gcj.texi: Fix a typo.
2299 * lang.c: Fix a comment typo.
2301 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2303 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2304 Mention recognized-and-ignored compatibility options.
2305 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2307 (About CNI): Add Memory allocation section.
2309 2005-04-01 Tom Tromey <tromey@redhat.com>
2311 * decl.c (java_init_decl_processing): Fix types of
2312 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2313 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2314 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2316 2005-03-31 Jan Hubicka <jh@suse.cz>
2318 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2319 * class.c: Include cgraph.h
2320 (make_local_functoin_alias): Mark aslias as needed.
2321 * resource.c: Include cgraph.h
2322 (compile_resource_data): Go via cgraph interface.
2324 2005-03-30 Ian Lance Taylor <ian@airs.com>
2326 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2328 2005-03-30 Tom Tromey <tromey@redhat.com>
2330 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2331 inner_class_info_index==0 or outer_class_info_index==0.
2333 2005-03-29 Tom Tromey <tromey@redhat.com>
2335 * gcj.texi (libgcj Runtime Properties): Document
2336 gnu.gcj.runtime.endorsed.dirs.
2338 2005-03-24 Anthony Green <green@redhat.com>
2340 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2343 2005-03-23 Tom Tromey <tromey@redhat.com>
2345 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2346 (parse_version): Use it.
2348 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2350 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2352 2005-03-18 Andrew Haley <aph@redhat.com>
2355 * decl.c (update_aliases): Don't update variables that are about
2357 (maybe_poplevels): Add comment.
2359 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2362 * jcf-parse.c (duplicate_class_warning): New function.
2363 (java_parse_file): Call duplicate_class_warning if
2364 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2365 (parse_zip_file_entries): Likewise. Also set
2366 CLASS_FROM_CURRENTLY_COMPILED_P.
2368 2005-03-16 Andrew Haley <aph@redhat.com>
2370 * expr.c (expand_java_arrayload): Don't generate a
2371 NullPointerException based on the type of the node.
2372 (build_java_array_length_access): Likewise.
2374 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2376 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2378 2005-03-11 Tom Tromey <tromey@redhat.com>
2380 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2381 (libgcj Runtime Properties): Document the default .db.
2383 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2386 * parse.y (checks_throws_clauses): Check exceptions list even when
2387 the base class does not come from a source file being compiled.
2388 (java_complete_lhs): Remove unused variable 'wfl'.
2390 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2393 * decl.c (finish_method): Emit _Jv_InitClass for private static
2394 methods inside inner classes as well.
2396 2005-03-08 Julian Brown <julian@codesourcery.com>
2397 * Revert patch from 2005-03-08 for causing bootstrap failure on
2400 2005-03-08 Julian Brown <julian@codesourcery.com>
2402 * decl.c (finish_method): Give methods once-only linkage.
2404 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2406 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2408 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2410 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2411 can_widen_reference_to if the C++ ABI is in use.
2412 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2413 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2414 type_isresolved, init_state, set_pc, state_get_pc,
2415 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2416 (verify_fail): Report the current PC from the verifier context.
2417 (free_state): Remove #if 0 block to enable this function.
2418 (free_verifier_context): Call free_state on state_list iterator
2419 values before freeing them.
2420 * expr.c (pop_type_0): Pop correct type for error message when stack
2421 contains a multi-word type.
2423 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2425 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2426 for known NULL array length access.
2428 2005-03-07 Tom Tromey <tromey@redhat.com>
2430 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2432 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2434 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2435 typeck.c: Update copyright.
2437 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2440 * xref.c, xref.h: Remove file.
2441 * Make-lang.in (java/xref.o): Remove.
2442 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2443 * lang.c (flag_emit_xref): Remove definition.
2444 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2445 * typeck.c (convert): Remove use of do_not_fold.
2446 * parse.y (do_not_fold): Remove definition.
2447 (parser grammar): Remove xref code.
2448 (maybe_create_class_interface_decl, create_class): Likewise.
2449 (register_fields, method_header, finish_method_declaration): Likewise.
2450 (declare_local_variables, source_end_java_method): Likewise.
2451 (java_complete_expand_classes): Do not set do_not_fold.
2452 (java_complete_expand_method): Remove xref code.
2453 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2454 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2455 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2456 (patch_synchronized_statement, patch_throw_statement): Likewise.
2457 (maybe_build_class_init_for_field): Likewise.
2459 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2461 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2462 instead of IS_NON_TYPE_CODE_CLASS.
2464 2005-03-04 Andrew Haley <aph@redhat.com>
2467 * class.c (set_method_index): Don't set method_index if it is
2469 (layout_class_method): Don't complain about "non-static method foo
2470 overrides static method" in the case of indirect dispatch.
2472 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2474 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2476 * Make-lang.in: Don't elide warnings in jcf-io.c.
2478 2005-03-01 Per Bothner <per@bothner.com>
2481 * check-init.c (wfl): Remove static.
2482 (final_assign_error, check_init): Replace calls to parse_error_context
2484 (check_init): Save, set, and restore input_location for each exp.
2486 2005-03-01 Per Bothner <per@bothner.com>
2488 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2489 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2490 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2492 2005-03-01 Per Bothner <per@bothner.com>
2494 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2496 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2499 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2502 2005-02-22 Tom Tromey <tromey@redhat.com>
2505 * verify-impl.c (EITHER): New define.
2506 (types_compatible): Handle it.
2507 (check_field_constant): Use it.
2509 2005-02-18 Tom Tromey <tromey@redhat.com>
2512 * verify-impl.c (types_equal): Fixed test.
2515 * verify-glue.c (vfy_class_has_field): New function.
2516 * verify.h (vfy_class_has_field): Declare.
2517 * verify-impl.c (check_field_constant): Added 'putfield'
2519 (verify_instructions_0): Updated.
2520 (types_equal): New function.
2522 2005-02-14 Tom Tromey <tromey@redhat.com>
2525 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2526 stack effect of multianewarray.
2528 2005-02-14 Andrew Haley <aph@redhat.com>
2531 * expr.c (expand_byte_code): Call promote_arguments().
2532 (promote_arguments): New function.
2533 * decl.c (check_local_unnamed_variable): Remove special case for
2535 (find_local_variable): Promote all boolean types to int
2536 when searching for local variable decls.
2538 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2540 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2541 parse-scan.y: Update copyright.
2543 2005-02-11 Per Bothner <per@bothner.com>
2546 * parse-scan.y (input_location): Remove variable.
2547 (main_input_filename): New - replaces input_filename, which isn't
2548 settable if USE_MAPPED_LOCATION.
2549 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2550 so we don't reference input_location or wfl_operator in that case.
2551 * jv-scan.c (expand_location): Remove - no longer used.
2552 (main): Set main_input_filename rather than input_filename.
2554 2005-02-09 Richard Henderson <rth@redhat.com>
2556 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2557 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2559 2005-02-08 Marcin Dalecki <martin@dalecki.de>
2561 * expr.c (add_type_assertion): Use the proper enumeration type,
2562 since this is what htab_find_slot() is expecting.
2564 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2566 * gcj.texi: Update copyright dates.
2568 2005-02-02 Tom Tromey <tromey@redhat.com>
2570 * gcj.texi (libgcj Runtime Properties): Default library_control
2573 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
2576 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2577 (modifiers) when square brackets are present in a declaration for
2579 * jv-scan.c (main): Set input_filename and input_line.
2581 2005-02-01 Tom Tromey <tromey@redhat.com>
2584 * gjavah.c (get_field_name): Don't override name for JNI header.
2586 2005-02-01 Roger Sayle <roger@eyesopen.com>
2588 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2589 of unsigned types using iushr and lushr JVM bytecodes.
2591 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2594 * gjavah.c (jni_print_float): Do not emit floating-point
2595 initialiser for a static final field.
2596 (jni_print_double): Likewise.
2598 2005-02-01 Mark Mitchell <mark@codesourcery.com>
2601 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2602 * gjavah.c (print_field_info): Mark static data members of
2603 floating-point type with "__extension__".
2605 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2607 * gjavah.c (print_field_info): Mark static data members of
2608 floating-point type with "__extension__".
2610 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2613 * parse.y (build_string_concatenation): Remove redundant if.
2614 (patch_conditional_expr): Attempt to patch_string() the condition
2615 of a ?: as well, in addition to its other operands.
2617 2005-01-25 Tom Tromey <tromey@redhat.com>
2619 * Make-lang.in (java/java-tree-inline.o): Removed.
2621 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
2624 * parse.y (patch_binop): Allow comparisons against NULL only
2625 if the other operand is of a reference type.
2627 2005-01-24 Tom Tromey <tromey@redhat.com>
2629 * java-tree.h (gcj_abi_version): Declare.
2630 * class.c (make_class_data): Push gcj_abi_version into "next"
2631 field. Renamed field.
2632 * decl.c (gcj_abi_version): New global.
2633 (parse_version): New function.
2634 (java_init_decl_processing): Call it. Renamed 'next' field.
2636 (GCJ_BINARYCOMPAT_ADDITION): New define.
2638 2005-01-24 Roger Sayle <roger@eyesopen.com>
2641 * jcf-write.c (generate_bytecode_insns): Conversions between
2642 integer types of the same precision shouldn't generate widening
2643 or narrowing conversion bytecodes.
2645 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2647 * java-except.h, java-tree.h: Remove unused prototypes.
2649 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
2652 * jcf-write.c (perform_relocations): Don't call memcpy if source
2653 and destination are the same.
2655 2005-01-17 Tom Tromey <tromey@redhat.com>
2657 * verify-impl.c (get_short): Sign extend.
2658 (get_int): Likewise.
2660 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
2662 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2665 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2667 * verify.c: Revert to the version before the BC-ABI merge.
2669 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2672 * check-init.c (check_init): Take care of references that do not
2673 have an explicit final variable declaration (e.g. array length
2674 access) for pre/post in/de-crement operators.
2676 2005-01-08 Mark Wielaard <mark@klomp.org>
2678 * parse.y (process_imports): Allocate (and free) original_name only
2679 when not already defined.
2680 * jcf-parse.c (read_class): Free results of find_class() and
2682 (java_parse_file): Keep pointer to head of file_list and free when
2683 done. Free result of lrealpath().
2685 2005-01-05 Tom Tromey <tromey@redhat.com>
2687 * gcj.texi (Standard Properties): java.ext.dirs is now used.
2689 2004-12-20 Andrew Haley <aph@redhat.com>
2691 * typeck.c: Use fold_convert for ints and booleans.
2693 2004-12-17 Andrew Haley <aph@redhat.com>
2696 * typeck.c (convert): Use a CONVERT_EXPR when converting to
2697 BOOLEAN_TYPE or CHAR_TYPE.
2698 (convert_to_boolean, convert_to_char) : Remove.
2699 * convert.h (convert_to_boolean, convert_to_char) : Remove.
2700 * expr.c (expand_load_internal): Do type conversion if type is not
2703 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
2706 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
2709 2004-12-07 Andrew Haley <aph@redhat.com>
2712 * jcf-parse.c (load_class): Remove sanity test for missing inner
2715 2004-12-06 Tom Tromey <tromey@redhat.com>
2717 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
2718 (java.uninstall): Likewise.
2719 (java.maintainer-clean): Likewise.
2720 (.INTERMEDIATE): Likewise.
2721 (java.install-man): Likewise.
2722 (gcj-dbtool.pod): New target.
2723 * gcj.texi (Code Generation): Document -findirect-dispatch.
2724 (libgcj Runtime Properties): Document
2725 gnu.gcj.precompiled.db.path.
2726 (Top): Link to "Invoking gcj-dbtool".
2728 2004-12-06 Tom Tromey <tromey@redhat.com>
2731 * java-tree.h (extract_field_decl): Declare.
2732 * parse.y (extract_field_decl): Renamed from
2733 strip_out_static_field_access_decl. No longer static.
2734 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
2736 2004-12-03 Tom Tromey <tromey@redhat.com>
2738 * lang.c (flag_new_verifier): Define.
2739 (java_post_options): Set flag_new_verifier if indirect dispatch
2741 * lang.opt (fnew-verifier): Removed.
2743 2004-12-03 Tom Tromey <tromey@redhat.com>
2746 * Make-lang.in (java.install-common): Only install transformed
2747 gcjh if gcj-cross exists.
2749 2004-12-03 Andrew Haley <aph@redhat.com>
2752 * except.c (link_handler): Patch 'outer' field of siblings of the
2753 range we're demoting.
2755 2004-12-03 Andrew Haley <aph@redhat.com>
2758 * class.c (layout_class_method): Don't fail to override a method
2759 simply because it has DECL_ARTIFICIAL set.
2761 2004-12-02 Tom Tromey <tromey@redhat.com>
2764 * parse.y (craft_constructor): Special case null_pointer_node.
2766 2004-12-02 Tom Tromey <tromey@redhat.com>
2769 * java-gimplify.c (java_gimplify_expr): Don't call
2770 SET_EXPR_LOCATION unless wrapped tree is an expression.
2772 2004-11-27 Per Bothner <per@bothner.com>
2774 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
2775 Fix fencepost error in 'i', which got executed one too many times.
2776 Also, fold memcpy into explicit loop, as originally intended.
2777 Also, free temporary 'buf' which otherwise leaks.
2779 2004-11-27 Per Bothner <per@bothner.com>
2781 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
2782 local static variables if not USE_MAPPED_LOCATION.
2784 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
2786 * class.c, decl.c, expr.c: Fix comment typos.
2788 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
2791 * decl.c (end_java_method): Call
2792 attach_init_test_initialization_flags on all the init_decls.
2793 * parse.y (attach_init_test_initialization_flags): Move to ...
2794 * expr.c (attach_init_test_initialization_flags): here and
2795 support BIND_EXPR also.
2796 * java-tree.h (attach_init_test_initialization_flags): Prototype.
2797 * jcf-parse.c (parse_class_file): Don't disable class init
2800 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
2802 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
2805 2004-11-24 Richard Henderson <rth@redhat.com>
2807 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
2808 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
2810 2004-11-24 Tom Tromey <tromey@redhat.com>
2812 * verify.c (defer_merging): Don't use C++-style comment.
2813 * verify.h (java_opcode): Added java_opcode_end.
2814 * class.c (build_class_ref): Remove C++ comment and old FIXME.
2816 * verify-impl.c (vfy_push_type): Removed bogus "return".
2817 (initialize_stack): Use vfy_alloc and vfy_free.
2818 (verify_instructions_0): Likewise.
2820 * Merged gcj-abi-2-dev-branch to trunk.
2822 2004-11-24 Andrew Haley <aph@redhat.com>
2824 * jcf-parse.c (parse_class_file): Set file_start_location.
2826 2004-11-10 Tom Tromey <tromey@redhat.com>
2828 * class.c (make_field_value): Don't call build_static_field_ref.
2829 (build_static_field_ref): Don't emit direct references when using
2832 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
2833 -verbose:class into man page synopsis.
2835 2004-11-09 Tom Tromey <tromey@redhat.com>
2837 * expr.c (build_java_arraystore_check): Still generate check if
2838 element type is itself an array.
2840 2004-11-08 Tom Tromey <tromey@redhat.com>
2842 * java-tree.h (soft_check_assignment_node): Removed.
2843 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
2844 * decl.c (java_init_decl_processing): Don't initialize
2845 soft_check_assignment_node.
2847 2004-11-05 Tom Tromey <tromey@redhat.com>
2849 * class.c (layout_class_methods): Don't add Miranda methods when
2850 using indirect dispatch.
2852 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
2854 * class.c (make_class_data): Call emit_assertion_table to set the
2855 'assertion_table' field.
2856 (build_signature_for_libgcj): Move here from expr.c.
2857 (add_assertion_table_entry): New function. Callback for assertion
2858 hashtable traversal.
2859 (emit_assertion_table): New. Take class argument, and generate
2860 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
2861 * decl.c (init_decl_processing): Define assertion_entry_type record.
2862 Push 'assertion_table' class field instead of 'verify'.
2863 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
2864 (type_assertion_hash): Include 'assertion_code' in hash.
2865 (add_type_assertion): Rewritten. Take class and assertion_code
2866 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
2867 (can_widen_reference_to): Use new add_type_assertion() arguments.
2868 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
2869 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
2870 (verify_identifier_node): Removed.
2871 (assertion_entry_type, assertion_table_type): New.
2872 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
2873 assertion code definitions.
2874 (struct type_assertion): Add assertion_code. Rename 'source_type' and
2875 'target_type' to 'op1' and 'op2'.
2876 (add_type_assertion): Declare.
2877 (lang_printable_name_wls): Remove unused definition.
2878 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
2879 to emit runtime assertion.
2880 (vfy_note_stack_type): Clean up non-C90 declarations.
2881 (vfy_note_local_type): Likewise.
2882 * verify.h (vfy_is_assignable_from): Declare.
2883 * verify-impl.c (is_assignable_from_slow): Remove unused function.
2884 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
2885 instead of is_assignable_from_slow().
2886 (types_compatible): Reinstate ref_compatible() call.
2888 2004-11-04 Tom Tromey <tromey@redhat.com>
2890 * class.c (build_static_field_ref): Reverted previous patch.
2892 * class.c (build_static_field_ref): Don't emit direct references
2893 when using indirect dispatch.
2895 2004-11-03 Tom Tromey <tromey@redhat.com>
2897 * expr.c (expand_java_arrayload): Set lhs_type_node.
2898 (expand_java_arraystore): Set rhs_type_node.
2900 2004-11-02 Tom Tromey <tromey@redhat.com>
2902 * jcf-parse.c (compute_class_name): Use filename length from zip
2903 directory, not strlen.
2905 * expr.c (expand_invoke): Mark new interface methods as abstract.
2907 2004-11-01 Tom Tromey <tromey@redhat.com>
2909 * verify-impl.c (push_jump): Removed check for uninitialized
2911 (push_exception_jump): Likewise.
2912 (handle_ret_insn): Likewise.
2913 (handle_jsr_insn): Likewise.
2914 (state_check_no_uninitialized_objects): Removed.
2916 * decl.c (check_local_unnamed_variable): Recognize
2917 promoted-to-int parameters when using the new verifier.
2918 * expr.c (expand_java_arraystore): Explicitly request array type
2919 when using new verifier.
2920 (expand_java_arrayload): Likewise.
2921 (invoke_build_dtable): Don't pass object_type_node as
2922 expression argument to build_java_indirect_ref.
2923 (build_java_check_indexed_type): Do nothing.
2924 (build_java_arraystore_check): Handle case where array doesn't
2926 (build_java_array_length_access): Likewise.
2927 (expand_invoke): Handle case where interface overrides a method
2929 (pop_type_0): Always succeed for reference types.
2930 (process_jvm_instruction): Don't pop a value in a dead
2932 (pop_arguments): Convert arguments to correct types.
2934 2004-10-29 Andrew Haley <aph@redhat.com>
2936 * jcf-parse.c (give_name_to_class): Remove line that was
2939 2004-10-29 Andrew Haley <aph@redhat.com>
2941 * jcf-parse.c (set_source_filename): Add code to build new sfname.
2943 2004-10-20 Andrew Haley <aph@redhat.com>
2945 * decl.c (end_java_method): Don't expand if flag_syntax_only.
2947 2004-10-26 Tom Tromey <tromey@redhat.com>
2949 * verify.h (vfy_notify_verified): Removed.
2950 * verify-glue.c (vfy_notify_verified): Removed.
2952 2004-10-26 Tom Tromey <tromey@redhat.com>
2954 * verify-impl.c (debug_print_state): Declare `i' before code.
2955 (merge_types): Modify `t' when it is null_type.
2957 2004-10-26 Tom Tromey <tromey@redhat.com>
2959 * verify-impl.c (type_print): Renamed from print. Now static and
2961 (debug_print_state): Use type_print.
2963 2004-10-25 Tom Tromey <tromey@redhat.com>
2965 * expr.c (build_invokeinterface): Compute correct offset for
2966 index into interface methods.
2968 2004-10-20 Tom Tromey <tromey@redhat.com>
2970 * java-tree.h (verify_jvm_instructions_new): Declare.
2972 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
2975 * verify-impl.c (verify_instructions): Correctly handle wide
2977 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
2978 (vfy_get_component_type): Strip pointer types.
2979 (vfy_find_class): Use get_type_from_signature. Strip pointer
2981 Include java-except.h.
2983 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2985 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
2986 vfy_push_type_t, set_variable, add_new_state, merge_into,
2987 handle_jsr_insn, branch_prepass, check_class_constant,
2988 check_wide_constant, get_one_type, compute_static_types,
2989 verify_instructions_0): Clean up C99 declarations after statements.
2991 2004-10-20 Tom Tromey <tromey@redhat.com>
2993 * verify-impl.c (merge_refs): Compare reference against iterator,
2996 * verify-glue.c (vfy_tag): Mask off resolved flag.
2998 2004-10-19 Tom Tromey <tromey@redhat.com>
3000 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
3001 (init_state_with_stack): Initialize `this_type' in state.
3002 (verify_method): Use debug_print.
3003 * verify-glue.c (vfy_is_primitive): Removed debugging print.
3004 (vfy_note_stack_depth): Reverted last patch.
3005 (vfy_note_stack_type): Note pointer to Object, not Object.
3006 (vfy_note_local_type): Likewise.
3008 * verify.h (vfy_note_instruction_seen): Declare.
3009 * verify-glue.c (verify_jvm_instructions_new): Set
3010 BCODE_EXCEPTION_TARGET on target instruction.
3011 (vfy_note_instruction_seen): New function.
3012 * verify-impl.c (FLAG_INSN_SEEN): New define.
3013 (verify_instructions_0): Set flag on instruction. Save state for
3015 (verify_instructions): Call vfy_note_instruction_seen.
3017 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
3018 (verify_jvm_instructions_new): Call method_init_exceptions,
3019 add_handler, and handle_nested_ranges.
3020 * verify-impl.c (verify_method): Return 1 on success.
3021 (verify_instructions_0): Save the state at PC=0.
3023 * verify-impl.c (init_type_from_class): Set is_resolved and
3024 ref_next on new ref_intersection.
3025 (init_type_from_string): Likewise.
3027 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
3029 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
3030 if flag_new_verifier is set.
3031 * java-tree.h (flag_new_verifier): Declare.
3032 * lang.opt (fnew-verifier): New option.
3033 * verify-impl.c: Work around namespace pollution by undef'ing
3035 (struct verifier_context): Make 'bytecode' const.
3036 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
3037 (types_compatible): For the BC-ABI, always consider reference types
3039 (check_class_constant): Use vfr->current_class.
3040 (check_constant): Likewise.
3041 (check_wide_constant): Likewise.
3042 (check_field_constant): Check for 'L' at start of type name.
3043 (get_one_type): Return pointer instead of type. Set type result in
3044 caller via passed type pointer.
3045 (compute_argument_types): Update to use new get_one_type arguments.
3046 (compute_return_type): Likewise.
3047 (make_verifier_context): New. Allocate and initialize 'vfr'.
3048 (free_verifier_context): New. Free 'vfr' and its contents.
3049 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
3050 and free_verifier_context.
3052 2004-10-15 Tom Tromey <tromey@redhat.com>
3054 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
3055 * verify.h (vfy_fail): Fixed formatting.
3057 * verify-impl.c (vfr): Fixed comment formatting.
3058 (collapse_type): New function.
3059 (verify_instructions): Notify compiler about type map.
3060 * verify.h (vfy_note_stack_depth): Updated.
3061 (vfy_note_stack_type): Likewise.
3062 (vfy_note_local_type): Likewise.
3063 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
3065 * verify-glue.c (vfy_note_stack_depth): Correctly size type
3066 state. Added `method' argument.
3067 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
3069 (vfy_note_local_type): New function.
3070 (vfy_unsuitable_type): Likewise.
3071 (vfy_return_address_type): Likewise.
3072 (vfy_null_type): Likewise.
3074 * verify.h (VFY_IN_GCC): Removed.
3075 (VFY_WANT_TYPEMAP): Removed.
3076 * verify-impl.c (verify_instructions_0): Removed useless "\".
3077 (struct state) <next>: Uncomment.
3079 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
3081 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
3084 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3086 * Make-lang.in (verify.o): Re-enabled this target.
3087 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
3088 (vfy_get_interface): Likewise.
3089 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
3090 * verify.h (verify_jvm_instructions_new): Declare.
3091 * verify-impl.c (free_state): Temporarily comment out unused
3094 2004-10-06 Tom Tromey <tromey@redhat.com>
3096 * java-tree.h (JV_STATE_READ): New enum value.
3098 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
3100 * verify.h: New file.
3102 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
3104 * verify-impl.c, verify-glue.c, verify.h: New files.
3105 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
3107 2004-09-24 Andrew Haley <aph@redhat.com>
3109 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
3110 for a slot if it's of pointer type.
3112 2004-09-14 Tom Tromey <tromey@redhat.com>
3114 * class.c (make_class_data): Correctly initialize "state" field.
3115 Initialize "engine" field.
3116 * decl.c (java_init_decl_processing): Add "engine" field.
3118 2004-09-10 Andrew Haley <aph@redhat.com>
3121 * expr.c (build_invokeinterface): Use fast method for interface
3123 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
3124 JTI_ITABLE_PTR_TYPE.
3125 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
3126 (emit_symbol_table): Add new arg, element_size.
3127 * decl.c (java_init_decl_processing): Initialize Class.itable.
3128 * class.c (GEN_TABLE): New macro.
3129 (gen_indirect_dispatch_tables): Use it. Add itable.
3130 (make_class_data): Add new arg for emit_symbol_table().
3132 (add_miranda_methods): Make sure search_class has been parsed.
3133 (emit_symbol_table): Add new arg, element_size.
3135 2004-09-06 Andrew Haley <aph@redhat.com>
3137 * verify.c (merge_types): Return Object for all merges of
3139 * expr.c (add_type_assertion): Don't generate assertions when
3140 source type is array of Object.
3142 2004-09-03 Andrew Haley <aph@redhat.com>
3144 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3146 * lang.c (java_post_options): Force flag_verify_invocations if
3147 we're not using indirect dispatch.
3149 * expr.c (pop_type_0): Move test for interfaces before call to
3150 can_widen_reference_to().
3151 (build_signature_for_libgcj): Remove generation of canonical array
3153 (add_type_assertion): Canonicalize both arrays.
3154 Don't assert that type X can be assigned to Object.
3155 Don't assert that type X an be assigned to type X.
3156 Don't assert that Object can be assigned to type X.
3157 (can_widen_reference_to): Warn whenever we generate an assertion.
3158 (process_jvm_instruction): Use throwable_type_node for the type of
3161 2004-09-01 Andrew Haley <aph@redhat.com>
3163 * decl.c (java_init_decl_processing): Change
3164 verify_identifier_node to "__verify".
3165 * expr.c (add_type_assertion): Use verify_identifier_node for name.
3166 * java-tree.h (verify_identifier_node): Change to "__verify".
3168 * expr.c (build_signature_for_libgcj): New function.
3169 (add_type_assertion): Use it to construct signatures for
3170 source_type and target_type.
3172 2004-08-27 Andrew Haley <aph@redhat.com>
3174 * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
3175 (verify_identifier_node): New.
3176 (TYPE_VERIFY_METHOD): New.
3177 (struct type_assertion): New type.
3178 * expr.c (type_assertion_eq): New function.
3179 (type_assertion_hash): New function.
3180 (add_type_assertion): New function.
3181 (can_widen_reference_to): Call add_type_assertion().
3182 * decl.c (java_init_decl_processing): Add verify_identifier_node.
3183 * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
3184 (finish_class): Output TYPE_VERIFY_METHOD (type).
3186 * decl.c (end_java_method): Nullify unused fields.
3188 2004-08-17 Andrew Haley <aph@redhat.com>
3190 * verify.c (defer_merging): Quieten.
3191 * jcf-parse.c (load_class): Only try to open a class file if it's
3192 java.lang.Object or if it's part of the current compilation.
3193 Check that the class we just tried to load is the class we just
3195 (java_parse_file): Set flag_verify_invocations off if we're
3196 compiling from .class.
3197 (parse_zip_file_entries): Abort if we try to read a dummy class.
3198 * expr.c (can_widen_reference_to): Quieten.
3199 (build_invokevirtual): Abort if we try to invokevirtual an
3201 (expand_invoke): Don't build a non-interface call to an interface.
3202 (build_instanceof): Don't do premature optimization if
3203 flag_verify_invocations is not set.
3204 * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
3206 (build_static_field_ref): Add correct type conversion for
3208 (add_miranda_methods): Disable generation of Miranda methods for
3210 (layout_class_method): Don't complain about non-static method
3211 overrides static method with dummy classes.
3213 2004-08-13 Tom Tromey <tromey@redhat.com>
3215 * class.c (build_static_field_ref): Re-enable atable lookups for
3218 * parse.y (strip_out_static_field_access_decl): Indentation fix.
3220 2004-08-11 Tom Tromey <tromey@redhat.com>
3222 * gcj.texi (libgcj Runtime Properties): Document new properties.
3224 2004-08-06 Andrew Haley <aph@redhat.com>
3226 * jcf-parse.c (load_class): Check that we really have loaded the
3227 class we're looking for.
3229 2004-07-19 Andrew Haley <aph@redhat.com>
3231 * verify.c (verify_jvm_instructions): Comment change only.
3233 * typeck.c (build_java_array_type): Add size field to array name.
3235 * java-tree.h (LOCAL_SLOT_P): New.
3236 (update_aliases): Add PC argument.
3237 (pushdecl_function_level): New function.
3239 * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
3240 MODIFY_EXPR, and SAVE_EXPR.
3241 (java_gimplify_modify_expr): New function.
3243 * expr.c (push_type_0): Call find_stack_slot() to create temporary.
3244 (expand_iinc): Pass PC to update_aliases().
3245 (STORE_INTERNAL): Likewise.
3246 (process_jvm_instruction): Likewise.
3248 * decl.c (base_decl_map): New variable.
3249 (uniq): New variable.
3250 (update_aliases): Rewrite with more thorough checking.
3251 (debug_variable_p): New function.
3252 (push_jvm_slot): Don't initialize local variable. Don't pushdecl.
3253 (check_local_named_variable): Delete whole function.
3254 (initialize_local_variable): New function.
3255 (check_local_unnamed_variable): Add checks and comments.
3256 (find_local_variable): Rewrite.
3257 (java_replace_reference): New function.
3258 (function_binding_level): New variable.
3259 (pushdecl_function_level): New function.
3260 (maybe_pushlevels): Set DECL_LOCAL_END_PC.
3261 (maybe_pushlevels): Call pushdecl() on each of the new decls.
3262 (start_java_method): Reset uniq. Create base_decl_map. Set
3263 function_binding_level.
3264 (end_java_method): Null unused fields to save memory.
3266 2004-06-29 Andrew Haley <aph@redhat.com>
3268 * except.c (expand_start_java_handler): Push a new binding level.
3269 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
3270 register_exception_range() to register where we'll do it.
3271 (expand_end_java_handler): Remove old bogus code. Replace with
3272 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
3273 the top of the expression we're curently building.
3274 (maybe_end_try): Delete.
3275 * decl.c (binding_level.exception_range): New field.
3276 (clear_binding_level): Add field exception_range. Reformat.
3277 (poplevel): Call expand_end_java_handler().
3278 (poplevel): Call java_add_stmt only if functionbody is false.
3279 (maybe_poplevels): Don't call maybe_end_try() from here.
3280 (end_java_method): Clear no longer used trees in function decl.
3281 (register_exception_range): New function.
3282 * java-tree.h (register_exception_range, struct eh_range): Declare.
3284 2004-06-22 Andrew Haley <aph@redhat.com>
3286 * class.c (gen_indirect_dispatch_tables): Set the DECL_OWNER of
3288 * check-init.c (get_variable_decl): Teach check-init about
3289 FIELD_DECLs addressed via the otable.
3290 * jcf-parse.c (load_class): Check CLASS_LOADED_P, not
3293 2004-05-28 Andrew Haley <aph@redhat.com>
3295 * jcf-parse.c (load_class): Don't try to read a class that we've
3298 * expr.c (build_invokeinterface): Use the old-fashioned way of
3299 doing indirect dispatch: look up interfaces by name.
3300 * java-tree.h (enum java_tree_index): Add
3301 JTI_SOFT_LOOKUPINTERFACEMETHODBYNAME_NODE
3302 * decl.c (java_init_decl_processing): Add
3303 soft_lookupinterfacemethodbyname_node.
3305 * gjavah.c (print_method_info): Final methods have vtable entries,
3306 so gjavah needs to output them.
3307 * class.c (layout_class_method): Generate vtable entries for final
3309 * parse.y (invocation_mode): Use INVOKE_VIRTUAL for indirect
3310 dispatch, even if a method is final.
3312 2004-05-25 Andrew Haley <aph@redhat.com>
3314 * class.c (build_symbol_entry): Convert the names of constructors
3315 to init_identifier_node when generating an entry for the indirect
3318 * expr.c (build_known_method_ref): Generate indirect calls for
3319 all methods marked DECL_EXTERNAL or TREE_PUBLIC.
3321 2004-05-24 Andrew Haley <aph@redhat.com>
3323 * expr.c (build_known_method_ref): Make sure ARRAY_REF access to
3324 atable element is of the right type.
3326 * class.c (build_static_field_ref): Cast pointer to correct type
3329 2004-04-20 Bryce McKinlay <mckinlay@redhat.com>
3331 * Merged with HEAD as of 20040514. Diff against
3332 gcj-abi-2-merge-20040514.
3334 2004-04-16 Andrew Haley <aph@redhat.com>
3336 * verify.c (check_pending_block): Disable subroutine checks.
3337 (defer_merging): New function.
3338 (merge_types): If types are dummy, use defer_merging to combine them.
3339 (verify_jvm_instructions): If invocation is invokeinterface and
3340 target is dummy, assume target really is an interface.
3342 * parse.y (patch_invoke): Break out call to java_create_object.
3344 * lang.c (flag_verify_invocations): New.
3346 * jcf-parse.c (load_class): If we've already failed to load a
3347 class, don't try again.
3348 (load_class): If we can't find a .class file, don't fail, but emit
3350 (parse_class_file): Don't act on dummy methods.
3352 * java-tree.h (flag_verify_invocations): New.
3354 (lang_type.dummy_class): New field.
3355 (java_create_object): New function.
3356 (METHOD_DUMMY): New.
3358 * expr.c (build_field_ref): Widen field offset.
3359 (pop_type_0): If the type in stack_type_map is a TREE_LIST, check
3360 that each of its elements is compatible with the one we're
3362 (pop_type_0): Issue a warning to say that we need to generate a
3364 (java_create_object): New function.
3365 (build_field_ref): Only generate hard refs if we're not using
3367 (expand_java_field_op): If we're using !verify_invocations and we
3368 see a missing field, generate a decl for it.
3370 (expand_invoke): If a class doesn't have the method we seek and
3371 we're using !flag_verify_invocations, generate a decl for the
3374 (build_known_method_ref): Always use indirect dispatch via the
3375 atable for static methods.
3377 (expand_java_NEW): Break out object creation into new function,
3380 (can_widen_reference_to): Issue a warning to say that we need to
3381 generate a runtime check.
3383 * class.c (set_super_info): Inherit TYPE_DUMMY from sureclass.
3384 (make_method_value): Also use index for interfaces.
3385 (make_class_data): Skip dummy field for inherited data.
3386 Don't build method array for dummy methods.
3387 Set size_in_byte to -1 when using inirect dispatch
3388 Don't build a hard class ref if we don't have a hard ref to our
3389 superclass, or if we're using inirect dispatch.
3390 Null out dispatch tables.
3392 (layout_class_method): Don't complain about non-static method
3393 overrides static method is method is artificial.
3395 (build_static_field_ref): Disable atable references to static
3396 fields for the time being.
3398 (layout_class_methods): Check for CLASS_INTERFACE as
3399 well as CLASS_ABSTRACT.
3401 2004-11-24 Steven Bosscher <stevenb@suse.de>
3403 * class.c (make_class_data): Don't check flag_inline_functions.
3404 * lang.c (flag_really_inline): Remove unused flag.
3405 (java_handle_option): Don't set it here. Remove special handling
3406 of flag_inline_functions for Java.
3407 (java_init): Don't set flag_inline_trees here. Already done...
3408 (java_post_options): ...here. Don't clear flag_inline_functions.
3410 2004-11-24 Steven Bosscher <stevenb@suse.de>
3412 * java-gimplify.c (java_gimplify_labeled_block_expr): New function.
3413 (java_gimplify_exit_block_expr): New function.
3414 (java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
3416 * java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
3417 (EXIT_BLOCK_EXPR): Likewise.
3418 * java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
3419 (LABELED_BLOCK_BODY): Likewise.
3420 (EXIT_BLOCK_LABELED_BLOCK): Likewise.
3421 * jcf-write.c (generate_bytecode_insns): Don't handle the unused
3422 EXIT_BLOCK_RETURN operand. Use EXIT_BLOCK_LABELED_BLOCK instead of
3424 * lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
3425 (java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
3426 EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND. Don't handle the
3427 second operand of EXIT_BLOCK_EXPR.
3428 * parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
3430 (build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
3432 2004-11-23 Ben Elliston <bje@au.ibm.com>
3434 * xref.h (xref_flag_value): Remove.
3435 (xref_set_data, xref_get_data): Likewise.
3436 (xref_set_current_fp): Likewise.
3437 (XREF_NONE): Likewise.
3438 (XREF_GET_DATA): Likewise.
3439 * xref.c (xref_flag_value): Remove.
3440 (xref_set_data, xref_get_data): Likewise.
3441 (xref_set_current_fp): Likewise.
3443 2004-11-23 Ben Elliston <bje@au.ibm.com>
3445 * gjavah.c (output_directory): Make static.
3446 (temp_directory): Likewise.
3448 2004-11-15 Tom Tromey <tromey@redhat.com>
3450 * decl.c (instn_ptr_type_node): Removed.
3451 (lineNumbers_ptr_type_node): Removed.
3452 (jint_type): Removed.
3453 (jint_ptr_type): Removed.
3455 2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
3458 * check-init.c (check_init): Ignore DECL_EXPR.
3459 * expr.c (always_initialize_class_p): Reenable.
3460 (build_class_init): Use a variable to store the decl. Also use
3461 boolean_false_node instead of integer_zero_node.
3462 * parse.y (attach_init_test_initialization_flags): Add a decl_expr
3465 2004-11-08 Tom Tromey <tromey@redhat.com>
3468 * gjavah.c (HANDLE_END_FIELD): Call print_field_info when
3469 generating a JNI header.
3470 (print_field_info): Handle JNI headers.
3471 (jni_print_float): Likewise.
3472 (jni_print_double): Likewise.
3474 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
3476 * decl.c (end_java_method): Remove duplicated code.
3478 2004-11-06 Zack Weinberg <zack@codesourcery.com>
3479 Gerald Pfeifer <gerald@pfeifer.com>
3481 * lex.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
3484 2004-11-02 Bryce McKinlay <mckinlay@redhat.com>
3487 * class.c: Reinstate 2004-08-18 patch.
3488 (make_local_function_alias): Don't create an alias for extern (native)
3491 2004-10-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3494 * class.c (make_local_function_alias): Revert 2004-08-18 change.
3495 (make_method_value): Likewise.
3497 2004-10-21 Andrew Haley <aph@redhat.com>
3500 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3502 2004-10-20 Andrew Haley <aph@redhat.com>
3504 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3505 Remove duplicated code block.
3507 2004-10-18 Steven Bosscher <stevenb@suse.de>
3509 * Make-lang.in (java/parse.o-warn, java/parse-scan.o-warn):
3510 New rules to work around old Bison warnings.
3512 2004-10-17 Steven Bosscher <stevenb@suse.de>
3514 * class.c (ident_subst): Always alloca buffer.
3515 * java-opcodes.h (LAST_AND_UNUSED_JAVA_OPCODE): Add this dummy
3516 opcode after including javaop.def.
3517 * jcf-dump.c (CHECK_PC_IN_RANGE): Return 0 from the arm of the
3518 conditional expression that exits, to avoid warnings.
3519 * verify.c (CHECK_PC_IN_RANGE): Mark the __GNUC__ definition as
3520 a user of an extension.
3521 * win32-host.c: Move check down to have non-empty file when
3522 WIN32 is not defined.
3524 * Make-lang.in (java-warn): Add STRICT_WARN.
3525 (java/jcf-io.o-warn): Don't have Werror for this file.
3526 * jcf-io.c (caching_stat): Add FIXME for non-POSIX scandir use.
3528 2004-10-16 Hans-Peter Nilsson <hp@bitrange.com>
3530 * expr.c (expr_add_location): Move declaration to before all
3532 * parse.y (java_expand_classes): Ditto.
3533 * lex.c (java_peek_unicode): Ditto.
3535 2004-10-16 Ranjit Mathew <rmathew@hotmail.com>
3537 * check-init.c: Use %<, %> and %q for quoting in diagnostics,
3538 if possible, else convert `foo' to 'foo'.
3539 * class.c: Likewise.
3542 * jcf-io.c: Likewise.
3543 * jcf-parse.c: Likewise.
3546 * parse.h: Likewise.
3548 2004-10-16 Ranjit Mathew <rmathew@hotmail.com>
3550 * parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and
3551 rename parameter 'msg' to 'msgid' in function declaration.
3552 (issue_warning_error_from_context): Likewise.
3553 (yyerror): Rename parameter 'msg' to 'msgid'.
3554 (all over): Use new quoting style for diagnostics.
3556 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3558 * boehm.c, builtins.c, java-except.h, jcf-io.c, jcf-path.c,
3559 jcf.h, lang-specs.h, lex.c, lex.h, resource.c, win32-host.c:
3562 2004-10-14 Matt Austern <austern@apple.com>
3564 * lang.c (java_tree_inlining_walk_subtrees): Last arg is struct
3567 2004-10-13 Tom Tromey <tromey@redhat.com>
3570 * lang.opt (--extdirs): Document.
3571 * jvspec.c (lang_specific_driver): Recognize -encoding and
3574 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
3576 * parse.y (issue_warning_error_from_context): Use va_list *
3577 instead of va_list parameter.
3578 (parse_error_context): Update call.
3579 (parse_warning_context): Likewise.
3581 2004-10-05 Zack Weinberg <zack@codesourcery.com>
3583 * parse.y, parse-scan.y: Add list of diagnostic messages to
3584 insulate translation template from version of yacc/bison used
3585 to compile the grammar.
3587 2004-10-05 Ranjit Mathew <rmathew@hotmail.com>
3589 Prepare for %q, %< and %> in diagnostic message strings.
3590 * java-tree.h (parse_error_context): remove ATTRIBUTE_PRINTF_2.
3591 Name second parameter 'msgid'.
3592 * parse.y: Additionally include pretty-print.h and diagnostic.h.
3593 (issue_warning_error_from_context): Use pretty-printer functions
3594 instead of vsprintf for constructing formatted messages. Rename
3595 parameter 'msg' to 'msgid'.
3596 (parse_error_context): Rename parameter 'msg' to 'msgid'.
3597 (parse_warning_context): Likewise.
3599 2004-10-05 Andrew Haley <aph@redhat.com>
3602 * jcf-parse.c (parse_zip_file_entries): If a class has a
3603 superclass and a TYPE_SIZE of zero, lay it out.
3605 2004-09-30 Andrew Haley <aph@redhat.com>
3608 * jcf-parse.c (compute_class_name): Rewrite.
3610 2004-10-01 Jan Hubicka <jh@suse.cz>
3612 * java.c (java_expand_body): Update call of tree_rest_of_compilation.
3614 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
3616 * lex.c: Fix a comment typo.
3618 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
3620 * java-tree.h: Fix a comment typo.
3622 2004-09-30 Per Bothner <per@bothner.com>
3624 Simplify lexer. Implement --enable-mapped-location support.
3625 * jcf-parse.c (parse_class_file): Use linemap_line_start.
3626 (parse_source_file_1): Pass filename as extra parameter, so we can call
3627 linemap_add and set input_location here, rather than in both callers.
3628 (read_class): Pass copied filename to parse_source_file_1.
3629 Don't initialize wfl_operator - only needed for source compilation.
3630 (read_class, jcf_parse): Call linemap_add with LC_LEAVE.
3631 * lex.h: Remove a bunch of debugging macros.
3632 * lex.h (struct_java_line, struct java_error): Remove types.
3633 (JAVA_COLUMN_DELTA): Remove - use java_lexer.next_colums instead.
3634 (struct java_lc_s): Remove prev_col field.
3635 (struct java_lexer): New fields next_unicode, next_columns, and
3636 avail_unicode. New position field, and maybe token_start field.
3637 Don't need hit_eof field - use next_unicode == -1 instead.
3638 (JAVA_INTEGERAL_RANGE_ERROR): Rename to JAVA_RANGE_ERROR.
3639 (JAVA_RANGE_ERROR, JAVA_FLOAT_ANGE_ERROR): Update accordingly.
3640 * parse.h: Various changes for USE_MAPPED_LOCATION.
3641 (EXPR_WFL_EMIT_LINE_NOTE): XXX
3642 (BUILD_EXPR_WFL, EXPR_WFL_ADD_COL): Remove no-longer-used macros.
3643 (struct parser_ctxt): New file_start_location field.
3644 Remove p_line, c_line fields since we no longer save lines.
3645 Remove elc, lineno, and current_jcf fields - no longer used.
3646 * parse.y: Updates for USE_MAPPED_LOCATION and new lexer.
3647 Don't use EXPR_WFL_ADD_COL since that isn't trivial with
3648 source_location and is probably not needed anymore anyway.
3649 Use new expr_add_Location function.
3650 (SET_EXPR_LOCATION_FROM_TOKEN): New convenience macro.
3651 (java_pop_parser_context): Minor cleanup.
3652 (java_parser_context_save_global, java_parser_context_restore_global,
3653 java_pop_parser_context): Save/restore input_location as a unit.
3654 (issue_warning_error_from_context): If USE_MAPPED_LOCATION take
3655 a source_location instead of a wfl context node.
3656 (check_class_interface_creation): input_filename is not addressable.
3657 (create_artificial_method): Calling java_parser_context_save_global
3658 and java_parser_context_restore_global is overkill. Instead,
3659 temporarily set input_location from class decl.
3660 (java_layout_seen_class_methods): Set input_location from method decl.
3661 (fix_constructors): Make more robust if no EXPR_WITH_FILE_LOCATION.
3662 (finish_loop_body): Likewise.
3663 * lex.c: Updates for USE_MAPPED_LOCATION. Use build_unknwon_wfl.
3664 (java_sprint_unicode): Take a character, not index in line.
3665 (java_sneak_uncode): Replaced by java_peek_unicode.
3666 (java_unget_unicode): No longer used.
3667 (java_allocate_new_line. java_store_unicode): Removed, since we
3668 no longer remember "lines".
3669 (java_new_lexer): Update for new data structures.
3670 (java_read_char): Move unget_value checking to java_read_unicode.
3671 (java_get_unicode, java_peek_unicode, java_next_unicode): New more
3672 efficient functions that are used directly when lexing.
3673 (java_read_unicode_collapsing_terminators): No longer needed.
3674 (java_parse_end_comment, java_parse_escape_sequence, do_java_lex):
3675 Re-organize to use java_peek_unicode to avoid java_unget_unicode.
3676 (java_parse_escape_sequence): Rewrite to be simpler / more efficient.
3677 (do_java_lex): Lots of movings around to avoid java_unget_unicode,
3678 combine switch branches, and test for common token kinds earlier.
3679 (java_lex_error): Rewrite.
3680 * jv-scan.c (expand_location): New function, copied from tree.c.
3681 (main): Set ctxp->filename instead of setting input_filename directly.
3683 2004-09-30 Per Bothner <per@bothner.com>
3685 More cleanup for --enable-mapped-location.
3686 * class.c (push_class): If USE_MAPPED_LOCATION don't set
3687 input_location here. Instead do it in give_name_to_class.
3688 (build_class_ref): Set DECL_ARTIFICIAL, for the sake of dwarf2out.
3689 * expr.c (expand_byte_code): Call linemap_line_start.
3690 * expr.c (build_expr_wfl): If USE_MAPPED_LOCATION, change final
3691 parameters to a source_location. Don't need EXPR_WFL_FILENAME_NODE.
3692 (expr_add_location): New function, if USE_MAPPED_LOCATION.
3693 * class.c (maybe_layout_super_class): Adjust build_expr_wfl call
3694 to USE_MAPPED_LOCATION case.
3696 * java-tree.h (JAVA_FILE_P, ZIP_FILE_P): Remove unused macros.
3697 * jcf-parse.c (java_parse_file): Don't set input_filename.
3698 Use IS_A_COMMAND_LINE_FILENAME_P to check for duplicate filenames.
3699 Create a list of TRANSLATION_UNIT_DECL.
3700 (current_file_list): Is now a TRANSLATION_UNIT_DECL chain. The
3701 reason is so we can set a DECL_SOURCE_LOCATION for each file.
3702 (java_parse_file): Don't set unused ZIP_FILE_P, JAVA_FILE_P..
3703 Create line-map LC_ENTER/LC_LEAVE entries for archive itself.
3704 (file_start_location): New static.
3705 (set_source_filename): Avoid extra access to input_filename macro.
3706 Concatenate new name with class's package prefix.
3707 (set_source_filename, give_name_to_class): Update.
3708 (give_name_to_class): Set class's "line 0" input_location here.
3709 (parse_class_file): Set input_location as a unit.
3711 * jcf-parse.c (load_class): Sanity test if missing inner class file.
3713 2004-09-29 Per Bothner <per@bothner.com>
3715 * java-tree.h: Redefine some macros and add some declaration
3716 to handle the USE_MAPPED_LOCATION case.
3717 * parse.h (EXPR_WFL_QUALIFICATION): Use operand 1, not 2.
3718 * java-tree.h (EXPR_WFL_FILENAME_NODE): Use operand 2, not 1.
3719 * java-tree.def (EXPR_WITH_FILE_LOCATION): Only need two operands in
3720 USE_MAPPED_LOCATION case, since EXPR_WFL_FILENAME_NODE is gone.
3722 * check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
3723 * decl.c (finish_method, java_add_stmt): Likewise.
3724 * java-gimplify.c (java-gimplify.c): Likewise.
3725 * jcf-write.c (generate_bytecode_insns): Likewise.
3726 * lang.c (java_post_options): Likewise - call linemap_add.
3728 2004-09-29 Andrew Haley <aph@redhat.com>
3731 * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
3732 result of TRUNC_MOD_EXPR.
3733 (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
3734 * decl.c (java_init_decl_processing): Mark
3735 soft_lookupinterfacemethod_node and soft_instanceof_node pure.
3737 2004-09-28 Tom Tromey <tromey@redhat.com>
3740 * class.c (add_miranda_methods): Load superinterface if not
3743 2004-09-28 Andrew Haley <aph@redhat.com>
3746 * jcf-parse.c (load_class): Don't try to read a class that we've
3749 2004-09-28 Andrew Haley <aph@redhat.com>
3751 * jcf-parse.c (load_class): Back out previous broken patch.
3753 2004-09-28 Andrew Haley <aph@redhat.com>
3756 * jcf-parse.c (load_class): Don't try to read a class that we've
3758 Check that we really did read the right class.
3760 2004-09-25 Tom Tromey <tromey@redhat.com>
3763 * parse.y (create_artificial_method): Use add_method_1.
3765 2004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3767 * expr.c, jcf-dump.c, parse-scan.y, parse.y: Fix
3769 * gcj.texi: Fix typos.
3771 2004-09-24 Tom Tromey <tromey@redhat.com>
3774 * parse.y (class_instance_creation_expression): Set `$$' to NULL
3775 in error parts of rule.
3776 (unary_expression): Don't call error_if_numeric_overflow when $1
3779 2004-09-24 Tom Tromey <tromey@redhat.com>
3782 * parse.y (resolve_qualified_expression_name): Set
3783 CAN_COMPLETE_NORMALLY on first call when chaining static calls.
3784 * expr.c (force_evaluation_order): Check for empty argument list
3785 after stripping COMPOUND_EXPR.
3787 2004-09-23 Andrew Haley <aph@redhat.com>
3790 * parse.y (java_complete_lhs): Call patch_string() on Operand 1 of
3793 2004-09-23 Tom Tromey <tromey@redhat.com>
3796 * java-gimplify.c (java_gimplify_expr) <SAVE_EXPR>: Ignore case
3797 where operand is null.
3799 2004-09-23 Tom Tromey <tromey@redhat.com>
3802 * parse.y (not_accessible_p): Allow access to protected members
3803 even when class is not static.
3805 2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
3807 * Make-lang.in: Revert the gcc-none.o change.
3809 2004-09-22 Nathan Sidwell <nathan@codesourcery.com>
3811 * parse.y (patch_anonymous_class): VEC_space returns true if there
3814 2004-09-21 Matt Austern <austern@apple.com>
3817 * gjavah.c (free_method_name_list): Fix function definition so
3818 it's a proper C prototype.
3820 2004-09-21 Tom Tromey <tromey@redhat.com>
3823 * gjavah.c (free_method_name_list): New method.
3826 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
3827 Zack Weinberg <zack@codesourcery.com>
3829 * java-tree.def: Use tree_code_class enumeration constants
3830 instead of code letters.
3831 * java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
3832 new tree-class enumeration constants.
3834 2004-09-13 Tom Tromey <tromey@redhat.com>
3837 * class.c (layout_class_method): Put synthetic methods into the
3840 2004-09-11 Andrew Pinski <apinski@apple.com>
3842 * Make-lang.in (java/ggc-none.c): Change dependency
3843 for ggc.h into $(GGC_H).
3845 2004-09-11 Mohan Embar <gnustuff@thisiscool.com>
3847 * Make-lang.in (java/win32-host.o): Add dependency on
3849 * win32-host.c: Add includes for coretypes.h, jcf.h
3851 2004-09-11 Mohan Embar <gnustuff@thisiscool.com>
3853 * Make-lang.in (GCJH_OBJS): Change dependency from
3854 ggc-none.o to java/ggc-none.o
3855 (JCFDUMP_OBJS): Likewise.
3856 (java/ggc-none.o): New target.
3858 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
3860 * boehm.c (get_boehm_type_descriptor): Adjust build_int_cst calls.
3861 * class.c (build_utf8_ref, build_static_field_ref,
3862 make_field_value, make_method_value, get_dispatch_table,
3863 make_class_data, emit_symbol_table, emit_catch_table): Likewise.
3864 * constants.c (get_tag_node, build_ref_from_constant_pool,
3865 build_constants_constructor): Likewise.
3866 * decl.c (java_init_decl_processing): Likewise.
3867 * expr.c (build_java_array_length_access, build_newarray,
3868 expand_java_multianewarray, expand_java_pushc, expand_iinc,
3869 build_java_binop, build_field_ref, expand_java_add_case,
3870 expand_java_call, build_known_method_ref, build_invokevirtual,
3871 build_invokeinterface, build_jni_stub): Likewise.
3872 * java-gimplify.c (java_gimplify_new_array_init): Likewise.
3873 * jcf-parse.c (get_constant): Likewise.
3874 * lex.c (do_java_lex): Likewise.
3875 * parse.y (patch_binop, patch_unaryop, patch_cast,
3876 build_newarray_node, patch_newarray): Likewise.
3877 * resource.c (compile_resource_data): Likewise.
3878 * typeck.c (build_prim_array_type): Likewise.
3880 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
3882 * decl.c (java_init_decl_processing): Adjust
3883 initialize_sizetypes call.
3885 2004-08-23 Nathan Sidwell <nathan@codesourcery.com>
3887 * jv-scan.c (fancy_abort): Add.
3889 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
3891 * expr.c (build_java_arrayaccess): Use convert to change
3894 2004-08-19 Bryce McKinlay <mckinlay@redhat.com>
3896 * class.c (make_local_function_alias): Allocate extra space for 'L'
3897 in name buffer. Reported by Thomas Neumann.
3899 2004-08-19 Nathan Sidwell <nathan@codesourcery.com>
3901 * parse.h (JAVA_RADIX10_FLAG): Rename to ...
3902 (JAVA_NOT_RADIX10_FLAG): ... here. Invert meaning.
3903 * lex.c (do_java_lex): Adjust.
3904 (error_if_numeric_overflow): Likewise.
3906 2004-08-18 Andrew Pinski <apinski@apple.com>
3908 * class.c (make_local_function_alias): Only make a new decl if we
3909 support alias attribute on all decls.
3911 2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
3913 * class.c (make_local_function_alias): New function. Create local
3914 alias for public method DECL.
3915 (make_method_value): Use make_local_function_alias.
3916 * parse.y (craft_constructor): Don't special-case anonymous classes.
3917 Always set ctor_name to init_identifier_node.
3918 (lookup_method_invoke): Call layout_class_method when creating
3919 anonymous class constructor.
3921 2004-08-18 Richard Henderson <rth@redhat.com>
3923 * java-gimplify.c (java_gimplify_expr): Move '2' handling into
3924 default case. Treat '<' similarly. Update for
3925 is_gimple_formal_tmp_var name change.
3927 2004-08-17 Andrew Haley <aph@redhat.com>
3929 * lang.c (lang_printable_name): Obey verbose flag.
3930 * parse.y (constructor_circularity_msg): Set VERBOSE arg for
3931 lang_printable_name().
3932 (verify_constructor_circularity, get_printable_method_name,
3933 check_abstract_method_definitions, java_check_regular_methods,
3934 java_check_abstract_methods, check_inner_class_access,
3935 fix_constructors, patch_method_invocation, patch_return):
3937 * expr.c (pop_type_0): Likewise.
3939 * java-tree.h (lang_printable_name_wls): Delete.
3941 2004-08-16 Tom Tromey <tromey@redhat.com>
3944 * parse.y (primary): Changed for initialized and uninitialized
3946 (array_access): Handle array_creation_initialized.
3947 (array_creation_expression): Split into
3948 array_creation_initialized and array_creation_uninitialized.
3950 2004-08-16 Andrew Haley <aph@redhat.com>
3952 * jcf-write.c (find_constant_index): Canonicalize NaNs when
3953 generating bytecode.
3955 2004-08-16 Elliot Lee <sopwith@redhat.com>
3958 * jcf-parse.c (java_parse_file): Handle filenames with embedded
3959 spaces, and quoted filelists.
3961 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
3963 * boehm.c (get_boehm_type_descriptor): Use build_int_cst.
3964 * class.c (build_utf8_ref, build_static_field_ref,
3965 make_field_value, make_method_value, get_dispatch_table,
3966 make_class_data, emit_symbol_table, emit_catch_table): Likewise.
3967 * constants.c (get_tag_node, build_ref_from_constant_pool,
3968 build_constants_constructor): Likewise.
3969 * decl.c (java_init_decl_processing): Likewise.
3970 * expr.c (build_java_array_length_access, build_newarray,
3971 expand_java_multianewarray, expand_java_pushc, expand_iinc,
3972 build_java_binop, build_field_ref, expand_java_add_case,
3973 expand_java_call, build_known_method_ref, build_invokevirtual,
3974 build_invokeinterface, build_jni_stub): Likewise.
3975 * java-gimplify.c (java_gimplify_new_array_init): Likewise.
3976 * jcf-parse.c (get_constant): Likewise.
3977 * lex.c (do_java_lex): Likewise.
3978 * parse.y (patch_binop, patch_unaryop, patch_cast,
3979 build_null_of_type, patch_newarray): Likewise.
3980 * resource.c (compile_resource_data): Likewise.
3981 * typeck.c (build_prim_array_type): Likewise.
3983 2004-08-10 Bryce McKinlay <mckinlay@redhat.com>
3985 * java-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var.
3986 Don't create BLOCK here or call java_gimplify_block.
3988 2004-08-09 H.J. Lu <hongjiu.lu@intel.com>
3990 * java-tree.h (flag_deprecated): Removed.
3991 * lang.opt (Wdeprecated): Use existing Var(warn_deprecated).
3992 * parse.y (check_deprecation): Check warn_deprecated instead of
3995 2004-08-06 Kelley Cook <kcook@gcc.gnu.org>
3997 * lang.c (flag_emit_class_files, flag_filelist_file, flag_redundant,
3998 flag_use_divide_subroutine, flag_use_boehm_gc, flag_store_check,
3999 flag_hash_synchronization, flag_assert, flag_jni, flag_newer,
4000 flag_check_references, flag_extraneous_semicolon, flag_deprecated,
4001 flag_force_classes_archive_check, flag_optimize_sci,
4002 flag_indirect_dispatch): Remove explicit declarations.
4003 * lang.opt: Add implicit declare/define/assign. Remove obsolete
4006 2004-08-05 Michael Chastain <mec.gnu@mindspring.com>
4009 * Make-lang.in (java.install-man): Install from either build
4010 tree or source tree, whichever has the file first.
4012 2004-08-05 Nathan Sidwell <nathan@codesourcery.com>
4014 * jcf-parse.c (get_constant): Adjust force_fit_type call.
4015 * lex.h (SET_LVAL_NODE_TYPE): Remove.
4016 * lex.c (java_perform_atof): Use SET_LVAL_NODE directly.
4017 (do_java_lex): Likewise. Adjust force_fit_type call.
4019 2004-08-04 Roger Sayle <roger@eyesopen.com>
4020 Andrew Haley <aph@redhat.com>
4022 * typeck.c (convert_ieee_real_to_integer): Call fold on the range
4023 checking trees as they're being built.
4024 (convert): Call convert_ieee_real_to_integer if we're
4025 converting a constant, even if we're writing a class file.
4027 2004-08-02 Bryce McKinlay <mckinlay@redhat.com>
4030 * parse.y (fold_constant_for_init): Call resolve_field_access