1 2007-04-03 Andrew Haley <aph@redhat.com>
3 * jvgenmain.c (main): Change main to use class$, not class$$.
4 (do_mangle_classname): Likewise.
5 * class.c (hide): New function.
6 (add_field): Hide everything that shouldn't be visible outside a
8 (build_static_class_ref): Likewise.
9 (build_classdollar_field): Likewise.
10 (make_class_data): Likewise.
11 (layout_class_method): Likewise.
12 * expr.c (special_method_p): New function.
14 * class.c (push_class): Don't bogusly guess the source filename.
15 * jcf-parse.c (give_name_to_class): Don't set input_location from
16 DECL_ARTIFICIAL decls.
18 2007-03-30 Rafael Avila de Espindola <espindola@google.com>
20 * typeck.c (java_signed_or_unsigned_type): Removed.
21 (java_signed_type): use get_signed_or_unsigned_type instead of
22 java_signed_or_unsigned_type.
23 (java_unsigned_type): Ditto.
24 * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Removed.
25 * java-tree.h (java_signed_or_unsigned_type): Removed.
27 2007-03-26 Tom Tromey <tromey@redhat.com>
29 * Make-lang.in (JAVA_MANFILES): Removed grmiregistry.1.
30 (java.maintainer-clean): Likewise.
31 (java.install-man): Likewise.
32 (.INTERMEDIATE): Removed grmiregistry.pod.
33 (grmiregistry.pod): Removed.
34 * gcj.texi (Invoking gcjh): Removed.
35 (Invoking gjnih): Likewise.
36 (Invoking grmiregistry): Likewise.
41 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
43 * Make-lang.in: Add install-pdf target as copied from
46 2007-02-27 Brooks Moses <brooks.moses@codesourcery.com>
48 * gcj.texi: Standardize title page.
50 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
52 * class.c: Fix a comment typo.
54 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
55 Brooks Moses <brooks.moses@codesourcery.com>
56 Lee Millward <lee.millward@codesourcery.com>
58 * java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
60 (BUILD_MONITOR_EXIT): Likewise.
62 * java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
63 (java_gimplify_modify_expr): Likewise.
65 * class.c (cache_this_class_ref): Use build_call_expr.
66 (build_static_field_ref): Likewise.
67 (emit_indirect_register_classes): Likewise.
68 (emit_register_classes): Likewise.
70 * resource.c (write_resource_constructor): Use build_call_expr.
72 * builtins.c (builtin_creator_function): Change interpretation of
73 the second parameter to be the whole CALL_EXPR instead of the arglist.
74 (max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
75 (min_builtin): Likewise.
76 (abs_builtin): Likewise.
77 (java_build_function_call_expr): Likewise.
78 (convert_real): Likewise.
79 (UNMARSHAL3): Likewise.
80 (UNMARSHAL4): Likewise.
81 (UNMARSHAL5): Likewise.
82 (build_arglist_for_builtin): Delete. Fix callers to use
83 build_call_expr instead.
84 (putObject_builtin): Tweak parameter list. Use new CALL_EXPR
86 (compareAndSwapInt_builtin): Likewise.
87 (compareAndSwapLong_builtin): Likewise.
88 (compareAndSwapObject_builtin): Likewise.
89 (putVolatile_builtin): Likewise.
90 (getVolatile_builtin): Likewise.
91 (VMSupportsCS8_builtin): Likewise.
92 (check_for_builtin): Pass entire CALL_EXPR to builtin expander
95 * expr.c (build_java_athrow): Use build_call_nary instead of build3.
96 (build_java_throw_out_of_bounds_exception): Likewise.
97 (java_check_reference): Likewise.
98 (build_java_arraystore_check): Likewise.
99 (build_newarray): Likewise.
100 (build_anewarray): Likewise.
101 (expand_java_multinewarray): Use build_call_list instead of build3.
102 (build_java_monitor): Use build_call_nary instead of build3.
103 (java_create_object): Likewise.
104 (expand_java_NEW): Likewise.
105 (build_instanceof): Likewise.
106 (expand_java_CHECKCAST): Likewise.
107 (build_java_soft_divmod): Likewise.
108 (build_java_binop): Likewise.
109 (build_field_ref): Likewise.
110 (build_class_init): Likewise.
111 (rewrite_arglist_getcaller): Use build_call_expr.
112 (build_invokeinterface): Use build_call_nary instead of build3.
113 (expand_invoke): Use build_call_list instead of build3.
114 (build_jni_stub): Use build_call_nary, build_call_list, or
115 build_call_expr instead of build3.
116 (expand_java_field_op): Use build_call_expr instead of build3.
117 (force_evaluation_order): Use new CALL_EXPR accessors.
119 * lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
121 2007-02-15 David Daney <ddaney@avtrex.com>
123 * Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
124 (java.maintainer-clean):Add gc-analyze.1.
125 (.INTERMEDIATE): Add gc-analyze.pod.
126 (gc-analyze.pod): New rule.
127 (java.install-man): Install gc-analyze.1
128 * gcj.texi: Add new section for the gc-analyze program.
130 2007-02-07 Andrew Haley <aph@redhat.com>
132 * class.c (uncache_this_class_ref): New.
133 * expr.c (build_jni_stub): Initialize the class.
134 (expand_byte_code): Call uncache_this_class_ref after generating
137 2007-02-06 Tom Tromey <tromey@redhat.com>
140 * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
142 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
144 * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
146 2007-02-02 Andrew Haley <aph@redhat.com>
148 * expr.c (expand_byte_code): Call cache_this_class_ref() and
149 cache_cpool_data_ref().
150 Set TYPE_CPOOL_DATA_REF.
151 (cache_cpool_data_ref): New function.
152 * constants.c (build_ref_from_constant_pool): Remove special-case
153 code for flag_indirect_classes.
154 (build_constant_data_ref): Move special-case code for
155 flag_indirect_classes here from build_ref_from_constant_pool.
156 * decl.c (finish_method): Move class initialization from here to
157 cache_this_class_ref.
158 * class.c (cache_this_class_ref): New function.
159 (build_class_ref): Use this_classdollar for the ouput class.
161 2007-02-02 David Daney <ddaney@avtrex.com>
163 * class.c (is_compiled_class): Move check to avoid reloading
165 (layout_class_method): Don't calculate DECL_EXTERNAL if it is
168 2007-02-01 Andrew Haley <aph@redhat.com>
171 * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
173 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
175 * class.c, jcf-parse.c: Fix comment typos.
177 2007-01-30 Tom Tromey <tromey@redhat.com>
179 * gcj.texi (Strings): Fix documentation for JvNewString.
181 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
183 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
186 2007-01-30 Ben Elliston <bje@au.ibm.com>
188 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
190 2007-01-29 Tom Tromey <tromey@redhat.com>
193 * jvspec.c (lang_specific_driver): Handle separate -I argument.
194 * lang.opt (-I): Add 'Separate'.
196 2007-01-29 Andrew Haley <aph@redhat.com>
198 * class.c (add_method_1): Mark fndecl as external unless we are
199 compiling it into this object file.
201 2007-01-24 Andrew Haley <aph@redhat.com>
203 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
204 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
206 2007-01-22 Andrew Haley <aph@redhat.com>
208 * builtins.c (VMSupportsCS8_builtin): New function.
210 2007-01-23 Andrew Pinski <pinskia@gmail.com>
213 * jcf-io.c (opendir_in_zip): Close the file
214 and free zipf before returning after an error.
216 2007-01-16 Tom Tromey <tromey@redhat.com>
218 * java-tree.def: Added copyright header.
220 2007-01-15 Tom Tromey <tromey@redhat.com>
222 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
224 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
226 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
227 (EXPR_WFL_NODE): Likewise.
228 (EXPR_WFL_LINECOL): Likewise.
229 (EXPR_WFL_FILENAME): Likewise.
230 (EXPR_WFL_LINENO): Likewise.
231 (build_expr_wfl, expr_add_location): Don't declare.
232 (build_unknown_wfl): Removed.
233 (EXPR_WFL_FILENAME_NODE): Removed.
234 (EXPR_WFL_COLNO): Removed.
235 (EXPR_WFL_SET_LINECOL): Removed.
236 (DECL_FUNCTION_WFL): Removed.
237 (DECL_FIELD_FINAL_WFL): Removed.
238 (struct lang_decl_func) <wfl>: Removed field.
239 <called_constructor>: Likewise.
240 <inner_access>: Likewise.
241 (struct lang_decl_var) <wfl>: Removed field.
242 (DECL_CONSTRUCTOR_CALLS): Removed.
243 (DECL_FUNCTION_ACCESS_DECL): Likewise.
244 (DECL_FUNCTION_INNER_ACCESS): Likewise.
245 (DECL_SPECIFIC_COUNT): Likewise.
246 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
247 * expr.c (build_expr_wfl): Removed.
248 (expr_add_location): Likewise.
250 2007-01-12 Tom Tromey <tromey@redhat.com>
252 * jcf-dump.c (main): Updated call to find_class.
253 * lang.c (java_init): Removed dead code.
254 * jcf-parse.c (read_class): Don't use java_source field. Removed
256 (parse_zip_file_entries): Don't use java_source field.
257 (process_zip_dir): Likewise.
258 (jcf_parse): Removed dead code.
259 (java_parse_file): Likewise.
260 (read_class): Updated call to find_class.
261 * jcf-io.c (find_class): Don't use java_source field. Removed
262 'source_ok' argument, .java logic.
263 * jcf.h (JCF) <java_source>: Removed field.
264 (JCF_ZERO): Updated. (find_class): Updated.
265 * decl.c: Removed dead code.
266 * class.c: Removed dead code.
268 2007-01-11 Tom Tromey <tromey@redhat.com>
270 * typeck.c (convert): Don't use flag_emit_class_files.
271 * lang.c (java_post_options): Don't use flag_emit_class_files.
272 (java_handle_option): Don't use flag_extraneous_semicolon or
274 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
275 flag_emit_class_files.
276 (load_class): Likewise.
277 * java-tree.h (flag_emit_class_files): Don't declare.
278 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
279 (flag_extraneous_semicolon): Don't declare.
280 (flag_not_overriding): Likewise.
281 (flag_static_local_jdk1_1): Likewise.
282 (flag_redundant): Likewise.
283 * expr.c (build_newarray): Don't use flag_emit_class_files.
284 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
285 flag_emit_class_files.
286 (build_class_ref): Likewise.
287 * builtins.c (check_for_builtin): Don't use
288 flag_emit_class_files.
290 2007-01-10 Tom Tromey <tromey@redhat.com>
292 * lang.c (java_can_use_bit_fields_p): Removed.
293 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
295 2007-01-09 Andrew Haley <aph@redhat.com>
297 * expr.c (build_java_arrayaccess): Rewrite to generate array
298 access in canonical form.
299 (expand_java_arraystore): Use build_fold_addr_expr() on address of
302 2007-01-03 Andrew Haley <aph@redhat.com>
305 * expr.c (expand_java_field_op): If we're initializing a field's
306 declaring interface we should not also initialize the class
307 context in which it was referenced.
309 2007-01-02 Tom Tromey <tromey@redhat.com>
311 * java-tree.h (compiling_from_source, current_encoding,
312 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
313 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
314 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
315 JTI_WFL_OPERATOR): Removed
316 (finit_identifier_node, instinit_identifier_node,
317 length_identifier_node, super_identifier_node,
318 continue_identifier_node, access0_identifier_node, wfl_operator):
320 (cyclic_inheritance_report,
321 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
322 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
323 DECL_FIXED_CONSTRUCTOR_P): Removed.
324 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
326 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
327 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
328 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
329 import_list, import_demand_list>: Removed.
330 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
331 cxx_keyword_p): Removed.
332 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
333 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
334 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
335 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
336 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
337 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
338 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
339 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
340 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
341 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
342 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
343 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
344 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
345 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
346 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
347 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
348 java_parse_abort_on_error, extract_field_decl): Removed.
350 * lang.c: (compiling_from_source, current_encoding): Removed.
351 (java_handle_option): Ignore -fencoding.
352 * parse.h: Don't include lex.h.
353 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
354 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
355 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
356 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
357 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
358 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
359 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
360 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
361 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
362 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
363 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
364 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
365 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
366 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
367 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
368 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
369 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
370 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
371 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
372 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
373 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
374 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
375 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
376 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
377 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
378 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
379 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
380 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
381 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
382 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
383 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
384 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
385 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
386 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
387 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
388 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
389 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
390 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
391 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
392 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
393 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
394 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
395 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
396 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
397 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
398 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
399 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
400 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
401 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
402 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
403 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
404 SET_CPC_STATIC_INITIALIZER_STMT,
405 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
406 java_complete_class, java_check_circular_reference,
407 java_fix_constructors, java_layout_classes, java_reorder_fields,
408 java_method_add_stmt, java_get_line_col, reset_report,
409 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
410 java_finish_classes, ctxp, ctxp_for_generation,
411 ctxp_for_generation_last): Removed.
412 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
413 * mangle.c (utf8_cmp): New function.
414 (cxx_keywords): New global.
415 (cxx_keyword_p): New function.
416 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
417 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
418 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
419 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
420 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
421 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
422 * Make-lang.in (java.srcextra): Do nothing.
423 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
424 (JAVA_OBJS): Don't mention deleted files.
425 (java.mostlyclean): Likewise.
426 (java.clean): Likewise.
427 (JAVA_LEX_C): Removed.
428 (buffer.o, check-init.o, parse.o): Remove unused targets.
430 * jcf-parse.c (read_class): Comment out unused code.
431 (java_layout_seen_class_methods): New function.
432 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
434 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
435 (init_jcf_parse): Removed.
436 * config-lang.in (gtfiles): Remove deleted files.
437 * decl.c (java_init_decl_processing): Don't initialize
438 finit_identifier_node, instinit_identifier_node,
439 length_identifier_node, super_identifier_node,
440 continue_identifier_node, access0_identifier_node. Don't call
442 * class.c (cyclic_inheritance_report): New global.
443 (add_method_1): Don't use
444 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
445 (maybe_layout_super_class): Comment out code.
446 (safe_layout_class): New function.
447 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
448 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
449 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
450 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
451 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
452 (java_gimplify_case_expr): Removed.
453 (java_gimplify_default_expr): Likewise.
454 (java_gimplify_new_array_init): Likewise.
456 * keyword.gperf, keyword.h: Removed.
457 * chartables.h: Removed.
458 * check-init.c: Removed.
459 * buffer.c, buffer.h: Removed.
460 * convert.h: Removed.
461 * gen-table.pl: Removed.
462 * lex.c, lex.h: Removed.
464 2007-01-02 Andrew Haley <aph@redhat.com>
466 * expr.c (expand_java_arraystore): Make sure we perform a bounds
467 check at runtime before we perform a type check.
469 2006-12-19 Andrew Haley <aph@redhat.com>
471 * decl.c: Bump minor BC ABI version.
473 2006-12-13 Gary Benson <gbenson@redhat.com>
475 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
477 2006-12-12 Tom Tromey <tromey@redhat.com>
479 * lang-specs.h: Pass -M options to jc1.
480 * jcf-depend.c (jcf_dependency_add_file): Don't emit
483 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
485 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
487 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
489 * lang-specs.h: Pass '%U'-based options as separate arguments.
491 2006-12-05 Tom Tromey <tromey@redhat.com>
494 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
496 * class.c (add_field): Handle ACC_SYNTHETIC.
497 (add_method_1): Likewise. Handle bridge and varargs.
498 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
500 (set_class_decl_access_flags): Handle synthetic and annotation.
501 * java-tree.h (METHOD_BRIDGE): New macro.
502 (METHOD_VARARGS): Likewise.
503 (TYPE_SYNTHETIC): Likewise.
504 (TYPE_ANNOTATION): Likewise.
505 (lang_type): New fields 'synthetic' and 'annotation'.
506 (lang_decl_func): New fields 'varargs' and 'bridge'.
508 2006-12-04 Andrew Haley <aph@redhat.com>
510 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
513 2006-11-29 Gary Benson <gbenson@redhat.com>
515 * expr.c (rewrite_arglist_getcaller): Reorder.
517 2006-11-29 Andrew Haley <aph@redhat.com>
519 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
520 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
522 2006-11-23 Andrew Haley <aph@redhat.com>
524 * expr.c (rewrite_arglist_getcaller): New.
525 (rewrite_arglist_getclass): Fix indentation.
526 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
527 gnu.classpath.VMStackWalker.getCallingClassLoader().
528 * builtins.c (initialize_builtins): Remove duplicate def'n of
530 Add __builtin_return_address.
532 2006-11-22 Andrew Haley <aph@redhat.com>
534 * jcf-reader.c (get_attribute): Mark attr_type unused.
536 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
538 2007-01-08 Richard Guenther <rguenther@suse.de>
540 * lex.c (do_java_lex): Use build_int_cst_wide_type.
541 * jcf-parse.c (get_constant): Likewise.
543 2006-11-12 Jan Hubicka <jh@suse.cz>
545 * resource.c (compile_resource_data): Update for new varpool names.
546 * java/class.c (build_utf8_ref): Likewise.
548 2006-11-12 David Daney <ddaney@avtrex.com>
551 * typeck.c (build_java_array_type): Increase buffer sizes.
553 2006-11-11 Richard Guenther <rguenther@suse.de>
555 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
556 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
558 2006-11-06 Andrew Haley <aph@redhat.com>
560 * java-tree.h (CONSTANT_LazyFlag): New.
561 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
562 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
564 (handle_constant): Return 0 for dummy cpool entries.
565 Handle constants of kind Class.
566 Handle constants of kind NameAndType.
567 (handle_enclosingmethod_attribute): New.
568 (handle_signature_attribute): New.
569 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
570 (HANDLE_SIGNATURE_ATTRIBUTE): New.
571 (handle_constant): Use unmangle_classname()rather than calling
572 identifier_subst() directly.
574 2006-11-02 Andrew Haley <aph@redhat.com>
576 * java-tree.h (FIELD_ENUM): New.
577 (lang_decl_var.field_enum): New.
578 (lang_type.enum_class): New.
580 * class.c (set_class_decl_access_flags): Handle enum types.
581 (add_field): Handle enum fields.
582 (get_access_flags_from_decl): Likewise.
584 * class.c (make_class_data): Put reflection_data into rodata.
586 2006-11-01 Andrew Haley <aph@redhat.com>
588 * jcf-parse.c (field_offsets, bit_obstack): New variables.
589 (jcf_parse): Write end marker to annotation_data.
590 (java_parse_file): Create field_offsets bitmap. Destroy it.
591 (annotation_grow, annotation_rewrite_byte)
592 (annotation_rewrite_short, annotation_rewrite_int)
593 (annotation_read_short, annotation_write_byte)
594 (annotation_write_short, annotation_write_int)
595 (handle_long_constant, handle_constant, handle_element_value)
596 (handle_annotation, handle_annotations)
597 (handle_annotation_attribute, rewrite_reflection_indexes)
598 (handle_member_annotations, handle_parameter_annotations)
599 (handle_default_annotation): New functions.
600 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
601 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
602 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
603 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
604 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
605 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
606 (TYPE_REFLECTION_DATA): New.
607 (TYPE_REFLECTION_DATASIZE): New.
608 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
610 * jcf-reader.c (get_attribute): Pass field/method index and
611 attribute type to get_attribute().
612 * constants.c (find_class_or_string_constant): Make nonstatic.
613 (cpool_for_class): Likewise.
614 (build_constants_constructor): Separate string and scalar types.
615 * class.c (make_class_data): Generate field_indexes permutation.
616 Pass it to rewrite_reflection_indexes().
617 (make_class_data): Generate constructor for reflection_data field.
619 2006-10-20 Tom Tromey <tromey@redhat.com>
621 * gcj.texi (Top): Don't mention jv-scan.
622 (Invoking gcj): Likewise.
623 (Invoking gcjh): Likewise.
624 (Invoking gjnih): Likewise.
625 (Invoking gij): Likewise.
626 (Invoking gcj-dbtool): Likewise.
627 (Invoking jv-scan): Removed.
628 * parse-scan.y: Removed.
629 * jv-scan.c: Removed.
630 * config-lang.in (stagestuff): Don't mention jv-scan.
631 * Make-lang.in (java): Removed jv-scan.
632 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
633 (JVSCAN_OBJS): Removed.
634 (jv-scan$(exeext)): Likewise.
635 (JAVA_MANFILES): Removed jv-scan.1.
636 (java.uninstall): Don't mention jv-scan.
637 (java.mostlyclean): Likewise.
638 (java.maintainer-clean): Likewise.
639 (.INTERMEDIATE): Likewise.
640 (java/jv-scan.o): Removed.
641 (jv-scan.pod): Likewise.
642 (java.srcextra): Don't mention parse-scan.c.
643 (java.mostlyclean): Likewise.
644 (java/parse-scan.c): Removed.
645 (java/parse-scan.o-warn): Removed.
646 (java/parse-scan.o): Removed.
648 2006-10-20 Tom Tromey <tromey@redhat.com>
650 * lang.c (java_handle_option): Don't use
651 jcf_write_base_directory.
652 * jcf.h (jcf_write_base_directory): Removed.
653 * parse.y (java_expand_classes): Don't call write_classfile.
654 * config-lang.in (gtfiles): Removed jcf-write.c.
655 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
656 (java/jcf-write.o): Removed.
657 * jcf-parse.c (parse_class_file): Don't call write_classfile.
658 * java-tree.h (write_classfile): Removed declaration.
659 * jcf-write.c: Removed.
661 2006-10-20 Tom Tromey <tromey@redhat.com>
663 * Make-lang.in (java): Removed gjnih, gcjh.
664 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
665 (GCJH_OBJS): Removed.
666 (GJNIH_OBJS): Likewise.
667 (gjnih$(exeext)): Likewise.
668 (gcjh$(exeext)): Likewise.
669 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
670 (java.install-common): Don't special case gcjh.
671 (java.uninstall): Don't mention gcjh, gjnih.
672 (java.mostlyclean): Likewise.
673 (java.maintainer-clean): Likewise.
674 (.INTERMEDIATE): Likewise.
676 (gjnih.pod): Likewise.
677 (GCJH_TARGET_INSTALL_NAME): Removed.
678 (java/gjavah-jni.o): Removed.
679 (java/gjavah.o): Likewise.
680 * config-lang.in (stagestuff): Removed gjnih, gcjh.
683 2006-10-17 Tom Tromey <tromey@redhat.com>
685 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
688 2006-10-17 Tom Tromey <tromey@redhat.com>
690 * jvgenmain.c (main): Handle -findirect-dispatch.
691 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
694 2006-10-06 Andrew Haley <aph@redhat.com>
696 * builtins.c (compareAndSwapInt_builtin): Check that we really do
697 have a compare_and_swap builtin.
698 (compareAndSwapLong_builtin): Likewise.
699 (compareAndSwapObject_builtin): Likewise.
701 2006-10-04 Andrew Haley <aph@redhat.com>
703 * builtins.c (java_builtins): Add compareAndSwapInt,
704 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
705 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
706 putObjectVolatile, getObjectVolatile, getIntVolatile,
707 getLongVolatile, getLong.
708 (UNMARSHAL3): New macro.
709 (UNMARSHAL4): Likewise.
710 (UNMARSHAL5): Likewise.
711 (build_arglist_for_builtin): New function.
712 (build_addr_sum, build_check_this): New functions.
713 (putObject_builtin. compareAndSwapInt_builtin,
714 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
715 putVolatile_builtin, getVolatile_builtin): New builtins.
717 2006-06-08 Andrew Haley <aph@redhat.com>
719 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
720 get_symbol_table_index().
721 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
723 (build_known_method_ref): New arg: special. Pass it to
724 get_symbol_table_index.
725 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
727 (build_invokevirtual): New arg: special. Pass it to
728 get_symbol_table_index.
729 (expand_invoke): New variable: special.
730 Pass it to maybe_rewrite_invocation().
731 Pass it to build_known_method_ref().
732 * class.c (build_symbol_entry): Add new arg: special. Use it to
733 build the symbol table conbstructor.
734 (emit_symbol_table): Extract SPECIAL from the method list and pass
735 it to build_symbol_entry().
736 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
739 2006-09-08 Andrew Haley <aph@redhat.com>
741 * class.c (layout_class_method): Use build_java_signature, not
742 build_java_argument_signature. Use lookup_java_method, not
743 lookup_argument_method.
745 2006-08-16 Jakub Jelinek <jakub@redhat.com>
746 Bryce McKinlay <bryce@mckinlay.net.nz>
748 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
750 2006-07-18 Tom Tromey <tromey@redhat.com>
752 * lang.opt: Added missing -W options.
754 2006-07-12 Tom Tromey <tromey@redhat.com>
757 * lang-specs.h: Pass '%U'-based options as separate arguments.
759 * lang.c (java_handle_option): Handle OPT_faux_classpath.
760 * lang.opt (faux-classpath): New option.
762 2006-07-07 Tom Tromey <tromey@redhat.com>
764 * class.c (make_class_data): Set value for reflection_data field.
765 * decl.c (java_init_decl_processing): Add reflection_data field.
767 2006-07-07 Tom Tromey <tromey@redhat.com>
769 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
771 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
773 2006-07-07 Andrew Haley <aph@redhat.com>
775 * jcf-parse.c (set_source_filename): Don't check for
776 CLASS_FROM_CURRENTLY_COMPILED_P.
779 2006-07-07 Andrew Haley <aph@redhat.com>
781 * java-tree.h (java_read_sourcefilenames): Declare.
782 * lang.c (java_handle_option): Call java_read_sourcefilenames().
783 * lang.opt (fsource-filename): New opt.
784 * lang-specs.h: Add -fsource-filename.
785 * jcf-parse.c (num_files, filenames): New variables.
786 (reverse, cmpstringp, java_read_sourcefilenames,
787 find_sourcefile): New.
788 (set_source_filename): Call find_sourcefile to find the real name
791 2006-06-27 Tom Tromey <tromey@redhat.com>
793 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
794 Signature, LocalVariableTypeTable, annotation attributes.
795 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
796 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
797 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
798 (HANDLE_METHOD): Likewise.
799 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
800 (print_annotation): New function.
801 (print_element_value): Likewise.
803 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
804 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
805 (print_parameter_annotations): New function.
806 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
807 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
809 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
810 (print_annotations): New function.
812 2006-06-23 Tom Tromey <tromey@redhat.com>
814 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
815 emitting class files, always use 1.5.
816 * gcj.texi (Input Options): Document -fsource.
817 (Code Generation): Document -ftarget.
819 2006-06-21 Tom Tromey <tromey@redhat.com>
822 * expr.c (expand_java_field_op): Initialize field's declaring
825 2006-06-20 Tom Tromey <tromey@redhat.com>
827 * expr.c (push_value): Always flush quick stack.
829 2006-06-19 Tom Tromey <tromey@redhat.com>
831 * expr.c (push_value): Also flush quick stack if value is a
834 2006-06-19 Tom Tromey <tromey@redhat.com>
836 * expr.c (push_value): Flush quick stack if value has side
839 2006-06-13 Tom Tromey <tromey@redhat.com>
841 * class.c (is_compiled_class): Explicitly check for current
844 2006-06-09 Tom Tromey <tromey@redhat.com>
846 * gjavah.c (decompile_method): Don't decompile a static field
849 2006-06-06 Tom Tromey <tromey@redhat.com>
851 * lang-specs.h <jc1>: Add .jar file to command line if
852 -fsaw-java-file. Also, remove -ffilelist-file in this case.
854 2006-06-05 Tom Tromey <tromey@redhat.com>
856 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
857 synthetic, enum, annotation.
858 * jcf.h (ACC_BRIDGE): New macro.
859 (ACC_VARARGS): Likewise.
860 (ACC_SYNTHETIC): Likewise.
861 (ACC_ENUM): Likewise.
862 (ACC_ANNOTATION): Likewise.
864 2006-06-04 Tom Tromey <tromey@redhat.com>
866 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
867 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
869 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
870 when needed. Handle classpath-setting.
871 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
872 * lang-specs.h: Rewrote.
874 2006-06-04 Tom Tromey <tromey@redhat.com>
876 * jcf-io.c (find_class): Set source_ok to 0.
877 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
878 (parse_class_file): Don't call java_mark_class_local.
879 (java_parse_file): Skip .java files. Call java_mark_class_local
880 before lowering any code.
881 (parse_zip_file_entries): Don't call duplicate_class_warning
883 (process_zip_dir): ... call it here.
884 * class.c (add_field): Don't mark field external if it is being
885 compiled into this object.
886 (make_class_data): Handle situation where class_dtable_decl is
887 created before Class is compiled.
888 (is_compiled_class): Don't assume files in zip are compiled into
890 (layout_class_method): Don't mark method external if it is being
891 compiled into this object.
893 2006-06-04 Tom Tromey <tromey@redhat.com>
895 * jcf-path.c (jcf_path_compute): New function.
896 * jcf.h (jcf_path_compute): Declare.
898 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
900 * decl.c: Include langhooks.h.
901 (builtin_function): Remove.
902 (java_init_decl_processing): Replace calls to builtin_function
903 with add_builtin_function.
904 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
905 (java/decl.o): Depend on langhooks.h.
906 * java-tree.h (builtin_function): Remove.
908 2006-10-10 Brooks Moses <bmoses@stanford.edu>
910 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
912 2006-09-12 Tom Tromey <tromey@redhat.com>
914 * expr.c (push_value): Always flush quick stack.
916 2006-09-12 Tom Tromey <tromey@redhat.com>
919 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
920 the push of the called method's return result.
922 2006-09-12 Tom Tromey <tromey@redhat.com>
924 * jvspec.c (lang_specific_driver): Read spec file even if
927 2006-09-12 Tom Tromey <tromey@redhat.com>
930 * expr.c (expand_java_field_op): Initialize field's declaring
931 interface if necessary.
933 2006-09-12 Tom Tromey <tromey@redhat.com>
936 * expr.c (expand_java_field_op): No error for assignments not in
937 class initializer or constructor.
939 2006-08-22 Andrew Haley <aph@redhat.com>
941 * decl.c (java_add_stmt): Give the statement list a type.
943 2006-08-16 Jakub Jelinek <jakub@redhat.com>
944 Bryce McKinlay <bryce@mckinlay.net.nz>
946 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
948 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
951 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
952 or '--' is used with a constant operand.
953 (java_complete_lhs): When processing a '++' or '--' expression,
954 don't call java_complete_tree but java_complete_lhs, so that a
955 static final variable operand is never replaced by its value. This
956 avoids an ICE later on.
957 (patch_unaryop): Fixed typo in comment.
959 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
961 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
963 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
965 * builtins.c (check_for_builtin): If a builtin could result in a
966 direct call being generated, don't use it if flag_indirect_dispatch
969 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
971 * gcj.texi (Invocation): Corrections for Invocation API example.
973 2006-07-04 Andrew Haley <aph@redhat.com>
975 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
978 2006-06-21 Andrew Haley <aph@redhat.com>
980 * java-tree.h (update_aliases): Remove
981 * expr.c (expand_iinc): Remove call to update_aliases().
982 (STORE_INTERNAL): Likewise.
983 * decl.c (update_aliases, initialize_local_variable)
984 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
986 2006-06-19 Andrew Haley <aph@redhat.com>
990 * expr.c (java_modify_addr_for_volatile): New function.
991 (expand_java_field_op): Handle volatile fields.
992 * java-gimplify.c (java_gimplify_component_ref): Call
993 java_modify_addr_for_volatile to give the field_ref the correct
995 (java_gimplify_modify_expr): Likewise.
996 * java-tree.h (java_modify_addr_for_volatile): New decl.
998 2006-06-17 Karl Berry <karl@gnu.org>
1000 * gcj.texi (@dircategory): Use "Software development" instead
1001 of "Programming", following the Free Software Directory.
1003 2006-06-16 Andrew Haley <aph@redhat.com>
1005 * class.c (make_class_data): When using flag_indirect_classes,
1006 don't initialize the vtable of Class instances.
1008 2006-06-09 Andrew Haley <aph@redhat.com>
1012 * builtins.c (initialize_builtins): Add __sync_synchronize().
1013 * class.c (add_field): Mark volatile fields.
1014 * java-gimplify.c (java_gimplify_expr): Call new functions to
1015 handle self-modifying exprs and COMPONENT_REFs.
1016 (java_gimplify_component_ref): New.
1017 (java_gimplify_modify_expr): Add handling for volatiles.
1019 2006-06-08 Tom Tromey <tromey@redhat.com>
1021 * gcj.texi (libgcj Runtime Properties): Document
1022 gnu.gcj.user.realname.
1024 2006-06-08 Andrew Haley <aph@redhat.com>
1026 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
1027 get_symbol_table_index().
1028 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
1030 (build_known_method_ref): New arg: special. Pass it to
1031 get_symbol_table_index.
1032 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
1034 (build_invokevirtual): New arg: special. Pass it to
1035 get_symbol_table_index.
1036 (expand_invoke): New variable: special.
1037 Pass it to maybe_rewrite_invocation().
1038 Pass it to build_known_method_ref().
1039 * class.c (build_symbol_entry): Add new arg: special. Use it to
1040 build the symbol table conbstructor.
1041 (emit_symbol_table): Extract SPECIAL from the method list and pass
1042 it to build_symbol_entry().
1043 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
1044 special accordingly.
1046 2006-06-06 David Daney <ddaney@avtrex.com>
1048 * gcj.texi (libgcj Runtime Properties): Document
1049 gnu.gcj.runtime.NameFinder.show_raw and
1050 gnu.gcj.runtime.NameFinder.remove_unknown.
1052 2006-06-06 Tom Tromey <tromey@redhat.com>
1054 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
1055 synthetic, enum, annotation.
1056 * jcf.h (ACC_BRIDGE): New macro.
1057 (ACC_VARARGS): Likewise.
1058 (ACC_SYNTHETIC): Likewise.
1059 (ACC_ENUM): Likewise.
1060 (ACC_ANNOTATION): Likewise.
1062 2006-06-06 Mike Stump <mrs@apple.com>
1064 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
1065 installing during build.
1067 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
1069 * gcj.texi (Extensions): Document the new gcj-dbtool-based
1070 classname-to-library resolution mechanism.
1071 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
1072 mechanism deprecated.
1073 (libgcj Runtime Properties): Document
1074 gnu.gcj.runtime.VMClassLoader.library_control's new default.
1076 2006-05-29 Jakub Jelinek <jakub@redhat.com>
1078 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
1080 (jword): Define to uint64 on 64-bit arches.
1081 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
1083 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
1085 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
1088 2006-05-26 Tom Tromey <tromey@redhat.com>
1090 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
1091 * verify-glue.c (vfy_class_type): New function.
1092 * verify-impl.c (check_constant): Allow 'ldc class'.
1093 * verify.h (vfy_class_type): Declare.
1095 2006-05-25 Andrew Haley <aph@redhat.com>
1098 * decl.c (maybe_pushlevels): When variable ranges are non-nested
1099 update all lifetimes, not just the first one.
1101 2006-05-24 Tom Tromey <tromey@redhat.com>
1103 * java-tree.h: Fixed flag documentation.
1105 2006-05-24 Tom Tromey <tromey@redhat.com>
1108 * jcf.h (ACC_INVISIBLE): Changed value.
1110 2006-05-24 Andrew Haley <aph@redhat.com>
1113 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
1116 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1118 * lang.opt (femit-class-file): Remove VarExists.
1120 2006-05-16 Tom Tromey <tromey@redhat.com>
1122 * verify-impl.c (verify_instructions_0) <op_return>: Special case
1125 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1128 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
1131 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
1133 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
1134 (java/expr.o): Replace target.h with $(TARGET_H).
1135 (java/parse.o): Likewise.
1137 2006-05-10 Andrew Haley <aph@redhat.com>
1139 * class.c (emit_indirect_register_classes): Fix comment.
1141 2006-05-04 Tom Tromey <tromey@redhat.com>
1143 * java-tree.h (uses_jv_markobj_p): Declare.
1144 * class.c (uses_jv_markobj_p): Removed.
1145 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1146 (get_boehm_type_descriptor): Use it.
1147 (uses_jv_markobj_p): Moved from class.c. Return bool.
1149 2006-05-04 Tom Tromey <tromey@redhat.com>
1151 * java-tree.def (THIS_EXPR): Now a tcc_expression.
1153 2006-05-04 Andrew Haley <aph@redhat.com>
1155 * class.c (make_field_value): Always build_address_of fdecl if
1156 there is an initializer.
1158 2006-05-03 Andrew Haley <aph@redhat.com>
1161 * expr.c (maybe_rewrite_invocation): New function.
1162 (rewrite_arglist_getclass): Likewise.
1164 (expand_invoke): Call maybe_rewrite_invocation.
1165 * parse.y (patch_invoke): Likewise.
1166 * java-tree.h: (maybe_rewrite_invocation): New function.
1168 2006-04-21 Andrew Haley <aph@redhat.com>
1170 * lang.c (java_init): Handle flag_indirect_classes.
1171 * jvgenmain.c: Use "class$$" instead of "class$".
1172 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1174 (mangle_class_field): Special case "class$$" as well as "class$".
1175 * constants.c (build_ref_from_constant_pool): If
1176 flag_indirect_classes, generate a ref into the heap.
1177 * decl.c (constants_field_decl_node,
1178 constants_data_field_decl_node): New.
1179 * class.c (build_static_class_ref): New.
1180 (build_classdollar_field): Factor out from build_class_ref().
1181 (make_field_value): Handle static fields in heap.
1182 (make_class_data): Make sure we get a static ref to class.
1183 Make class initializer const if flag_indirect_classes.
1184 (register_class): Build a class_ref for initialization if
1185 flag_indirect_classes.
1186 (emit_indirect_register_classes): New.
1188 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1190 * expr.c, gjavah.c: Fix comment typos.
1192 2006-04-03 Andrew Haley <aph@redhat.com>
1195 * expr.c (build_field_ref): Don't check the field offset if
1198 2006-03-30 Andrew Haley <aph@redhat.com>
1201 * lang.c (java_attribute_table): New.
1202 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1203 * expr.c (build_field_ref): Add a null pointer check for all
1204 fields of offset > 4k. Don't do so for accesses via the this
1205 pointer, which we know can never be null.
1206 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1209 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1211 * Make-lang.in: Rename docdir to gcc_docdir.
1213 2006-03-30 Tom Tromey <tromey@redhat.com>
1216 * parse.y (java_reorder_fields): Reset superclass field's size as
1219 2006-03-28 Tom Tromey <tromey@redhat.com>
1222 * parse.y (find_most_specific_methods_list): Added 'class'
1224 (lookup_method_invoke): Updated.
1226 2006-03-15 Tom Tromey <tromey@redhat.com>
1228 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1229 non-static method calls.
1231 2006-03-15 David Daney <ddaney@avtrex.com>
1233 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1236 2006-03-15 David Daney <ddaney@avtrex.com>
1238 * lang.opt (-freduced-reflection): New option.
1239 * lang.c (java_post_options): Generate an error if
1240 -freduced-reflection used with -fjni or -findirect-dispatch.
1241 * java-tree.h (flag_reduced_reflection): Declare new variable.
1242 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1243 if bitmap overflows and flag_reduced_reflection set.
1244 * class.c (uses_jv_markobj_p): New function.
1245 (make_class_data): Moved generation of vtable to before
1246 reflection data, generate less reflection data if
1247 flag_reduced_reflection set.
1248 * gcj.texi: Document -freduced-reflection.
1250 2006-03-15 Tom Tromey <tromey@redhat.com>
1253 * class.c (get_interface_method_index): Don't put <clinit> into
1256 2006-03-15 Tom Tromey <tromey@redhat.com>
1258 * parse.y (analyze_clinit_body): Ignore empty statements.
1260 2006-03-08 David Daney <ddaney@avtrex.com>
1262 * gcj.texi: Document -static-libgcj option.
1264 2006-02-20 Andrew Haley <aph@redhat.com>
1266 * jcf-parse.c (parse_class_file): Set input_location from
1269 2006-02-15 Andrew Haley <aph@redhat.com>
1271 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1272 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1273 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1275 2006-02-09 Andrew Haley <aph@redhat.com>
1278 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1279 in their superclass.
1281 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1284 2006-02-08 Tom Tromey <tromey@redhat.com>
1287 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1288 * builtins.c (convert_real): New function.
1289 (java_builtins): Handle Float.intBitsToFloat,
1290 Float.floatToRawIntBits, Double.longBitsToDouble,
1291 Double.doubleToRawLongBits.
1293 2006-02-07 Andrew Haley <aph@redhat.com>
1295 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1296 class other than the one in which we expected to find it, ignore
1300 * constants.c (build_constants_constructor): move initializer into
1301 first halfword on a 64-bit big-endian machine.
1303 2006-02-04 Tom Tromey <tromey@redhat.com>
1306 * builtins.c (max_builtin): Skip floating point 'max'.
1307 (min_builtin): Skip floating point 'min'.
1308 (check_for_builtin): Never return NULL_TREE.
1310 2006-02-04 Tom Tromey <tromey@redhat.com>
1313 * expr.c (push_type): Avoid side effect in gcc_assert.
1315 2006-02-04 Roger Sayle <roger@eyesopen.com>
1317 * decl.c (java_init_decl_processing): Create char_type_node as a
1318 regular INTEGER_TYPE node.
1319 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1320 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1321 test for char_type_node and promoted_char_type_node as special
1322 instances of INTEGER_TYPE tree codes.
1323 (promote_type,build_java_signature): Likewise.
1324 * jcf-write.c (adjust_typed_op): Likewise.
1325 * mangle.c (mangle_type): Likewise.
1326 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1327 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1329 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1331 * expr.c (java_stack_swap): Revert gcc_assert patch.
1333 2006-02-03 Ben Elliston <bje@au.ibm.com>
1335 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1336 * typeck.c: Likewise.
1337 * verify-impl.c: Likewise.
1338 * class.c: Likewise.
1340 * jcf-parse.c: Likewise.
1341 * constants.c: Likewise.
1342 * check-init.c: Likewise.
1343 * jcf-write.c: Likewise.
1344 * verify-glue.c: Likewise.
1345 * mangle.c: Likewise.
1348 * boehm.c: Likewise.
1350 2006-02-01 Jan Hubicka <jh@suse.cz>
1352 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1353 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1355 2006-01-30 Andrew Haley <aph@redhat.com>
1358 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1360 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1362 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1363 Update copyright notice dates.
1365 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1367 * jvspec.c (lang_specific_spec_functions): Remove.
1369 2006-01-06 Tom Tromey <tromey@redhat.com>
1371 * gcj.texi (Arrays): Added more documentation for
1373 (Primitive types): Correct information about primitive classes.
1374 (Reference types): New node.
1377 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1379 * jcf-parse.c (set_source_filename): Set the decl source location
1380 even when returning early.
1382 2005-12-15 Tom Tromey <tromey@redhat.com>
1383 Andrew Haley <aph@redhat.com>
1386 * parse.y (resolve_expression_name): Don't generate accessor
1387 methods for constant fields.
1389 2005-12-13 Andrew Haley <aph@redhat.com>
1393 * class.c (maybe_layout_super_class): Update current_class before
1394 calling do_resolve_class.
1396 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1399 * jcf-write.c (write_classfile): Use PID in temporary class
1400 file. Save/restore errno when reporting error.
1402 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1405 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1406 to bare_function_type and including the return type
1407 * builtins.c (initialize_builtins) : Change builtin mangled name
1408 constants to conform to new mangling scheme
1410 2005-12-08 Andrew Haley <aph@redhat.com>
1413 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1414 (soft_abstractmethod_node): New.
1415 * expr.c (build_field_ref): Add in-line check for missing field.
1416 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1418 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1420 * Make-lang.in (java.all.build, java.install-normal): Remove.
1422 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1424 * Make-lang.in: Remove all dependencies on s-gtype, except for
1427 2005-12-07 Richard Sandiford <richard@codesourcery.com>
1429 * class.c (build_utf8_ref, emit_register_classes): Use
1430 switch_to_section and get_section.
1432 2005-12-06 Tom Tromey <tromey@redhat.com>
1435 * parse.y (patch_new_array_init): Revert previous patch.
1436 (lookup_method_invoke): Use size-less array type when creating an
1437 anonymous constructor.
1439 2005-12-05 Tom Tromey <tromey@redhat.com>
1441 * parse.y (patch_new_array_init): Don't set length on array.
1443 2005-12-02 Richard Guenther <rguenther@suse.de>
1445 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1446 buildN instead of build.
1447 * class.c (finish_class): Likewise.
1448 * expr.c (java_create_object): Likewise.
1450 2005-11-28 Tom Tromey <tromey@redhat.com>
1453 * expr.c (build_jni_stub): Unwrap the return value.
1454 * java-tree.h (soft_unwrapjni_node): New define.
1455 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1456 * decl.c (java_init_decl_processing): Initialize
1457 soft_unwrapjni_node.
1459 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
1461 * gcj.texi (gij options): Add -Xss documentation.
1463 2005-11-08 Wil Mahan <wmahan@gmail.com>
1466 * zextract.c (read_zip_archive): Fix out of memory error when
1467 reading jar files with zip-style comments.
1469 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
1471 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1473 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1475 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
1476 Wil Mahan <wmahan@gmail.com>
1479 * class.c (make_class): Create empty binfo here.
1480 (set_super_info): Only create binfo if we have superclasses.
1482 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
1485 * parse.y (method_header): Make the result of the rule a NULL_TREE
1486 when a parsing error occurs.
1488 2005-09-29 Tom Tromey <tromey@redhat.com>
1491 * jcf-io.c (memoized_dirlist_hash): New function.
1492 (caching_stat): Use it.
1494 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
1497 * class.c (inherits_from_p): Try to lay out super class
1498 if it is not already laid out.
1499 (maybe_layout_super_class): Handle the case where SUPER_CLASS
1502 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
1504 * builtins.c (max_builtin, min_builtin, abs_builtin,
1505 java_build_function_call_expr): Use fold_buildN.
1506 * class.c (layout_class_method): Likewise.
1507 * expr.c (java_truthvalue_conversion, build_java_jsr,
1508 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1509 build_java_binop, build_field_ref, expand_compare,
1510 build_known_method_ref, build_invokevirtual,
1511 process_jvm_instruction): Likewise.
1512 * parse.y (patch_binop, patch_exit_expr): Likewise.
1513 * typeck.c (convert_ieee_real_to_integer): Likewise.
1514 (convert): Don't call fold after convert_ieee_real_to_integer.
1516 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
1519 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1520 the newly created type. Set import lists here, not in create_class.
1521 (jdep_resolve_class): Set current_class.
1522 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
1523 the current package context, not ctxp->package.
1524 (cicp_cache): Removed.
1525 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1526 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1527 * java-tree.h (TYPE_PACKAGE): New macro.
1528 (struct lang_type): New member 'package'.
1530 2005-09-09 Andrew Haley <aph@redhat.com>
1533 * expr.c (pop_type_0): If the expected type is object or ptr
1534 (i.e. void*), return the type of the object we just popped from
1537 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
1539 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1540 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1542 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
1544 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1545 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1546 typos. Follow spelling conventions.
1548 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
1551 * typeck.c (lookup_do): Look up interfaces for the original class,
1553 * parse.y (java_check_regular_methods): Fix diagnostic message for
1554 more restrictive overriding of a method from an interface.
1556 2005-08-16 Tom Tromey <tromey@redhat.com>
1558 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1559 class' initial state.
1561 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1564 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
1565 `literal_token' for large numeric input tokens.
1567 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1570 * parse.y (nested_field_access_p): Rename to nested_member_access_p
1571 and expand to handle method accesses across nested classes.
1572 (build_outer_method_access_method): Rename to
1573 build_nested_method_access_method. Minor adjustments to comments.
1574 (resolve_expression_name): Use the newly-renamed
1575 nested_member_access_p method.
1576 (resolve_qualified_expression_name): Likewise.
1577 (patch_method_invocation): Also consider static methods for access
1578 method generation. Minor adjustments to comments.
1579 (maybe_use_access_method): Use the more general
1580 nested_memeber_access_p to determine access across nested class
1581 boundaries. Allow THIS_ARG to be NULL (for static methods).
1583 2005-08-15 Tom Tromey <tromey@redhat.com>
1586 * expr.c (build_field_ref): Don't generate otable reference when
1587 DECL_FIELD_OFFSET is 0.
1588 * class.c (maybe_layout_super_class): Pass outer class to
1591 2005-08-15 Tom Tromey <tromey@redhat.com>
1593 * java-tree.h (LABEL_IN_SUBR): Removed.
1594 (LABEL_IN_SUBR): Likewise.
1595 (LABEL_IS_SUBR_START): Likewise.
1596 (LABEL_SUBR_START): Likewise.
1597 (LABEL_SUBR_CONTEXT): Likewise.
1598 (LABEL_CHANGED): Likewise.
1599 (LABEL_RETURN_LABEL): Likewise.
1600 (LABEL_RETURN_TYPE_STATE): Likewise.
1601 (LABEL_RETURN_LABELS): Likewise.
1602 (RETURN_MAP_ADJUSTED): Likewise.
1603 (LABEL_PENDING_CHAIN): Likewise.
1605 2005-08-15 Tom Tromey <tromey@redhat.com>
1607 * Make-lang.in (JAVA_OBJS): Removed verify.o
1608 (java/verify.o): Removed.
1609 * verify.c: Removed.
1610 * lang.c (flag_new_verifier): Removed.
1611 (java_post_options): Updated.
1612 * java-tree.h (flag_new_verifier): Removed.
1613 (verify_jvm_instructions): Removed.
1614 * expr.c (pop_type_0): Assume flag_new_verifier is true.
1615 (build_java_check_indexed_type): Likewise.
1616 (expand_java_arraystore): Likewise.
1617 (expand_java_arrayload): Likewise.
1618 (pop_arguments): Likewise.
1619 (expand_byte_code): Likewise.
1620 (process_jvm_instruction): Likewise.
1622 2005-08-10 Andrew Haley <aph@redhat.com>
1624 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
1625 type mismatches to make legal GIMPLE.
1627 2005-08-10 Robin Green <greenrd@greenrd.org>
1630 * parse.y (maybe_use_access_method): Generalize check from
1631 java.lang.Object to any superclass of current_class
1633 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
1635 * class.c (build_class_ref): Wrap the primary class type in a
1637 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
1638 primary class type from the NOP_EXPR in which it was placed.
1640 2005-07-28 Diego Novillo <dnovillo@redhat.com>
1642 * expr.c (expand_load_internal): Fix missing parens in
1645 2005-07-28 Andrew Haley <aph@redhat.com>
1647 * expr.c (expand_load_internal): Convert to destination type.
1649 2005-07-22 Manfred Hollstein <mh@suse.com>
1651 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
1652 (check_constant): Likewise.
1653 (check_wide_constant): Likewise.
1655 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
1657 Make CONSTRUCTOR use VEC to store initializers.
1658 * check-init.c (check_init): Update to cope with VEC in
1660 * class.c (make_field_value, make_method_value, get_dispatch_table,
1661 make_class_data, emit_symbol_table, emit_catch_table,
1662 emit_assertion_table): Use build_constructor_from_list instead of
1664 * constants.c (build_constants_constructor): Likewise.
1665 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
1666 VEC in CONSTRUCTOR_ELTS.
1667 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
1668 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
1670 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
1672 * parse.y (build_new_array_init): Use build_constructor_from_list
1673 instead of build_constructor.
1674 (patch_new_array_init): Update to cope with VEC in
1676 (array_constructor_check_entry): Likewise.
1678 2005-07-12 Tom Tromey <tromey@redhat.com>
1680 * jvspec.c (lang_specific_driver): Put filelist_filename first on
1683 2005-07-12 Tom Tromey <tromey@redhat.com>
1686 * parse-scan.y (interface_member_declaration): Added
1689 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
1691 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
1692 (LABEL_PENDING_CHAIN): Ditto.
1694 (DECL_BIT_INDEX): Ditto.
1696 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
1699 * parse.y (inner_class_accessible): New function. Logic moved from
1700 check_inner_class_access.
1701 (check_inner_class_access): Use inner_class_accessible.
1702 (resolve_inner_class): Simplify arguments. Create circularity hash
1703 here. Keep looking for classes if we found one that was inaccessible.
1704 Return the inaccessible class only if there is no other match.
1705 (do_resolve_class): Update for new resolve_inner_class arguments.
1706 Don't create circularity_hash here.
1708 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
1711 * parse.y (add_exception_to_throws): New function.
1712 (purge_unchecked_exceptions): Removed.
1713 (get_constructor_super): Renamed from verify_constructor_super. Now
1714 returns the super constructor after verification.
1715 (java_complete_expand_method): Don't use purge_unchecked_exceptions
1716 or save/restore the exception list.
1717 (check_thrown_exceptions): Add uncaught exceptions in anonymous
1718 class initializers and constructors to the throws clause of the method.
1720 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
1723 * parse.y (interface_member_declaration): Allow empty statements in
1724 interface declarations.
1726 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
1728 * Makefile.in (parse.o): Adjust dependencies.
1729 * parse.y: Include tree-dump.h.
1731 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
1733 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
1736 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
1738 * parse.y (issue_warning_error_from_context): Call
1739 pp_output_formatted_text to be able to get the buffer.
1741 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
1743 * parse.y (issue_warning_error_from_context): Update for the
1744 renaming of pp_format_text to pp_format.
1746 2005-06-28 Paul Brook <paul@codesourcery.com>
1748 * decl.c (java_init_decl_processing): Call
1749 default_init_unwind_resume_libfunc.
1751 2005-06-27 Tom Tromey <tromey@redhat.com>
1753 PR java/21540, PR java/13788:
1754 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
1755 fold_constant_for_init.
1756 (patch_binop): Added 'folding' argument. Updated all callers.
1757 (patch_unaryop) <NOP_EXPR>: New case.
1758 (fold_constant_for_init) <NOP_EXPR>: Likewise.
1759 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
1761 2005-06-25 Jan Hubicka <jh@suse.cz>
1763 * builtins.c (define_builtin): Accept new flags parameter.
1764 (initialize_builtins): Mark the builtins const and nothrow accordingly.
1766 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
1768 * all files: Update FSF address in copyright headers.
1770 2005-06-24 Tom Tromey <tromey@redhat.com>
1772 * verify-impl.c (verify_instructions_0): Correctly handle
1773 situation where PC falls off end.
1775 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
1778 * parse.y (find_most_specific_methods_list): Remove special case for
1781 2005-06-15 Tom Tromey <tromey@redhat.com>
1784 * class.c (make_method_value): Use soft_abstractmethod_node for
1786 * java-tree.h (soft_abstractmethod_node): New define.
1787 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
1788 * decl.c (java_init_decl_processing): Initialize
1789 soft_abstractmethod_node.
1791 2005-06-13 Geoffrey Keating <geoffk@apple.com>
1793 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
1795 2005-06-13 Per Bothner <per@bothner.com>
1797 * expr.c (int highest_label_pc_this_method,
1798 start_label_pc_this_method): New globals.
1799 (lookup_label): Add start_label_pc_this_method to pc for label, and
1800 update highest_label_pc_this_method. This prevents conflicts between
1801 labels from different methods.
1802 * java-tree.h: Declare new globals.
1803 * jcf-parse.c (parse_class_file): If needed bump
1804 start_label_pc_this_method and reset highest_label_pc_this_method.
1806 2005-06-13 Tom Tromey <tromey@redhat.com>
1809 * parse.y (nested_field_access_p): Handle case where outer field
1810 is inherited by enclosing class.
1812 2005-06-12 Per Bothner <per@bothner.com>
1814 * class.c (inherits_from_p): Do load_class if needed.
1816 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1818 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
1819 * java-tree.h (parse_error_context): Move...
1820 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
1821 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
1822 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
1824 2005-06-08 Roger Sayle <roger@eyesopen.com>
1826 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
1828 2005-06-06 Jakub Jelinek <jakub@redhat.com>
1830 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
1831 msgid for argument name.
1832 * gjavah.c (error): Likewise.
1833 * java-tree.h (parse_error_context): Likewise.
1834 * parse.y (parse_error_context, parse_warning_context,
1835 issue_warning_error_from_context): Likewise.
1837 2005-06-01 Tom Tromey <tromey@redhat.com>
1840 * class.c (build_static_field_ref): Don't fold constant fields if
1841 current class is from a .class file and we're using indirect
1844 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1846 * java/verify-glue.c: Don't include errors.h and include toplev.h.
1847 * java/Make-lang.in: Updates dependencies.
1849 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
1852 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
1853 NESTED_FIELD_ACCESS_IDENTIFIER_P.
1854 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
1855 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
1856 * jcf-write.c (generate_classfile): Use
1857 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1858 OUTER_FIELD_ACCESS_IDENTIFIER_P.
1859 * parse.y (build_outer_field_access): Rename to
1860 build_nested_field_access. Support static fields and outer-to-inner
1862 (outer_field_access_p): Rename to nested_field_access_p. Support
1863 static fields and generalise to outer-to-inner class and sibling
1864 inner class accesses.
1865 (outer_field_expanded_access_p): Rename to
1866 nested_field_expanded_access_p and support static fields.
1867 (outer_field_access_fix): Rename to nested_field_access_fix and
1868 support static fields.
1869 (build_outer_field_access_expr): Rename to
1870 build_nested_field_access_expr and support static fields.
1871 (build_outer_field_access_methods): Rename to
1872 build_nested_field_access_methods and support static fields. For
1873 static fields, generate accessors without class instance parameters.
1874 (build_outer_field_access_method): Rename to
1875 build_nested_field_access_method and support static fields.
1876 (build_outer_method_access_method): Use
1877 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1878 OUTER_FIELD_ACCESS_IDENTIFIER_P.
1879 (resolve_expression_name): Consider static field accesses across
1881 (resolve_qualified_expression_name): Likewise.
1882 (java_complete_lhs): Use nested_field_access_fix instead of
1883 outer_field_access_fix.
1884 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
1885 Use nested_field_expanded_access_p instead of
1886 outer_field_expanded_access_p. Use nested_field_access_fix instead
1887 of outer_field_access_fix.
1888 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
1889 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
1891 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
1893 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
1894 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
1895 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
1896 MINOR_BINARYCOMPAT_ABI_VERSION): New.
1897 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
1898 (parse_version): Calculate version ID using new method. Use bit-flags
1899 for flag_indirect_dispatch and flag_bootstrap_classes.
1901 2005-05-25 Richard Henderson <rth@redhat.com>
1904 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
1905 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
1906 DECL_CONTEXT; avoid pushdecl_top_level.
1907 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
1908 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
1909 (layout_class_method): Likewise.
1910 * decl.c (java_mark_cni_decl_local): New.
1911 (java_mark_class_local): Use it.
1912 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
1913 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
1914 (struct lang_decl_func): Add local_cni;
1915 (struct lang_decl_var): Add class_field, vtable.
1916 (java_mangle_decl): Declare.
1917 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
1918 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
1919 (mangle_obstack_1): New.
1920 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
1921 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
1922 lhd_set_decl_assembler_name for things that don't need mangling.
1923 (mangle_class_field): Rename from java_mangle_class_field, make
1924 static, don't call init_mangling or finish_mangling.
1925 (mangle_vtable): Similarly.
1926 (mangle_local_cni_method_decl): New.
1927 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
1928 gcc_assert, and MANGLE_RAW_STRING.
1929 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
1931 2005-05-25 DJ Delorie <dj@redhat.com>
1933 * class.c (set_constant_value): Move warning control from if() to
1936 2005-05-24 Richard Henderson <rth@redhat.com>
1938 * builtins.c (define_builtin): Don't call make_decl_rtl.
1939 * constants.c (build_constant_data_ref): Likewise.
1940 * class.c (build_utf8_ref): Likewise.
1941 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
1942 (get_dispatch_table, layout_class_method): Likewise.
1943 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
1945 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
1946 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
1947 to determine if we need a non-zero address.
1948 * decl.c (builtin_function): Don't call make_decl_rtl.
1949 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
1950 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
1951 * resource.c (compile_resource_data): Likewise.
1952 * parse.y (resolve_field_access): Re-word comment to avoid
1955 2005-05-24 Richard Henderson <rth@redhat.com>
1957 * class.c (registered_class): Take it out of class_roots; turn into
1959 (register_class): Make static. Don't duplicate decl node. Use
1961 (emit_register_classes): Use VEC_iterate. Use output_constant
1962 instead of assemble_integer. Don't call mark_decl_referenced
1964 * java-tree.h (register_class): Remove decl.
1966 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
1970 * parse.y (register_package, package_list): Remove.
1971 (package_declaration): Do not call register_package.
1972 (do_resolve_class): Do not use package_list.
1974 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
1976 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
1979 2005-05-15 Tom Tromey <tromey@redhat.com>
1982 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
1985 2005-05-12 Aaron Luchko <aluchko@redhat.com>
1987 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
1989 2005-05-11 Tom Tromey <tromey@redhat.com>
1991 * gcj.texi (Code Generation): Document -fbootstrap-classes.
1992 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
1993 (parse_version): Use it.
1994 * lang.opt (-fbootstrap-classes): New option.
1996 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
1999 * class.c (maybe_layout_super_class): Look for imports in this_class.
2000 * parse.h (ctxp_for_generation_last): New.
2001 (do_resolve_class): Add a parameter.
2002 * parse.y (ctxp_for_generation_last): New.
2003 (java_pop_parser_context): Add at end of list.
2004 (find_in_imports, find_in_imports_on_demand): Look in ctxp
2005 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
2006 the given type are NULL.
2007 (do_resolve_class): Look into the imports of the new second parameter.
2008 Adjust recursive calls.
2009 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
2010 calls to do_resolve_class.
2011 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
2012 (java_complete_class): Do not do that here.
2014 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
2017 * Make-lang.in (java): Add gjnih.
2018 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
2019 (GJNIH_OBJS): New variable.
2020 (gjnih$(exeext)): New target.
2021 (JAVA_MANFILES): Add gjnih.1.
2022 (java.uninstall): Add gjnih.1.
2023 (java.mostlyclean): Add gjnih.
2024 (java.maintainer-clean): Add gjnih.1.
2025 (java/gjavah-jni.o): New target.
2026 (.INTERMEDIATE): Add gjnih.pod.
2027 (gjnih.pod): New target.
2028 * config-lang.in (stagestuff): Add gjnih.
2029 * gcj.texi (Top): Add gjnih node.
2030 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
2031 -bootclasspath options.
2032 (Invoking gjnih): New node.
2033 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
2034 (TOOLNAME): New macro.
2035 (error): Replace hard-coded gcjh with TOOLNAME.
2036 (process_file): Likewise.
2038 (version): Likewise.
2039 (help): Likewise. Add help output for -force, -old, -trace and -J
2041 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
2042 (options): Add force, old, trace and J fields.
2043 (main): Handle -force, -old, -trace and -J options.
2045 2005-05-03 Tom Tromey <tromey@redhat.com>
2048 * gjavah.c (main): Unlink output file on error.
2050 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
2052 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
2055 2005-04-29 Tom Tromey <tromey@redhat.com>
2057 * expr.c (build_jni_stub): Updated for change to build_block.
2059 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
2061 * expr.c (force_evaluation_order): Declare 'saved' earlier.
2063 2005-04-28 Andrew Haley <aph@redhat.com>
2066 * java-tree.h (soft_resolvepoolentry_node): New.
2067 (alloc_constant_fieldref): Declare.
2068 * expr.c (expand_java_field_op): Don't call class_init for
2069 accesses to static fields with indirect dispatch.
2070 * builtins.c (initialize_builtins): Add "__builtin_expect".
2071 * decl.c (soft_resolvepoolentry_node): New variable.
2072 (java_init_decl_processing): Create a decl for
2073 "_Jv_ResolvePoolEntry".
2074 * class.c (build_fieldref_cache_entry): New function.
2075 (build_static_field_ref): Rewrite for indirect dispatch.
2076 * constants.c (find_name_and_type_constant_tree): New function.
2077 (alloc_constant_fieldref): Likewise.
2078 (build_constants_constructor): Handle CONSTANT_Fieldref and
2079 CONSTANT_NameAndType.
2082 * expr.c (force_evaluation_order): Convert outgoing args smaller
2085 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
2087 * gcj.texi (libgcj Runtime Properties): Remove obsolete
2088 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
2089 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2091 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2093 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
2094 to `unlock_stream' with `unlock_std_streams'.
2096 2005-04-25 Jakub Jelinek <jakub@redhat.com>
2098 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
2099 instead of just expr.h.
2101 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2103 * gjavah.c (main): Unlock the stdio streams.
2104 * jcf-dump.c (main): Likewise.
2105 * jv-scan.c (main): Likewise.
2106 * jvgenmain.c (main): Likewise.
2108 2005-04-23 DJ Delorie <dj@redhat.com>
2110 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
2111 parse.y: Adjust warning() callers.
2113 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
2115 * gcj.texi (Object fields): Change "Integer" to "Int" in example
2118 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
2120 * gcj.texi: Fix typos and bogus example.
2122 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
2124 * except.c: Fix a comment typo.
2126 2005-04-19 Julian Brown <julian@codesourcery.com>
2128 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
2129 indirect dispatch with PIC.
2131 2005-04-18 Andrew Haley <aph@redhat.com>
2133 * java-except.h (struct eh_range.handler): Remove unused field.
2134 (handle_nested_ranges): Remove function declaration.
2135 (sanity_check_exception_range): Add function declaration.
2136 * verify.c (verify_jvm_instructions): Remove call to
2137 handle_nested_ranges.
2138 * verify-glue.c (verify_jvm_instructions_new): Call
2139 sanity_check_exception_range.
2140 * except.c (link_handler, eh_range_freelist, link_handler,
2141 handle_nested_ranges): Remove.
2142 (add_handler): Rewrite.
2143 (sanity_check_exception_range): New function.
2144 (print_ranges): New function.
2146 2005-04-13 Julian Brown <julian@codesourcery.com>
2148 * decl.c (finish_method): Give methods once-only linkage.
2150 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2152 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2154 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2156 * java-tree.h: Don't use PARAMS().
2158 2005-04-07 Per Bothner <per@bothner.com>
2160 * class.c (push_class): By default, suppress debug output.
2161 (finish_class): Enable debug output for classes we're emitting.
2163 2005-04-07 Andrew Haley <aph@redhat.com>
2165 * gcj.texi: Correct gcj-dbtool instructions.
2167 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
2169 * gcj.texi: Fix a typo.
2170 * lang.c: Fix a comment typo.
2172 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
2174 * gcj.texi (Invoking gij): Add descriptions of new -X options.
2175 Mention recognized-and-ignored compatibility options.
2176 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2178 (About CNI): Add Memory allocation section.
2180 2005-04-01 Tom Tromey <tromey@redhat.com>
2182 * decl.c (java_init_decl_processing): Fix types of
2183 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2184 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2185 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2187 2005-03-31 Jan Hubicka <jh@suse.cz>
2189 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2190 * class.c: Include cgraph.h
2191 (make_local_functoin_alias): Mark aslias as needed.
2192 * resource.c: Include cgraph.h
2193 (compile_resource_data): Go via cgraph interface.
2195 2005-03-30 Ian Lance Taylor <ian@airs.com>
2197 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2199 2005-03-30 Tom Tromey <tromey@redhat.com>
2201 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2202 inner_class_info_index==0 or outer_class_info_index==0.
2204 2005-03-29 Tom Tromey <tromey@redhat.com>
2206 * gcj.texi (libgcj Runtime Properties): Document
2207 gnu.gcj.runtime.endorsed.dirs.
2209 2005-03-24 Anthony Green <green@redhat.com>
2211 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2214 2005-03-23 Tom Tromey <tromey@redhat.com>
2216 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2217 (parse_version): Use it.
2219 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2221 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2223 2005-03-18 Andrew Haley <aph@redhat.com>
2226 * decl.c (update_aliases): Don't update variables that are about
2228 (maybe_poplevels): Add comment.
2230 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2233 * jcf-parse.c (duplicate_class_warning): New function.
2234 (java_parse_file): Call duplicate_class_warning if
2235 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2236 (parse_zip_file_entries): Likewise. Also set
2237 CLASS_FROM_CURRENTLY_COMPILED_P.
2239 2005-03-16 Andrew Haley <aph@redhat.com>
2241 * expr.c (expand_java_arrayload): Don't generate a
2242 NullPointerException based on the type of the node.
2243 (build_java_array_length_access): Likewise.
2245 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2247 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2249 2005-03-11 Tom Tromey <tromey@redhat.com>
2251 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2252 (libgcj Runtime Properties): Document the default .db.
2254 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2257 * parse.y (checks_throws_clauses): Check exceptions list even when
2258 the base class does not come from a source file being compiled.
2259 (java_complete_lhs): Remove unused variable 'wfl'.
2261 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2264 * decl.c (finish_method): Emit _Jv_InitClass for private static
2265 methods inside inner classes as well.
2267 2005-03-08 Julian Brown <julian@codesourcery.com>
2268 * Revert patch from 2005-03-08 for causing bootstrap failure on
2271 2005-03-08 Julian Brown <julian@codesourcery.com>
2273 * decl.c (finish_method): Give methods once-only linkage.
2275 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2277 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2279 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2281 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2282 can_widen_reference_to if the C++ ABI is in use.
2283 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2284 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2285 type_isresolved, init_state, set_pc, state_get_pc,
2286 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2287 (verify_fail): Report the current PC from the verifier context.
2288 (free_state): Remove #if 0 block to enable this function.
2289 (free_verifier_context): Call free_state on state_list iterator
2290 values before freeing them.
2291 * expr.c (pop_type_0): Pop correct type for error message when stack
2292 contains a multi-word type.
2294 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2296 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2297 for known NULL array length access.
2299 2005-03-07 Tom Tromey <tromey@redhat.com>
2301 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2303 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2305 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2306 typeck.c: Update copyright.
2308 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2311 * xref.c, xref.h: Remove file.
2312 * Make-lang.in (java/xref.o): Remove.
2313 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2314 * lang.c (flag_emit_xref): Remove definition.
2315 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2316 * typeck.c (convert): Remove use of do_not_fold.
2317 * parse.y (do_not_fold): Remove definition.
2318 (parser grammar): Remove xref code.
2319 (maybe_create_class_interface_decl, create_class): Likewise.
2320 (register_fields, method_header, finish_method_declaration): Likewise.
2321 (declare_local_variables, source_end_java_method): Likewise.
2322 (java_complete_expand_classes): Do not set do_not_fold.
2323 (java_complete_expand_method): Remove xref code.
2324 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2325 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2326 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2327 (patch_synchronized_statement, patch_throw_statement): Likewise.
2328 (maybe_build_class_init_for_field): Likewise.
2330 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2332 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2333 instead of IS_NON_TYPE_CODE_CLASS.
2335 2005-03-04 Andrew Haley <aph@redhat.com>
2338 * class.c (set_method_index): Don't set method_index if it is
2340 (layout_class_method): Don't complain about "non-static method foo
2341 overrides static method" in the case of indirect dispatch.
2343 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2345 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2347 * Make-lang.in: Don't elide warnings in jcf-io.c.
2349 2005-03-01 Per Bothner <per@bothner.com>
2352 * check-init.c (wfl): Remove static.
2353 (final_assign_error, check_init): Replace calls to parse_error_context
2355 (check_init): Save, set, and restore input_location for each exp.
2357 2005-03-01 Per Bothner <per@bothner.com>
2359 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2360 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2361 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2363 2005-03-01 Per Bothner <per@bothner.com>
2365 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2367 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2370 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2373 2005-02-22 Tom Tromey <tromey@redhat.com>
2376 * verify-impl.c (EITHER): New define.
2377 (types_compatible): Handle it.
2378 (check_field_constant): Use it.
2380 2005-02-18 Tom Tromey <tromey@redhat.com>
2383 * verify-impl.c (types_equal): Fixed test.
2386 * verify-glue.c (vfy_class_has_field): New function.
2387 * verify.h (vfy_class_has_field): Declare.
2388 * verify-impl.c (check_field_constant): Added 'putfield'
2390 (verify_instructions_0): Updated.
2391 (types_equal): New function.
2393 2005-02-14 Tom Tromey <tromey@redhat.com>
2396 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2397 stack effect of multianewarray.
2399 2005-02-14 Andrew Haley <aph@redhat.com>
2402 * expr.c (expand_byte_code): Call promote_arguments().
2403 (promote_arguments): New function.
2404 * decl.c (check_local_unnamed_variable): Remove special case for
2406 (find_local_variable): Promote all boolean types to int
2407 when searching for local variable decls.
2409 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2411 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2412 parse-scan.y: Update copyright.
2414 2005-02-11 Per Bothner <per@bothner.com>
2417 * parse-scan.y (input_location): Remove variable.
2418 (main_input_filename): New - replaces input_filename, which isn't
2419 settable if USE_MAPPED_LOCATION.
2420 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2421 so we don't reference input_location or wfl_operator in that case.
2422 * jv-scan.c (expand_location): Remove - no longer used.
2423 (main): Set main_input_filename rather than input_filename.
2425 2005-02-09 Richard Henderson <rth@redhat.com>
2427 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2428 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2430 2005-02-08 Marcin Dalecki <martin@dalecki.de>
2432 * expr.c (add_type_assertion): Use the proper enumeration type,
2433 since this is what htab_find_slot() is expecting.
2435 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2437 * gcj.texi: Update copyright dates.
2439 2005-02-02 Tom Tromey <tromey@redhat.com>
2441 * gcj.texi (libgcj Runtime Properties): Default library_control
2444 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
2447 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2448 (modifiers) when square brackets are present in a declaration for
2450 * jv-scan.c (main): Set input_filename and input_line.
2452 2005-02-01 Tom Tromey <tromey@redhat.com>
2455 * gjavah.c (get_field_name): Don't override name for JNI header.
2457 2005-02-01 Roger Sayle <roger@eyesopen.com>
2459 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2460 of unsigned types using iushr and lushr JVM bytecodes.
2462 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2465 * gjavah.c (jni_print_float): Do not emit floating-point
2466 initialiser for a static final field.
2467 (jni_print_double): Likewise.
2469 2005-02-01 Mark Mitchell <mark@codesourcery.com>
2472 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2473 * gjavah.c (print_field_info): Mark static data members of
2474 floating-point type with "__extension__".
2476 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2478 * gjavah.c (print_field_info): Mark static data members of
2479 floating-point type with "__extension__".
2481 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2484 * parse.y (build_string_concatenation): Remove redundant if.
2485 (patch_conditional_expr): Attempt to patch_string() the condition
2486 of a ?: as well, in addition to its other operands.
2488 2005-01-25 Tom Tromey <tromey@redhat.com>
2490 * Make-lang.in (java/java-tree-inline.o): Removed.
2492 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
2495 * parse.y (patch_binop): Allow comparisons against NULL only
2496 if the other operand is of a reference type.
2498 2005-01-24 Tom Tromey <tromey@redhat.com>
2500 * java-tree.h (gcj_abi_version): Declare.
2501 * class.c (make_class_data): Push gcj_abi_version into "next"
2502 field. Renamed field.
2503 * decl.c (gcj_abi_version): New global.
2504 (parse_version): New function.
2505 (java_init_decl_processing): Call it. Renamed 'next' field.
2507 (GCJ_BINARYCOMPAT_ADDITION): New define.
2509 2005-01-24 Roger Sayle <roger@eyesopen.com>
2512 * jcf-write.c (generate_bytecode_insns): Conversions between
2513 integer types of the same precision shouldn't generate widening
2514 or narrowing conversion bytecodes.
2516 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2518 * java-except.h, java-tree.h: Remove unused prototypes.
2520 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
2523 * jcf-write.c (perform_relocations): Don't call memcpy if source
2524 and destination are the same.
2526 2005-01-17 Tom Tromey <tromey@redhat.com>
2528 * verify-impl.c (get_short): Sign extend.
2529 (get_int): Likewise.
2531 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
2533 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2536 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2538 * verify.c: Revert to the version before the BC-ABI merge.
2540 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2543 * check-init.c (check_init): Take care of references that do not
2544 have an explicit final variable declaration (e.g. array length
2545 access) for pre/post in/de-crement operators.
2547 2005-01-08 Mark Wielaard <mark@klomp.org>
2549 * parse.y (process_imports): Allocate (and free) original_name only
2550 when not already defined.
2551 * jcf-parse.c (read_class): Free results of find_class() and
2553 (java_parse_file): Keep pointer to head of file_list and free when
2554 done. Free result of lrealpath().
2556 2005-01-05 Tom Tromey <tromey@redhat.com>
2558 * gcj.texi (Standard Properties): java.ext.dirs is now used.
2560 2004-12-20 Andrew Haley <aph@redhat.com>
2562 * typeck.c: Use fold_convert for ints and booleans.
2564 2004-12-17 Andrew Haley <aph@redhat.com>
2567 * typeck.c (convert): Use a CONVERT_EXPR when converting to
2568 BOOLEAN_TYPE or CHAR_TYPE.
2569 (convert_to_boolean, convert_to_char) : Remove.
2570 * convert.h (convert_to_boolean, convert_to_char) : Remove.
2571 * expr.c (expand_load_internal): Do type conversion if type is not
2574 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
2577 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
2580 2004-12-07 Andrew Haley <aph@redhat.com>
2583 * jcf-parse.c (load_class): Remove sanity test for missing inner
2586 2004-12-06 Tom Tromey <tromey@redhat.com>
2588 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
2589 (java.uninstall): Likewise.
2590 (java.maintainer-clean): Likewise.
2591 (.INTERMEDIATE): Likewise.
2592 (java.install-man): Likewise.
2593 (gcj-dbtool.pod): New target.
2594 * gcj.texi (Code Generation): Document -findirect-dispatch.
2595 (libgcj Runtime Properties): Document
2596 gnu.gcj.precompiled.db.path.
2597 (Top): Link to "Invoking gcj-dbtool".
2599 2004-12-06 Tom Tromey <tromey@redhat.com>
2602 * java-tree.h (extract_field_decl): Declare.
2603 * parse.y (extract_field_decl): Renamed from
2604 strip_out_static_field_access_decl. No longer static.
2605 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
2607 2004-12-03 Tom Tromey <tromey@redhat.com>
2609 * lang.c (flag_new_verifier): Define.
2610 (java_post_options): Set flag_new_verifier if indirect dispatch
2612 * lang.opt (fnew-verifier): Removed.
2614 2004-12-03 Tom Tromey <tromey@redhat.com>
2617 * Make-lang.in (java.install-common): Only install transformed
2618 gcjh if gcj-cross exists.
2620 2004-12-03 Andrew Haley <aph@redhat.com>
2623 * except.c (link_handler): Patch 'outer' field of siblings of the
2624 range we're demoting.
2626 2004-12-03 Andrew Haley <aph@redhat.com>
2629 * class.c (layout_class_method): Don't fail to override a method
2630 simply because it has DECL_ARTIFICIAL set.
2632 2004-12-02 Tom Tromey <tromey@redhat.com>
2635 * parse.y (craft_constructor): Special case null_pointer_node.
2637 2004-12-02 Tom Tromey <tromey@redhat.com>
2640 * java-gimplify.c (java_gimplify_expr): Don't call
2641 SET_EXPR_LOCATION unless wrapped tree is an expression.
2643 2004-11-27 Per Bothner <per@bothner.com>
2645 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
2646 Fix fencepost error in 'i', which got executed one too many times.
2647 Also, fold memcpy into explicit loop, as originally intended.
2648 Also, free temporary 'buf' which otherwise leaks.
2650 2004-11-27 Per Bothner <per@bothner.com>
2652 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
2653 local static variables if not USE_MAPPED_LOCATION.
2655 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
2657 * class.c, decl.c, expr.c: Fix comment typos.
2659 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
2662 * decl.c (end_java_method): Call
2663 attach_init_test_initialization_flags on all the init_decls.
2664 * parse.y (attach_init_test_initialization_flags): Move to ...
2665 * expr.c (attach_init_test_initialization_flags): here and
2666 support BIND_EXPR also.
2667 * java-tree.h (attach_init_test_initialization_flags): Prototype.
2668 * jcf-parse.c (parse_class_file): Don't disable class init
2671 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
2673 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
2676 2004-11-24 Richard Henderson <rth@redhat.com>
2678 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
2679 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
2681 2004-11-24 Tom Tromey <tromey@redhat.com>
2683 * verify.c (defer_merging): Don't use C++-style comment.
2684 * verify.h (java_opcode): Added java_opcode_end.
2685 * class.c (build_class_ref): Remove C++ comment and old FIXME.
2687 * verify-impl.c (vfy_push_type): Removed bogus "return".
2688 (initialize_stack): Use vfy_alloc and vfy_free.
2689 (verify_instructions_0): Likewise.
2691 * Merged gcj-abi-2-dev-branch to trunk.
2693 2004-11-24 Andrew Haley <aph@redhat.com>
2695 * jcf-parse.c (parse_class_file): Set file_start_location.
2697 2004-11-10 Tom Tromey <tromey@redhat.com>
2699 * class.c (make_field_value): Don't call build_static_field_ref.
2700 (build_static_field_ref): Don't emit direct references when using
2703 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
2704 -verbose:class into man page synopsis.
2706 2004-11-09 Tom Tromey <tromey@redhat.com>
2708 * expr.c (build_java_arraystore_check): Still generate check if
2709 element type is itself an array.
2711 2004-11-08 Tom Tromey <tromey@redhat.com>
2713 * java-tree.h (soft_check_assignment_node): Removed.
2714 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
2715 * decl.c (java_init_decl_processing): Don't initialize
2716 soft_check_assignment_node.
2718 2004-11-05 Tom Tromey <tromey@redhat.com>
2720 * class.c (layout_class_methods): Don't add Miranda methods when
2721 using indirect dispatch.
2723 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
2725 * class.c (make_class_data): Call emit_assertion_table to set the
2726 'assertion_table' field.
2727 (build_signature_for_libgcj): Move here from expr.c.
2728 (add_assertion_table_entry): New function. Callback for assertion
2729 hashtable traversal.
2730 (emit_assertion_table): New. Take class argument, and generate
2731 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
2732 * decl.c (init_decl_processing): Define assertion_entry_type record.
2733 Push 'assertion_table' class field instead of 'verify'.
2734 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
2735 (type_assertion_hash): Include 'assertion_code' in hash.
2736 (add_type_assertion): Rewritten. Take class and assertion_code
2737 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
2738 (can_widen_reference_to): Use new add_type_assertion() arguments.
2739 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
2740 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
2741 (verify_identifier_node): Removed.
2742 (assertion_entry_type, assertion_table_type): New.
2743 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
2744 assertion code definitions.
2745 (struct type_assertion): Add assertion_code. Rename 'source_type' and
2746 'target_type' to 'op1' and 'op2'.
2747 (add_type_assertion): Declare.
2748 (lang_printable_name_wls): Remove unused definition.
2749 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
2750 to emit runtime assertion.
2751 (vfy_note_stack_type): Clean up non-C90 declarations.
2752 (vfy_note_local_type): Likewise.
2753 * verify.h (vfy_is_assignable_from): Declare.
2754 * verify-impl.c (is_assignable_from_slow): Remove unused function.
2755 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
2756 instead of is_assignable_from_slow().
2757 (types_compatible): Reinstate ref_compatible() call.
2759 2004-11-04 Tom Tromey <tromey@redhat.com>
2761 * class.c (build_static_field_ref): Reverted previous patch.
2763 * class.c (build_static_field_ref): Don't emit direct references
2764 when using indirect dispatch.
2766 2004-11-03 Tom Tromey <tromey@redhat.com>
2768 * expr.c (expand_java_arrayload): Set lhs_type_node.
2769 (expand_java_arraystore): Set rhs_type_node.
2771 2004-11-02 Tom Tromey <tromey@redhat.com>
2773 * jcf-parse.c (compute_class_name): Use filename length from zip
2774 directory, not strlen.
2776 * expr.c (expand_invoke): Mark new interface methods as abstract.
2778 2004-11-01 Tom Tromey <tromey@redhat.com>
2780 * verify-impl.c (push_jump): Removed check for uninitialized
2782 (push_exception_jump): Likewise.
2783 (handle_ret_insn): Likewise.
2784 (handle_jsr_insn): Likewise.
2785 (state_check_no_uninitialized_objects): Removed.
2787 * decl.c (check_local_unnamed_variable): Recognize
2788 promoted-to-int parameters when using the new verifier.
2789 * expr.c (expand_java_arraystore): Explicitly request array type
2790 when using new verifier.
2791 (expand_java_arrayload): Likewise.
2792 (invoke_build_dtable): Don't pass object_type_node as
2793 expression argument to build_java_indirect_ref.
2794 (build_java_check_indexed_type): Do nothing.
2795 (build_java_arraystore_check): Handle case where array doesn't
2797 (build_java_array_length_access): Likewise.
2798 (expand_invoke): Handle case where interface overrides a method
2800 (pop_type_0): Always succeed for reference types.
2801 (process_jvm_instruction): Don't pop a value in a dead
2803 (pop_arguments): Convert arguments to correct types.
2805 2004-10-29 Andrew Haley <aph@redhat.com>
2807 * jcf-parse.c (give_name_to_class): Remove line that was
2810 2004-10-29 Andrew Haley <aph@redhat.com>
2812 * jcf-parse.c (set_source_filename): Add code to build new sfname.
2814 2004-10-20 Andrew Haley <aph@redhat.com>
2816 * decl.c (end_java_method): Don't expand if flag_syntax_only.
2818 2004-10-26 Tom Tromey <tromey@redhat.com>
2820 * verify.h (vfy_notify_verified): Removed.
2821 * verify-glue.c (vfy_notify_verified): Removed.
2823 2004-10-26 Tom Tromey <tromey@redhat.com>
2825 * verify-impl.c (debug_print_state): Declare `i' before code.
2826 (merge_types): Modify `t' when it is null_type.
2828 2004-10-26 Tom Tromey <tromey@redhat.com>
2830 * verify-impl.c (type_print): Renamed from print. Now static and
2832 (debug_print_state): Use type_print.
2834 2004-10-25 Tom Tromey <tromey@redhat.com>
2836 * expr.c (build_invokeinterface): Compute correct offset for
2837 index into interface methods.
2839 2004-10-20 Tom Tromey <tromey@redhat.com>
2841 * java-tree.h (verify_jvm_instructions_new): Declare.
2843 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
2846 * verify-impl.c (verify_instructions): Correctly handle wide
2848 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
2849 (vfy_get_component_type): Strip pointer types.
2850 (vfy_find_class): Use get_type_from_signature. Strip pointer
2852 Include java-except.h.
2854 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2856 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
2857 vfy_push_type_t, set_variable, add_new_state, merge_into,
2858 handle_jsr_insn, branch_prepass, check_class_constant,
2859 check_wide_constant, get_one_type, compute_static_types,
2860 verify_instructions_0): Clean up C99 declarations after statements.
2862 2004-10-20 Tom Tromey <tromey@redhat.com>
2864 * verify-impl.c (merge_refs): Compare reference against iterator,
2867 * verify-glue.c (vfy_tag): Mask off resolved flag.
2869 2004-10-19 Tom Tromey <tromey@redhat.com>
2871 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
2872 (init_state_with_stack): Initialize `this_type' in state.
2873 (verify_method): Use debug_print.
2874 * verify-glue.c (vfy_is_primitive): Removed debugging print.
2875 (vfy_note_stack_depth): Reverted last patch.
2876 (vfy_note_stack_type): Note pointer to Object, not Object.
2877 (vfy_note_local_type): Likewise.
2879 * verify.h (vfy_note_instruction_seen): Declare.
2880 * verify-glue.c (verify_jvm_instructions_new): Set
2881 BCODE_EXCEPTION_TARGET on target instruction.
2882 (vfy_note_instruction_seen): New function.
2883 * verify-impl.c (FLAG_INSN_SEEN): New define.
2884 (verify_instructions_0): Set flag on instruction. Save state for
2886 (verify_instructions): Call vfy_note_instruction_seen.
2888 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
2889 (verify_jvm_instructions_new): Call method_init_exceptions,
2890 add_handler, and handle_nested_ranges.
2891 * verify-impl.c (verify_method): Return 1 on success.
2892 (verify_instructions_0): Save the state at PC=0.
2894 * verify-impl.c (init_type_from_class): Set is_resolved and
2895 ref_next on new ref_intersection.
2896 (init_type_from_string): Likewise.
2898 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
2900 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
2901 if flag_new_verifier is set.
2902 * java-tree.h (flag_new_verifier): Declare.
2903 * lang.opt (fnew-verifier): New option.
2904 * verify-impl.c: Work around namespace pollution by undef'ing
2906 (struct verifier_context): Make 'bytecode' const.
2907 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
2908 (types_compatible): For the BC-ABI, always consider reference types
2910 (check_class_constant): Use vfr->current_class.
2911 (check_constant): Likewise.
2912 (check_wide_constant): Likewise.
2913 (check_field_constant): Check for 'L' at start of type name.
2914 (get_one_type): Return pointer instead of type. Set type result in
2915 caller via passed type pointer.
2916 (compute_argument_types): Update to use new get_one_type arguments.
2917 (compute_return_type): Likewise.
2918 (make_verifier_context): New. Allocate and initialize 'vfr'.
2919 (free_verifier_context): New. Free 'vfr' and its contents.
2920 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
2921 and free_verifier_context.
2923 2004-10-15 Tom Tromey <tromey@redhat.com>
2925 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
2926 * verify.h (vfy_fail): Fixed formatting.
2928 * verify-impl.c (vfr): Fixed comment formatting.
2929 (collapse_type): New function.
2930 (verify_instructions): Notify compiler about type map.
2931 * verify.h (vfy_note_stack_depth): Updated.
2932 (vfy_note_stack_type): Likewise.
2933 (vfy_note_local_type): Likewise.
2934 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
2936 * verify-glue.c (vfy_note_stack_depth): Correctly size type
2937 state. Added `method' argument.
2938 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
2940 (vfy_note_local_type): New function.
2941 (vfy_unsuitable_type): Likewise.
2942 (vfy_return_address_type): Likewise.
2943 (vfy_null_type): Likewise.
2945 * verify.h (VFY_IN_GCC): Removed.
2946 (VFY_WANT_TYPEMAP): Removed.
2947 * verify-impl.c (verify_instructions_0): Removed useless "\".
2948 (struct state) <next>: Uncomment.
2950 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
2952 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
2955 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
2957 * Make-lang.in (verify.o): Re-enabled this target.
2958 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
2959 (vfy_get_interface): Likewise.
2960 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
2961 * verify.h (verify_jvm_instructions_new): Declare.
2962 * verify-impl.c (free_state): Temporarily comment out unused
2965 2004-10-06 Tom Tromey <tromey@redhat.com>
2967 * java-tree.h (JV_STATE_READ): New enum value.
2969 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
2971 * verify.h: New file.
2973 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
2975 * verify-impl.c, verify-glue.c, verify.h: New files.
2976 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
2978 2004-09-24 Andrew Haley <aph@redhat.com>
2980 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
2981 for a slot if it's of pointer type.
2983 2004-09-14 Tom Tromey <tromey@redhat.com>
2985 * class.c (make_class_data): Correctly initialize "state" field.
2986 Initialize "engine" field.
2987 * decl.c (java_init_decl_processing): Add "engine" field.
2989 2004-09-10 Andrew Haley <aph@redhat.com>
2992 * expr.c (build_invokeinterface): Use fast method for interface
2994 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
2995 JTI_ITABLE_PTR_TYPE.
2996 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
2997 (emit_symbol_table): Add new arg, element_size.
2998 * decl.c (java_init_decl_processing): Initialize Class.itable.
2999 * class.c (GEN_TABLE): New macro.
3000 (gen_indirect_dispatch_tables): Use it. Add itable.
3001 (make_class_data): Add new arg for emit_symbol_table().
3003 (add_miranda_methods): Make sure search_class has been parsed.
3004 (emit_symbol_table): Add new arg, element_size.
3006 2004-09-06 Andrew Haley <aph@redhat.com>
3008 * verify.c (merge_types): Return Object for all merges of
3010 * expr.c (add_type_assertion): Don't generate assertions when
3011 source type is array of Object.
3013 2004-09-03 Andrew Haley <aph@redhat.com>
3015 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
3017 * lang.c (java_post_options): Force flag_verify_invocations if
3018 we're not using indirect dispatch.
3020 * expr.c (pop_type_0): Move test for interfaces before call to
3021 can_widen_reference_to().
3022 (build_signature_for_libgcj): Remove generation of canonical array
3024 (add_type_assertion): Canonicalize both arrays.
3025 Don't assert that type X can be assigned to Object.
3026 Don't assert that type X an be assigned to type X.
3027 Don't assert that Object can be assigned to type X.
3028 (can_widen_reference_to): Warn whenever we generate an assertion.
3029 (process_jvm_instruction): Use throwable_type_node for the type of
3032 2004-09-01 Andrew Haley <aph@redhat.com>
3034 * decl.c (java_init_decl_processing): Change
3035 verify_identifier_node to "__verify".
3036 * expr.c (add_type_assertion): Use verify_identifier_node for name.
3037 * java-tree.h (verify_identifier_node): Change to "__verify".
3039 * expr.c (build_signature_for_libgcj): New function.
3040 (add_type_assertion): Use it to construct signatures for
3041 source_type and target_type.
3043 2004-08-27 Andrew Haley <aph@redhat.com>
3045 * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
3046 (verify_identifier_node): New.
3047 (TYPE_VERIFY_METHOD): New.
3048 (struct type_assertion): New type.
3049 * expr.c (type_assertion_eq): New function.
3050 (type_assertion_hash): New function.
3051 (add_type_assertion): New function.
3052 (can_widen_reference_to): Call add_type_assertion().
3053 * decl.c (java_init_decl_processing): Add verify_identifier_node.
3054 * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
3055 (finish_class): Output TYPE_VERIFY_METHOD (type).
3057 * decl.c (end_java_method): Nullify unused fields.
3059 2004-08-17 Andrew Haley <aph@redhat.com>
3061 * verify.c (defer_merging): Quieten.
3062 * jcf-parse.c (load_class): Only try to open a class file if it's
3063 java.lang.Object or if it's part of the current compilation.
3064 Check that the class we just tried to load is the class we just
3066 (java_parse_file): Set flag_verify_invocations off if we're
3067 compiling from .class.
3068 (parse_zip_file_entries): Abort if we try to read a dummy class.
3069 * expr.c (can_widen_reference_to): Quieten.
3070 (build_invokevirtual): Abort if we try to invokevirtual an
3072 (expand_invoke): Don't build a non-interface call to an interface.
3073 (build_instanceof): Don't do premature optimization if
3074 flag_verify_invocations is not set.
3075 * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
3077 (build_static_field_ref): Add correct type conversion for
3079 (add_miranda_methods): Disable generation of Miranda methods for
3081 (layout_class_method): Don't complain about non-static method
3082 overrides static method with dummy classes.
3084 2004-08-13 Tom Tromey <tromey@redhat.com>
3086 * class.c (build_static_field_ref): Re-enable atable lookups for
3089 * parse.y (strip_out_static_field_access_decl): Indentation fix.
3091 2004-08-11 Tom Tromey <tromey@redhat.com>
3093 * gcj.texi (libgcj Runtime Properties): Document new properties.
3095 2004-08-06 Andrew Haley <aph@redhat.com>
3097 * jcf-parse.c (load_class): Check that we really have loaded the
3098 class we're looking for.
3100 2004-07-19 Andrew Haley <aph@redhat.com>
3102 * verify.c (verify_jvm_instructions): Comment change only.
3104 * typeck.c (build_java_array_type): Add size field to array name.
3106 * java-tree.h (LOCAL_SLOT_P): New.
3107 (update_aliases): Add PC argument.
3108 (pushdecl_function_level): New function.
3110 * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
3111 MODIFY_EXPR, and SAVE_EXPR.
3112 (java_gimplify_modify_expr): New function.
3114 * expr.c (push_type_0): Call find_stack_slot() to create temporary.
3115 (expand_iinc): Pass PC to update_aliases().
3116 (STORE_INTERNAL): Likewise.
3117 (process_jvm_instruction): Likewise.
3119 * decl.c (base_decl_map): New variable.
3120 (uniq): New variable.
3121 (update_aliases): Rewrite with more thorough checking.
3122 (debug_variable_p): New function.
3123 (push_jvm_slot): Don't initialize local variable. Don't pushdecl.
3124 (check_local_named_variable): Delete whole function.
3125 (initialize_local_variable): New function.
3126 (check_local_unnamed_variable): Add checks and comments.
3127 (find_local_variable): Rewrite.
3128 (java_replace_reference): New function.
3129 (function_binding_level): New variable.
3130 (pushdecl_function_level): New function.
3131 (maybe_pushlevels): Set DECL_LOCAL_END_PC.
3132 (maybe_pushlevels): Call pushdecl() on each of the new decls.
3133 (start_java_method): Reset uniq. Create base_decl_map. Set
3134 function_binding_level.
3135 (end_java_method): Null unused fields to save memory.
3137 2004-06-29 Andrew Haley <aph@redhat.com>
3139 * except.c (expand_start_java_handler): Push a new binding level.
3140 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
3141 register_exception_range() to register where we'll do it.
3142 (expand_end_java_handler): Remove old bogus code. Replace with
3143 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
3144 the top of the expression we're curently building.
3145 (maybe_end_try): Delete.
3146 * decl.c (binding_level.exception_range): New field.
3147 (clear_binding_level): Add field exception_range. Reformat.
3148 (poplevel): Call expand_end_java_handler().
3149 (poplevel): Call java_add_stmt only if functionbody is false.
3150 (maybe_poplevels): Don't call maybe_end_try() from here.
3151 (end_java_method): Clear no longer used trees in function decl.
3152 (register_exception_range): New function.
3153 * java-tree.h (register_exception_range, struct eh_range): Declare.
3155 2004-06-22 Andrew Haley <aph@redhat.com>
3157 * class.c (gen_indirect_dispatch_tables): Set the DECL_OWNER of
3159 * check-init.c (get_variable_decl): Teach check-init about
3160 FIELD_DECLs addressed via the otable.
3161 * jcf-parse.c (load_class): Check CLASS_LOADED_P, not
3164 2004-05-28 Andrew Haley <aph@redhat.com>
3166 * jcf-parse.c (load_class): Don't try to read a class that we've
3169 * expr.c (build_invokeinterface): Use the old-fashioned way of
3170 doing indirect dispatch: look up interfaces by name.
3171 * java-tree.h (enum java_tree_index): Add
3172 JTI_SOFT_LOOKUPINTERFACEMETHODBYNAME_NODE
3173 * decl.c (java_init_decl_processing): Add
3174 soft_lookupinterfacemethodbyname_node.
3176 * gjavah.c (print_method_info): Final methods have vtable entries,
3177 so gjavah needs to output them.
3178 * class.c (layout_class_method): Generate vtable entries for final
3180 * parse.y (invocation_mode): Use INVOKE_VIRTUAL for indirect
3181 dispatch, even if a method is final.
3183 2004-05-25 Andrew Haley <aph@redhat.com>
3185 * class.c (build_symbol_entry): Convert the names of constructors
3186 to init_identifier_node when generating an entry for the indirect
3189 * expr.c (build_known_method_ref): Generate indirect calls for
3190 all methods marked DECL_EXTERNAL or TREE_PUBLIC.
3192 2004-05-24 Andrew Haley <aph@redhat.com>
3194 * expr.c (build_known_method_ref): Make sure ARRAY_REF access to
3195 atable element is of the right type.
3197 * class.c (build_static_field_ref): Cast pointer to correct type
3200 2004-04-20 Bryce McKinlay <mckinlay@redhat.com>
3202 * Merged with HEAD as of 20040514. Diff against
3203 gcj-abi-2-merge-20040514.
3205 2004-04-16 Andrew Haley <aph@redhat.com>
3207 * verify.c (check_pending_block): Disable subroutine checks.
3208 (defer_merging): New function.
3209 (merge_types): If types are dummy, use defer_merging to combine them.
3210 (verify_jvm_instructions): If invocation is invokeinterface and
3211 target is dummy, assume target really is an interface.
3213 * parse.y (patch_invoke): Break out call to java_create_object.
3215 * lang.c (flag_verify_invocations): New.
3217 * jcf-parse.c (load_class): If we've already failed to load a
3218 class, don't try again.
3219 (load_class): If we can't find a .class file, don't fail, but emit
3221 (parse_class_file): Don't act on dummy methods.
3223 * java-tree.h (flag_verify_invocations): New.
3225 (lang_type.dummy_class): New field.
3226 (java_create_object): New function.
3227 (METHOD_DUMMY): New.
3229 * expr.c (build_field_ref): Widen field offset.
3230 (pop_type_0): If the type in stack_type_map is a TREE_LIST, check
3231 that each of its elements is compatible with the one we're
3233 (pop_type_0): Issue a warning to say that we need to generate a
3235 (java_create_object): New function.
3236 (build_field_ref): Only generate hard refs if we're not using
3238 (expand_java_field_op): If we're using !verify_invocations and we
3239 see a missing field, generate a decl for it.
3241 (expand_invoke): If a class doesn't have the method we seek and
3242 we're using !flag_verify_invocations, generate a decl for the
3245 (build_known_method_ref): Always use indirect dispatch via the
3246 atable for static methods.
3248 (expand_java_NEW): Break out object creation into new function,
3251 (can_widen_reference_to): Issue a warning to say that we need to
3252 generate a runtime check.
3254 * class.c (set_super_info): Inherit TYPE_DUMMY from sureclass.
3255 (make_method_value): Also use index for interfaces.
3256 (make_class_data): Skip dummy field for inherited data.
3257 Don't build method array for dummy methods.
3258 Set size_in_byte to -1 when using inirect dispatch
3259 Don't build a hard class ref if we don't have a hard ref to our
3260 superclass, or if we're using inirect dispatch.
3261 Null out dispatch tables.
3263 (layout_class_method): Don't complain about non-static method
3264 overrides static method is method is artificial.
3266 (build_static_field_ref): Disable atable references to static
3267 fields for the time being.
3269 (layout_class_methods): Check for CLASS_INTERFACE as
3270 well as CLASS_ABSTRACT.
3272 2004-11-24 Steven Bosscher <stevenb@suse.de>
3274 * class.c (make_class_data): Don't check flag_inline_functions.
3275 * lang.c (flag_really_inline): Remove unused flag.
3276 (java_handle_option): Don't set it here. Remove special handling
3277 of flag_inline_functions for Java.
3278 (java_init): Don't set flag_inline_trees here. Already done...
3279 (java_post_options): ...here. Don't clear flag_inline_functions.
3281 2004-11-24 Steven Bosscher <stevenb@suse.de>
3283 * java-gimplify.c (java_gimplify_labeled_block_expr): New function.
3284 (java_gimplify_exit_block_expr): New function.
3285 (java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
3287 * java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
3288 (EXIT_BLOCK_EXPR): Likewise.
3289 * java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
3290 (LABELED_BLOCK_BODY): Likewise.
3291 (EXIT_BLOCK_LABELED_BLOCK): Likewise.
3292 * jcf-write.c (generate_bytecode_insns): Don't handle the unused
3293 EXIT_BLOCK_RETURN operand. Use EXIT_BLOCK_LABELED_BLOCK instead of
3295 * lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
3296 (java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
3297 EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND. Don't handle the
3298 second operand of EXIT_BLOCK_EXPR.
3299 * parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
3301 (build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
3303 2004-11-23 Ben Elliston <bje@au.ibm.com>
3305 * xref.h (xref_flag_value): Remove.
3306 (xref_set_data, xref_get_data): Likewise.
3307 (xref_set_current_fp): Likewise.
3308 (XREF_NONE): Likewise.
3309 (XREF_GET_DATA): Likewise.
3310 * xref.c (xref_flag_value): Remove.
3311 (xref_set_data, xref_get_data): Likewise.
3312 (xref_set_current_fp): Likewise.
3314 2004-11-23 Ben Elliston <bje@au.ibm.com>
3316 * gjavah.c (output_directory): Make static.
3317 (temp_directory): Likewise.
3319 2004-11-15 Tom Tromey <tromey@redhat.com>
3321 * decl.c (instn_ptr_type_node): Removed.
3322 (lineNumbers_ptr_type_node): Removed.
3323 (jint_type): Removed.
3324 (jint_ptr_type): Removed.
3326 2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
3329 * check-init.c (check_init): Ignore DECL_EXPR.
3330 * expr.c (always_initialize_class_p): Reenable.
3331 (build_class_init): Use a variable to store the decl. Also use
3332 boolean_false_node instead of integer_zero_node.
3333 * parse.y (attach_init_test_initialization_flags): Add a decl_expr
3336 2004-11-08 Tom Tromey <tromey@redhat.com>
3339 * gjavah.c (HANDLE_END_FIELD): Call print_field_info when
3340 generating a JNI header.
3341 (print_field_info): Handle JNI headers.
3342 (jni_print_float): Likewise.
3343 (jni_print_double): Likewise.
3345 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
3347 * decl.c (end_java_method): Remove duplicated code.
3349 2004-11-06 Zack Weinberg <zack@codesourcery.com>
3350 Gerald Pfeifer <gerald@pfeifer.com>
3352 * lex.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
3355 2004-11-02 Bryce McKinlay <mckinlay@redhat.com>
3358 * class.c: Reinstate 2004-08-18 patch.
3359 (make_local_function_alias): Don't create an alias for extern (native)
3362 2004-10-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3365 * class.c (make_local_function_alias): Revert 2004-08-18 change.
3366 (make_method_value): Likewise.
3368 2004-10-21 Andrew Haley <aph@redhat.com>
3371 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3373 2004-10-20 Andrew Haley <aph@redhat.com>
3375 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3376 Remove duplicated code block.
3378 2004-10-18 Steven Bosscher <stevenb@suse.de>
3380 * Make-lang.in (java/parse.o-warn, java/parse-scan.o-warn):
3381 New rules to work around old Bison warnings.
3383 2004-10-17 Steven Bosscher <stevenb@suse.de>
3385 * class.c (ident_subst): Always alloca buffer.
3386 * java-opcodes.h (LAST_AND_UNUSED_JAVA_OPCODE): Add this dummy
3387 opcode after including javaop.def.
3388 * jcf-dump.c (CHECK_PC_IN_RANGE): Return 0 from the arm of the
3389 conditional expression that exits, to avoid warnings.
3390 * verify.c (CHECK_PC_IN_RANGE): Mark the __GNUC__ definition as
3391 a user of an extension.
3392 * win32-host.c: Move check down to have non-empty file when
3393 WIN32 is not defined.
3395 * Make-lang.in (java-warn): Add STRICT_WARN.
3396 (java/jcf-io.o-warn): Don't have Werror for this file.
3397 * jcf-io.c (caching_stat): Add FIXME for non-POSIX scandir use.
3399 2004-10-16 Hans-Peter Nilsson <hp@bitrange.com>
3401 * expr.c (expr_add_location): Move declaration to before all
3403 * parse.y (java_expand_classes): Ditto.
3404 * lex.c (java_peek_unicode): Ditto.
3406 2004-10-16 Ranjit Mathew <rmathew@hotmail.com>
3408 * check-init.c: Use %<, %> and %q for quoting in diagnostics,
3409 if possible, else convert `foo' to 'foo'.
3410 * class.c: Likewise.
3413 * jcf-io.c: Likewise.
3414 * jcf-parse.c: Likewise.
3417 * parse.h: Likewise.
3419 2004-10-16 Ranjit Mathew <rmathew@hotmail.com>
3421 * parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and
3422 rename parameter 'msg' to 'msgid' in function declaration.
3423 (issue_warning_error_from_context): Likewise.
3424 (yyerror): Rename parameter 'msg' to 'msgid'.
3425 (all over): Use new quoting style for diagnostics.
3427 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3429 * boehm.c, builtins.c, java-except.h, jcf-io.c, jcf-path.c,
3430 jcf.h, lang-specs.h, lex.c, lex.h, resource.c, win32-host.c:
3433 2004-10-14 Matt Austern <austern@apple.com>
3435 * lang.c (java_tree_inlining_walk_subtrees): Last arg is struct
3438 2004-10-13 Tom Tromey <tromey@redhat.com>
3441 * lang.opt (--extdirs): Document.
3442 * jvspec.c (lang_specific_driver): Recognize -encoding and
3445 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
3447 * parse.y (issue_warning_error_from_context): Use va_list *
3448 instead of va_list parameter.