1 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3 * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
6 2007-01-30 Ben Elliston <bje@au.ibm.com>
8 * jvspec.c (lang_specific_driver): Remove unused classpath_args.
10 2007-01-29 Tom Tromey <tromey@redhat.com>
13 * jvspec.c (lang_specific_driver): Handle separate -I argument.
14 * lang.opt (-I): Add 'Separate'.
16 2007-01-29 Andrew Haley <aph@redhat.com>
18 * class.c (add_method_1): Mark fndecl as external unless we are
19 compiling it into this object file.
21 2007-01-24 Andrew Haley <aph@redhat.com>
23 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
24 type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
26 2007-01-22 Andrew Haley <aph@redhat.com>
28 * builtins.c (VMSupportsCS8_builtin): New function.
30 2007-01-23 Andrew Pinski <pinskia@gmail.com>
33 * jcf-io.c (opendir_in_zip): Close the file
34 and free zipf before returning after an error.
36 2007-01-16 Tom Tromey <tromey@redhat.com>
38 * java-tree.def: Added copyright header.
40 2007-01-15 Tom Tromey <tromey@redhat.com>
42 * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
44 * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
46 * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
47 (EXPR_WFL_NODE): Likewise.
48 (EXPR_WFL_LINECOL): Likewise.
49 (EXPR_WFL_FILENAME): Likewise.
50 (EXPR_WFL_LINENO): Likewise.
51 (build_expr_wfl, expr_add_location): Don't declare.
52 (build_unknown_wfl): Removed.
53 (EXPR_WFL_FILENAME_NODE): Removed.
54 (EXPR_WFL_COLNO): Removed.
55 (EXPR_WFL_SET_LINECOL): Removed.
56 (DECL_FUNCTION_WFL): Removed.
57 (DECL_FIELD_FINAL_WFL): Removed.
58 (struct lang_decl_func) <wfl>: Removed field.
59 <called_constructor>: Likewise.
60 <inner_access>: Likewise.
61 (struct lang_decl_var) <wfl>: Removed field.
62 (DECL_CONSTRUCTOR_CALLS): Removed.
63 (DECL_FUNCTION_ACCESS_DECL): Likewise.
64 (DECL_FUNCTION_INNER_ACCESS): Likewise.
65 (DECL_SPECIFIC_COUNT): Likewise.
66 * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
67 * expr.c (build_expr_wfl): Removed.
68 (expr_add_location): Likewise.
70 2007-01-12 Tom Tromey <tromey@redhat.com>
72 * jcf-dump.c (main): Updated call to find_class.
73 * lang.c (java_init): Removed dead code.
74 * jcf-parse.c (read_class): Don't use java_source field. Removed
76 (parse_zip_file_entries): Don't use java_source field.
77 (process_zip_dir): Likewise.
78 (jcf_parse): Removed dead code.
79 (java_parse_file): Likewise.
80 (read_class): Updated call to find_class.
81 * jcf-io.c (find_class): Don't use java_source field. Removed
82 'source_ok' argument, .java logic.
83 * jcf.h (JCF) <java_source>: Removed field.
84 (JCF_ZERO): Updated. (find_class): Updated.
85 * decl.c: Removed dead code.
86 * class.c: Removed dead code.
88 2007-01-11 Tom Tromey <tromey@redhat.com>
90 * typeck.c (convert): Don't use flag_emit_class_files.
91 * lang.c (java_post_options): Don't use flag_emit_class_files.
92 (java_handle_option): Don't use flag_extraneous_semicolon or
94 * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
95 flag_emit_class_files.
96 (load_class): Likewise.
97 * java-tree.h (flag_emit_class_files): Don't declare.
98 (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
99 (flag_extraneous_semicolon): Don't declare.
100 (flag_not_overriding): Likewise.
101 (flag_static_local_jdk1_1): Likewise.
102 (flag_redundant): Likewise.
103 * expr.c (build_newarray): Don't use flag_emit_class_files.
104 * class.c (DEFAULT_ENABLE_ASSERT): Don't use
105 flag_emit_class_files.
106 (build_class_ref): Likewise.
107 * builtins.c (check_for_builtin): Don't use
108 flag_emit_class_files.
110 2007-01-10 Tom Tromey <tromey@redhat.com>
112 * lang.c (java_can_use_bit_fields_p): Removed.
113 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
115 2007-01-09 Andrew Haley <aph@redhat.com>
117 * expr.c (build_java_arrayaccess): Rewrite to generate array
118 access in canonical form.
119 (expand_java_arraystore): Use build_fold_addr_expr() on address of
122 2007-01-03 Andrew Haley <aph@redhat.com>
125 * expr.c (expand_java_field_op): If we're initializing a field's
126 declaring interface we should not also initialize the class
127 context in which it was referenced.
129 2007-01-02 Tom Tromey <tromey@redhat.com>
131 * java-tree.h (compiling_from_source, current_encoding,
132 JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
133 JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
134 JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
135 JTI_WFL_OPERATOR): Removed
136 (finit_identifier_node, instinit_identifier_node,
137 length_identifier_node, super_identifier_node,
138 continue_identifier_node, access0_identifier_node, wfl_operator):
140 (cyclic_inheritance_report,
141 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
142 DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
143 DECL_FIXED_CONSTRUCTOR_P): Removed.
144 (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
146 (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
147 TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
148 (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
149 import_list, import_demand_list>: Removed.
150 (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
151 cxx_keyword_p): Removed.
152 (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
153 TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
154 CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
155 IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
156 IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
157 PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
158 CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
159 LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
160 RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
161 IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
162 NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
163 PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
164 CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
165 CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
166 FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
167 BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
168 java_parse_abort_on_error, extract_field_decl): Removed.
170 * lang.c: (compiling_from_source, current_encoding): Removed.
171 (java_handle_option): Ignore -fencoding.
172 * parse.h: Don't include lex.h.
173 (java_error_count, int_fits_type_p, stabilize_reference, RULE,
174 RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
175 YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
176 INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
177 INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
178 MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
179 ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
180 CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
181 OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
182 BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
183 JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
184 JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
185 IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
186 MANGLE_OUTER_LOCAL_VARIABLE_NAME,
187 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
188 MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
189 SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
190 UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
191 AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
192 AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
193 ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
194 ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
195 LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
196 LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
197 LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
198 PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
199 IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
200 ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
201 INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
202 INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
203 JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
204 JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
205 JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
206 jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
207 JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
208 STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
209 BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
210 EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
211 GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
212 COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
213 BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
214 PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
215 CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
216 CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
217 GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
218 GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
219 GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
220 PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
221 CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
222 CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
223 CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
224 SET_CPC_STATIC_INITIALIZER_STMT,
225 SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
226 java_complete_class, java_check_circular_reference,
227 java_fix_constructors, java_layout_classes, java_reorder_fields,
228 java_method_add_stmt, java_get_line_col, reset_report,
229 java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
230 java_finish_classes, ctxp, ctxp_for_generation,
231 ctxp_for_generation_last): Removed.
232 * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
233 * mangle.c (utf8_cmp): New function.
234 (cxx_keywords): New global.
235 (cxx_keyword_p): New function.
236 * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
237 * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
238 NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
239 CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
240 THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
241 CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
242 * Make-lang.in (java.srcextra): Do nothing.
243 (parse.c, keyword.h, gt-java-parse.h): Removed targets.
244 (JAVA_OBJS): Don't mention deleted files.
245 (java.mostlyclean): Likewise.
246 (java.clean): Likewise.
247 (JAVA_LEX_C): Removed.
248 (buffer.o, check-init.o, parse.o): Remove unused targets.
250 * jcf-parse.c (read_class): Comment out unused code.
251 (java_layout_seen_class_methods): New function.
252 (parse_source_file_1, parse_source_file_2, parse_source_file_3):
254 (java_parse_file): Comment out unused code. Don't use 'ctxp'.
255 (init_jcf_parse): Removed.
256 * config-lang.in (gtfiles): Remove deleted files.
257 * decl.c (java_init_decl_processing): Don't initialize
258 finit_identifier_node, instinit_identifier_node,
259 length_identifier_node, super_identifier_node,
260 continue_identifier_node, access0_identifier_node. Don't call
262 * class.c (cyclic_inheritance_report): New global.
263 (add_method_1): Don't use
264 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
265 (maybe_layout_super_class): Comment out code.
266 (safe_layout_class): New function.
267 * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
268 DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
269 UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
270 NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
271 INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
272 (java_gimplify_case_expr): Removed.
273 (java_gimplify_default_expr): Likewise.
274 (java_gimplify_new_array_init): Likewise.
276 * keyword.gperf, keyword.h: Removed.
277 * chartables.h: Removed.
278 * check-init.c: Removed.
279 * buffer.c, buffer.h: Removed.
280 * convert.h: Removed.
281 * gen-table.pl: Removed.
282 * lex.c, lex.h: Removed.
284 2007-01-02 Andrew Haley <aph@redhat.com>
286 * expr.c (expand_java_arraystore): Make sure we perform a bounds
287 check at runtime before we perform a type check.
289 2006-12-19 Andrew Haley <aph@redhat.com>
291 * decl.c: Bump minor BC ABI version.
293 2006-12-13 Gary Benson <gbenson@redhat.com>
295 * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
297 2006-12-12 Tom Tromey <tromey@redhat.com>
299 * lang-specs.h: Pass -M options to jc1.
300 * jcf-depend.c (jcf_dependency_add_file): Don't emit
303 2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
305 * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
307 2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
309 * lang-specs.h: Pass '%U'-based options as separate arguments.
311 2006-12-05 Tom Tromey <tromey@redhat.com>
314 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
316 * class.c (add_field): Handle ACC_SYNTHETIC.
317 (add_method_1): Likewise. Handle bridge and varargs.
318 (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
320 (set_class_decl_access_flags): Handle synthetic and annotation.
321 * java-tree.h (METHOD_BRIDGE): New macro.
322 (METHOD_VARARGS): Likewise.
323 (TYPE_SYNTHETIC): Likewise.
324 (TYPE_ANNOTATION): Likewise.
325 (lang_type): New fields 'synthetic' and 'annotation'.
326 (lang_decl_func): New fields 'varargs' and 'bridge'.
328 2006-12-04 Andrew Haley <aph@redhat.com>
330 * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
333 2006-11-29 Gary Benson <gbenson@redhat.com>
335 * expr.c (rewrite_arglist_getcaller): Reorder.
337 2006-11-29 Andrew Haley <aph@redhat.com>
339 * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
340 * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
342 2006-11-23 Andrew Haley <aph@redhat.com>
344 * expr.c (rewrite_arglist_getcaller): New.
345 (rewrite_arglist_getclass): Fix indentation.
346 (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
347 gnu.classpath.VMStackWalker.getCallingClassLoader().
348 * builtins.c (initialize_builtins): Remove duplicate def'n of
350 Add __builtin_return_address.
352 2006-11-22 Andrew Haley <aph@redhat.com>
354 * jcf-reader.c (get_attribute): Mark attr_type unused.
356 * builtins.c (compareAndSwapObject_builtin): Fix declaration.
358 2007-01-08 Richard Guenther <rguenther@suse.de>
360 * lex.c (do_java_lex): Use build_int_cst_wide_type.
361 * jcf-parse.c (get_constant): Likewise.
363 2006-11-12 Jan Hubicka <jh@suse.cz>
365 * resource.c (compile_resource_data): Update for new varpool names.
366 * java/class.c (build_utf8_ref): Likewise.
368 2006-11-12 David Daney <ddaney@avtrex.com>
371 * typeck.c (build_java_array_type): Increase buffer sizes.
373 2006-11-11 Richard Guenther <rguenther@suse.de>
375 * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
376 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
378 2006-11-06 Andrew Haley <aph@redhat.com>
380 * java-tree.h (CONSTANT_LazyFlag): New.
381 * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
382 * jcf-parse.c (handle_innerclass_attribute): Write attribute to
384 (handle_constant): Return 0 for dummy cpool entries.
385 Handle constants of kind Class.
386 Handle constants of kind NameAndType.
387 (handle_enclosingmethod_attribute): New.
388 (handle_signature_attribute): New.
389 (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
390 (HANDLE_SIGNATURE_ATTRIBUTE): New.
391 (handle_constant): Use unmangle_classname()rather than calling
392 identifier_subst() directly.
394 2006-11-02 Andrew Haley <aph@redhat.com>
396 * java-tree.h (FIELD_ENUM): New.
397 (lang_decl_var.field_enum): New.
398 (lang_type.enum_class): New.
400 * class.c (set_class_decl_access_flags): Handle enum types.
401 (add_field): Handle enum fields.
402 (get_access_flags_from_decl): Likewise.
404 * class.c (make_class_data): Put reflection_data into rodata.
406 2006-11-01 Andrew Haley <aph@redhat.com>
408 * jcf-parse.c (field_offsets, bit_obstack): New variables.
409 (jcf_parse): Write end marker to annotation_data.
410 (java_parse_file): Create field_offsets bitmap. Destroy it.
411 (annotation_grow, annotation_rewrite_byte)
412 (annotation_rewrite_short, annotation_rewrite_int)
413 (annotation_read_short, annotation_write_byte)
414 (annotation_write_short, annotation_write_int)
415 (handle_long_constant, handle_constant, handle_element_value)
416 (handle_annotation, handle_annotations)
417 (handle_annotation_attribute, rewrite_reflection_indexes)
418 (handle_member_annotations, handle_parameter_annotations)
419 (handle_default_annotation): New functions.
420 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
421 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
422 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
423 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
424 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
425 * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
426 (TYPE_REFLECTION_DATA): New.
427 (TYPE_REFLECTION_DATASIZE): New.
428 * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
430 * jcf-reader.c (get_attribute): Pass field/method index and
431 attribute type to get_attribute().
432 * constants.c (find_class_or_string_constant): Make nonstatic.
433 (cpool_for_class): Likewise.
434 (build_constants_constructor): Separate string and scalar types.
435 * class.c (make_class_data): Generate field_indexes permutation.
436 Pass it to rewrite_reflection_indexes().
437 (make_class_data): Generate constructor for reflection_data field.
439 2006-10-20 Tom Tromey <tromey@redhat.com>
441 * gcj.texi (Top): Don't mention jv-scan.
442 (Invoking gcj): Likewise.
443 (Invoking gcjh): Likewise.
444 (Invoking gjnih): Likewise.
445 (Invoking gij): Likewise.
446 (Invoking gcj-dbtool): Likewise.
447 (Invoking jv-scan): Removed.
448 * parse-scan.y: Removed.
449 * jv-scan.c: Removed.
450 * config-lang.in (stagestuff): Don't mention jv-scan.
451 * Make-lang.in (java): Removed jv-scan.
452 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
453 (JVSCAN_OBJS): Removed.
454 (jv-scan$(exeext)): Likewise.
455 (JAVA_MANFILES): Removed jv-scan.1.
456 (java.uninstall): Don't mention jv-scan.
457 (java.mostlyclean): Likewise.
458 (java.maintainer-clean): Likewise.
459 (.INTERMEDIATE): Likewise.
460 (java/jv-scan.o): Removed.
461 (jv-scan.pod): Likewise.
462 (java.srcextra): Don't mention parse-scan.c.
463 (java.mostlyclean): Likewise.
464 (java/parse-scan.c): Removed.
465 (java/parse-scan.o-warn): Removed.
466 (java/parse-scan.o): Removed.
468 2006-10-20 Tom Tromey <tromey@redhat.com>
470 * lang.c (java_handle_option): Don't use
471 jcf_write_base_directory.
472 * jcf.h (jcf_write_base_directory): Removed.
473 * parse.y (java_expand_classes): Don't call write_classfile.
474 * config-lang.in (gtfiles): Removed jcf-write.c.
475 * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
476 (java/jcf-write.o): Removed.
477 * jcf-parse.c (parse_class_file): Don't call write_classfile.
478 * java-tree.h (write_classfile): Removed declaration.
479 * jcf-write.c: Removed.
481 2006-10-20 Tom Tromey <tromey@redhat.com>
483 * Make-lang.in (java): Removed gjnih, gcjh.
484 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
485 (GCJH_OBJS): Removed.
486 (GJNIH_OBJS): Likewise.
487 (gjnih$(exeext)): Likewise.
488 (gcjh$(exeext)): Likewise.
489 (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
490 (java.install-common): Don't special case gcjh.
491 (java.uninstall): Don't mention gcjh, gjnih.
492 (java.mostlyclean): Likewise.
493 (java.maintainer-clean): Likewise.
494 (.INTERMEDIATE): Likewise.
496 (gjnih.pod): Likewise.
497 (GCJH_TARGET_INSTALL_NAME): Removed.
498 (java/gjavah-jni.o): Removed.
499 (java/gjavah.o): Likewise.
500 * config-lang.in (stagestuff): Removed gjnih, gcjh.
503 2006-10-17 Tom Tromey <tromey@redhat.com>
505 * jcf-dump.c (print_element_value): Expect a utf8 constant in the
508 2006-10-17 Tom Tromey <tromey@redhat.com>
510 * jvgenmain.c (main): Handle -findirect-dispatch.
511 * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
514 2006-10-06 Andrew Haley <aph@redhat.com>
516 * builtins.c (compareAndSwapInt_builtin): Check that we really do
517 have a compare_and_swap builtin.
518 (compareAndSwapLong_builtin): Likewise.
519 (compareAndSwapObject_builtin): Likewise.
521 2006-10-04 Andrew Haley <aph@redhat.com>
523 * builtins.c (java_builtins): Add compareAndSwapInt,
524 compareAndSwapLong, compareAndSwapObject, putOrderedInt,
525 putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
526 putObjectVolatile, getObjectVolatile, getIntVolatile,
527 getLongVolatile, getLong.
528 (UNMARSHAL3): New macro.
529 (UNMARSHAL4): Likewise.
530 (UNMARSHAL5): Likewise.
531 (build_arglist_for_builtin): New function.
532 (build_addr_sum, build_check_this): New functions.
533 (putObject_builtin. compareAndSwapInt_builtin,
534 compareAndSwapLong_builtin, compareAndSwapObject_builtin,
535 putVolatile_builtin, getVolatile_builtin): New builtins.
537 2006-06-08 Andrew Haley <aph@redhat.com>
539 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
540 get_symbol_table_index().
541 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
543 (build_known_method_ref): New arg: special. Pass it to
544 get_symbol_table_index.
545 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
547 (build_invokevirtual): New arg: special. Pass it to
548 get_symbol_table_index.
549 (expand_invoke): New variable: special.
550 Pass it to maybe_rewrite_invocation().
551 Pass it to build_known_method_ref().
552 * class.c (build_symbol_entry): Add new arg: special. Use it to
553 build the symbol table conbstructor.
554 (emit_symbol_table): Extract SPECIAL from the method list and pass
555 it to build_symbol_entry().
556 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
559 2006-09-08 Andrew Haley <aph@redhat.com>
561 * class.c (layout_class_method): Use build_java_signature, not
562 build_java_argument_signature. Use lookup_java_method, not
563 lookup_argument_method.
565 2006-08-16 Jakub Jelinek <jakub@redhat.com>
566 Bryce McKinlay <bryce@mckinlay.net.nz>
568 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
570 2006-07-18 Tom Tromey <tromey@redhat.com>
572 * lang.opt: Added missing -W options.
574 2006-07-12 Tom Tromey <tromey@redhat.com>
577 * lang-specs.h: Pass '%U'-based options as separate arguments.
579 * lang.c (java_handle_option): Handle OPT_faux_classpath.
580 * lang.opt (faux-classpath): New option.
582 2006-07-07 Tom Tromey <tromey@redhat.com>
584 * class.c (make_class_data): Set value for reflection_data field.
585 * decl.c (java_init_decl_processing): Add reflection_data field.
587 2006-07-07 Tom Tromey <tromey@redhat.com>
589 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
591 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
593 2006-07-07 Andrew Haley <aph@redhat.com>
595 * jcf-parse.c (set_source_filename): Don't check for
596 CLASS_FROM_CURRENTLY_COMPILED_P.
599 2006-07-07 Andrew Haley <aph@redhat.com>
601 * java-tree.h (java_read_sourcefilenames): Declare.
602 * lang.c (java_handle_option): Call java_read_sourcefilenames().
603 * lang.opt (fsource-filename): New opt.
604 * lang-specs.h: Add -fsource-filename.
605 * jcf-parse.c (num_files, filenames): New variables.
606 (reverse, cmpstringp, java_read_sourcefilenames,
607 find_sourcefile): New.
608 (set_source_filename): Call find_sourcefile to find the real name
611 2006-06-27 Tom Tromey <tromey@redhat.com>
613 * jcf-reader.c (get_attribute): Handle EnclosingMethod,
614 Signature, LocalVariableTypeTable, annotation attributes.
615 * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
616 (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
617 (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
618 (HANDLE_METHOD): Likewise.
619 (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
620 (print_annotation): New function.
621 (print_element_value): Likewise.
623 (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
624 (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
625 (print_parameter_annotations): New function.
626 (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
627 (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
629 (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
630 (print_annotations): New function.
632 2006-06-23 Tom Tromey <tromey@redhat.com>
634 * lang-specs.h: Default -fsource and -ftarget to 1.5. If
635 emitting class files, always use 1.5.
636 * gcj.texi (Input Options): Document -fsource.
637 (Code Generation): Document -ftarget.
639 2006-06-21 Tom Tromey <tromey@redhat.com>
642 * expr.c (expand_java_field_op): Initialize field's declaring
645 2006-06-20 Tom Tromey <tromey@redhat.com>
647 * expr.c (push_value): Always flush quick stack.
649 2006-06-19 Tom Tromey <tromey@redhat.com>
651 * expr.c (push_value): Also flush quick stack if value is a
654 2006-06-19 Tom Tromey <tromey@redhat.com>
656 * expr.c (push_value): Flush quick stack if value has side
659 2006-06-13 Tom Tromey <tromey@redhat.com>
661 * class.c (is_compiled_class): Explicitly check for current
664 2006-06-09 Tom Tromey <tromey@redhat.com>
666 * gjavah.c (decompile_method): Don't decompile a static field
669 2006-06-06 Tom Tromey <tromey@redhat.com>
671 * lang-specs.h <jc1>: Add .jar file to command line if
672 -fsaw-java-file. Also, remove -ffilelist-file in this case.
674 2006-06-05 Tom Tromey <tromey@redhat.com>
676 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
677 synthetic, enum, annotation.
678 * jcf.h (ACC_BRIDGE): New macro.
679 (ACC_VARARGS): Likewise.
680 (ACC_SYNTHETIC): Likewise.
681 (ACC_ENUM): Likewise.
682 (ACC_ANNOTATION): Likewise.
684 2006-06-04 Tom Tromey <tromey@redhat.com>
686 * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
687 * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
689 (lang_specific_driver): Removed dead code. Add -fsaw-java-file
690 when needed. Handle classpath-setting.
691 * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
692 * lang-specs.h: Rewrote.
694 2006-06-04 Tom Tromey <tromey@redhat.com>
696 * jcf-io.c (find_class): Set source_ok to 0.
697 * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
698 (parse_class_file): Don't call java_mark_class_local.
699 (java_parse_file): Skip .java files. Call java_mark_class_local
700 before lowering any code.
701 (parse_zip_file_entries): Don't call duplicate_class_warning
703 (process_zip_dir): ... call it here.
704 * class.c (add_field): Don't mark field external if it is being
705 compiled into this object.
706 (make_class_data): Handle situation where class_dtable_decl is
707 created before Class is compiled.
708 (is_compiled_class): Don't assume files in zip are compiled into
710 (layout_class_method): Don't mark method external if it is being
711 compiled into this object.
713 2006-06-04 Tom Tromey <tromey@redhat.com>
715 * jcf-path.c (jcf_path_compute): New function.
716 * jcf.h (jcf_path_compute): Declare.
718 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
720 * decl.c: Include langhooks.h.
721 (builtin_function): Remove.
722 (java_init_decl_processing): Replace calls to builtin_function
723 with add_builtin_function.
724 * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
725 (java/decl.o): Depend on langhooks.h.
726 * java-tree.h (builtin_function): Remove.
728 2006-10-10 Brooks Moses <bmoses@stanford.edu>
730 * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
732 2006-09-12 Tom Tromey <tromey@redhat.com>
734 * expr.c (push_value): Always flush quick stack.
736 2006-09-12 Tom Tromey <tromey@redhat.com>
739 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
740 the push of the called method's return result.
742 2006-09-12 Tom Tromey <tromey@redhat.com>
744 * jvspec.c (lang_specific_driver): Read spec file even if
747 2006-09-12 Tom Tromey <tromey@redhat.com>
750 * expr.c (expand_java_field_op): Initialize field's declaring
751 interface if necessary.
753 2006-09-12 Tom Tromey <tromey@redhat.com>
756 * expr.c (expand_java_field_op): No error for assignments not in
757 class initializer or constructor.
759 2006-08-22 Andrew Haley <aph@redhat.com>
761 * decl.c (java_add_stmt): Give the statement list a type.
763 2006-08-16 Jakub Jelinek <jakub@redhat.com>
764 Bryce McKinlay <bryce@mckinlay.net.nz>
766 * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
768 2006-08-10 Simon Martin <simartin@users.sourceforge.net>
771 * parse.y (build_incdec): Emit an error instead of an ICE if '++'
772 or '--' is used with a constant operand.
773 (java_complete_lhs): When processing a '++' or '--' expression,
774 don't call java_complete_tree but java_complete_lhs, so that a
775 static final variable operand is never replaced by its value. This
776 avoids an ICE later on.
777 (patch_unaryop): Fixed typo in comment.
779 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
781 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
783 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
785 * builtins.c (check_for_builtin): If a builtin could result in a
786 direct call being generated, don't use it if flag_indirect_dispatch
789 2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
791 * gcj.texi (Invocation): Corrections for Invocation API example.
793 2006-07-04 Andrew Haley <aph@redhat.com>
795 * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
798 2006-06-21 Andrew Haley <aph@redhat.com>
800 * java-tree.h (update_aliases): Remove
801 * expr.c (expand_iinc): Remove call to update_aliases().
802 (STORE_INTERNAL): Likewise.
803 * decl.c (update_aliases, initialize_local_variable)
804 (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
806 2006-06-19 Andrew Haley <aph@redhat.com>
810 * expr.c (java_modify_addr_for_volatile): New function.
811 (expand_java_field_op): Handle volatile fields.
812 * java-gimplify.c (java_gimplify_component_ref): Call
813 java_modify_addr_for_volatile to give the field_ref the correct
815 (java_gimplify_modify_expr): Likewise.
816 * java-tree.h (java_modify_addr_for_volatile): New decl.
818 2006-06-17 Karl Berry <karl@gnu.org>
820 * gcj.texi (@dircategory): Use "Software development" instead
821 of "Programming", following the Free Software Directory.
823 2006-06-16 Andrew Haley <aph@redhat.com>
825 * class.c (make_class_data): When using flag_indirect_classes,
826 don't initialize the vtable of Class instances.
828 2006-06-09 Andrew Haley <aph@redhat.com>
832 * builtins.c (initialize_builtins): Add __sync_synchronize().
833 * class.c (add_field): Mark volatile fields.
834 * java-gimplify.c (java_gimplify_expr): Call new functions to
835 handle self-modifying exprs and COMPONENT_REFs.
836 (java_gimplify_component_ref): New.
837 (java_gimplify_modify_expr): Add handling for volatiles.
839 2006-06-08 Tom Tromey <tromey@redhat.com>
841 * gcj.texi (libgcj Runtime Properties): Document
842 gnu.gcj.user.realname.
844 2006-06-08 Andrew Haley <aph@redhat.com>
846 * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
847 get_symbol_table_index().
848 (maybe_rewrite_invocation): Set SPECIAL if we need to access a
850 (build_known_method_ref): New arg: special. Pass it to
851 get_symbol_table_index.
852 (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
854 (build_invokevirtual): New arg: special. Pass it to
855 get_symbol_table_index.
856 (expand_invoke): New variable: special.
857 Pass it to maybe_rewrite_invocation().
858 Pass it to build_known_method_ref().
859 * class.c (build_symbol_entry): Add new arg: special. Use it to
860 build the symbol table conbstructor.
861 (emit_symbol_table): Extract SPECIAL from the method list and pass
862 it to build_symbol_entry().
863 * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
866 2006-06-06 David Daney <ddaney@avtrex.com>
868 * gcj.texi (libgcj Runtime Properties): Document
869 gnu.gcj.runtime.NameFinder.show_raw and
870 gnu.gcj.runtime.NameFinder.remove_unknown.
872 2006-06-06 Tom Tromey <tromey@redhat.com>
874 * jcf-dump.c (print_access_flags): Handle varargs, bridge,
875 synthetic, enum, annotation.
876 * jcf.h (ACC_BRIDGE): New macro.
877 (ACC_VARARGS): Likewise.
878 (ACC_SYNTHETIC): Likewise.
879 (ACC_ENUM): Likewise.
880 (ACC_ANNOTATION): Likewise.
882 2006-06-06 Mike Stump <mrs@apple.com>
884 * Make-lang.in: Rename to htmldir to build_htmldir to avoid
885 installing during build.
887 2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
889 * gcj.texi (Extensions): Document the new gcj-dbtool-based
890 classname-to-library resolution mechanism.
891 Declare the old gnu.gcj.runtime.VMClassLoader.library_control
892 mechanism deprecated.
893 (libgcj Runtime Properties): Document
894 gnu.gcj.runtime.VMClassLoader.library_control's new default.
896 2006-05-29 Jakub Jelinek <jakub@redhat.com>
898 * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
900 (jword): Define to uint64 on 64-bit arches.
901 * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
903 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
905 * class.c, except.c, expr.c, java-gimplify.c: Fix comment
908 2006-05-26 Tom Tromey <tromey@redhat.com>
910 * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
911 * verify-glue.c (vfy_class_type): New function.
912 * verify-impl.c (check_constant): Allow 'ldc class'.
913 * verify.h (vfy_class_type): Declare.
915 2006-05-25 Andrew Haley <aph@redhat.com>
918 * decl.c (maybe_pushlevels): When variable ranges are non-nested
919 update all lifetimes, not just the first one.
921 2006-05-24 Tom Tromey <tromey@redhat.com>
923 * java-tree.h: Fixed flag documentation.
925 2006-05-24 Tom Tromey <tromey@redhat.com>
928 * jcf.h (ACC_INVISIBLE): Changed value.
930 2006-05-24 Andrew Haley <aph@redhat.com>
933 * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
936 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
938 * lang.opt (femit-class-file): Remove VarExists.
940 2006-05-16 Tom Tromey <tromey@redhat.com>
942 * verify-impl.c (verify_instructions_0) <op_return>: Special case
945 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
948 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
951 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
953 * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
954 (java/expr.o): Replace target.h with $(TARGET_H).
955 (java/parse.o): Likewise.
957 2006-05-10 Andrew Haley <aph@redhat.com>
959 * class.c (emit_indirect_register_classes): Fix comment.
961 2006-05-04 Tom Tromey <tromey@redhat.com>
963 * java-tree.h (uses_jv_markobj_p): Declare.
964 * class.c (uses_jv_markobj_p): Removed.
965 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
966 (get_boehm_type_descriptor): Use it.
967 (uses_jv_markobj_p): Moved from class.c. Return bool.
969 2006-05-04 Tom Tromey <tromey@redhat.com>
971 * java-tree.def (THIS_EXPR): Now a tcc_expression.
973 2006-05-04 Andrew Haley <aph@redhat.com>
975 * class.c (make_field_value): Always build_address_of fdecl if
976 there is an initializer.
978 2006-05-03 Andrew Haley <aph@redhat.com>
981 * expr.c (maybe_rewrite_invocation): New function.
982 (rewrite_arglist_getclass): Likewise.
984 (expand_invoke): Call maybe_rewrite_invocation.
985 * parse.y (patch_invoke): Likewise.
986 * java-tree.h: (maybe_rewrite_invocation): New function.
988 2006-04-21 Andrew Haley <aph@redhat.com>
990 * lang.c (java_init): Handle flag_indirect_classes.
991 * jvgenmain.c: Use "class$$" instead of "class$".
992 * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
994 (mangle_class_field): Special case "class$$" as well as "class$".
995 * constants.c (build_ref_from_constant_pool): If
996 flag_indirect_classes, generate a ref into the heap.
997 * decl.c (constants_field_decl_node,
998 constants_data_field_decl_node): New.
999 * class.c (build_static_class_ref): New.
1000 (build_classdollar_field): Factor out from build_class_ref().
1001 (make_field_value): Handle static fields in heap.
1002 (make_class_data): Make sure we get a static ref to class.
1003 Make class initializer const if flag_indirect_classes.
1004 (register_class): Build a class_ref for initialization if
1005 flag_indirect_classes.
1006 (emit_indirect_register_classes): New.
1008 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
1010 * expr.c, gjavah.c: Fix comment typos.
1012 2006-04-03 Andrew Haley <aph@redhat.com>
1015 * expr.c (build_field_ref): Don't check the field offset if
1018 2006-03-30 Andrew Haley <aph@redhat.com>
1021 * lang.c (java_attribute_table): New.
1022 (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1023 * expr.c (build_field_ref): Add a null pointer check for all
1024 fields of offset > 4k. Don't do so for accesses via the this
1025 pointer, which we know can never be null.
1026 * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1029 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
1031 * Make-lang.in: Rename docdir to gcc_docdir.
1033 2006-03-30 Tom Tromey <tromey@redhat.com>
1036 * parse.y (java_reorder_fields): Reset superclass field's size as
1039 2006-03-28 Tom Tromey <tromey@redhat.com>
1042 * parse.y (find_most_specific_methods_list): Added 'class'
1044 (lookup_method_invoke): Updated.
1046 2006-03-15 Tom Tromey <tromey@redhat.com>
1048 * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1049 non-static method calls.
1051 2006-03-15 David Daney <ddaney@avtrex.com>
1053 * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1056 2006-03-15 David Daney <ddaney@avtrex.com>
1058 * lang.opt (-freduced-reflection): New option.
1059 * lang.c (java_post_options): Generate an error if
1060 -freduced-reflection used with -fjni or -findirect-dispatch.
1061 * java-tree.h (flag_reduced_reflection): Declare new variable.
1062 * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1063 if bitmap overflows and flag_reduced_reflection set.
1064 * class.c (uses_jv_markobj_p): New function.
1065 (make_class_data): Moved generation of vtable to before
1066 reflection data, generate less reflection data if
1067 flag_reduced_reflection set.
1068 * gcj.texi: Document -freduced-reflection.
1070 2006-03-15 Tom Tromey <tromey@redhat.com>
1073 * class.c (get_interface_method_index): Don't put <clinit> into
1076 2006-03-15 Tom Tromey <tromey@redhat.com>
1078 * parse.y (analyze_clinit_body): Ignore empty statements.
1080 2006-03-08 David Daney <ddaney@avtrex.com>
1082 * gcj.texi: Document -static-libgcj option.
1084 2006-02-20 Andrew Haley <aph@redhat.com>
1086 * jcf-parse.c (parse_class_file): Set input_location from
1089 2006-02-15 Andrew Haley <aph@redhat.com>
1091 * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1092 (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1093 TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1095 2006-02-09 Andrew Haley <aph@redhat.com>
1098 * expr.c (expand_invoke): Allow methods in arrays to be resolved
1099 in their superclass.
1101 * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1104 2006-02-08 Tom Tromey <tromey@redhat.com>
1107 * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1108 * builtins.c (convert_real): New function.
1109 (java_builtins): Handle Float.intBitsToFloat,
1110 Float.floatToRawIntBits, Double.longBitsToDouble,
1111 Double.doubleToRawLongBits.
1113 2006-02-07 Andrew Haley <aph@redhat.com>
1115 * expr.c (expand_invoke): (BC mode.) If we find a method in a
1116 class other than the one in which we expected to find it, ignore
1120 * constants.c (build_constants_constructor): move initializer into
1121 first halfword on a 64-bit big-endian machine.
1123 2006-02-04 Tom Tromey <tromey@redhat.com>
1126 * builtins.c (max_builtin): Skip floating point 'max'.
1127 (min_builtin): Skip floating point 'min'.
1128 (check_for_builtin): Never return NULL_TREE.
1130 2006-02-04 Tom Tromey <tromey@redhat.com>
1133 * expr.c (push_type): Avoid side effect in gcc_assert.
1135 2006-02-04 Roger Sayle <roger@eyesopen.com>
1137 * decl.c (java_init_decl_processing): Create char_type_node as a
1138 regular INTEGER_TYPE node.
1139 (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1140 * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1141 test for char_type_node and promoted_char_type_node as special
1142 instances of INTEGER_TYPE tree codes.
1143 (promote_type,build_java_signature): Likewise.
1144 * jcf-write.c (adjust_typed_op): Likewise.
1145 * mangle.c (mangle_type): Likewise.
1146 * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1147 * parse.h (JINTEGRAL_TYPE_P): Likewise.
1149 2006-02-04 Andreas Tobler <a.tobler@schweiz.ch>
1151 * expr.c (java_stack_swap): Revert gcc_assert patch.
1153 2006-02-03 Ben Elliston <bje@au.ibm.com>
1155 * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1156 * typeck.c: Likewise.
1157 * verify-impl.c: Likewise.
1158 * class.c: Likewise.
1160 * jcf-parse.c: Likewise.
1161 * constants.c: Likewise.
1162 * check-init.c: Likewise.
1163 * jcf-write.c: Likewise.
1164 * verify-glue.c: Likewise.
1165 * mangle.c: Likewise.
1168 * boehm.c: Likewise.
1170 2006-02-01 Jan Hubicka <jh@suse.cz>
1172 * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1173 * lang.c (java_init_options): Set no_unit_at_a_time_default.
1175 2006-01-30 Andrew Haley <aph@redhat.com>
1178 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1180 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
1182 * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1183 Update copyright notice dates.
1185 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1187 * jvspec.c (lang_specific_spec_functions): Remove.
1189 2006-01-06 Tom Tromey <tromey@redhat.com>
1191 * gcj.texi (Arrays): Added more documentation for
1193 (Primitive types): Correct information about primitive classes.
1194 (Reference types): New node.
1197 2005-12-16 Alexandre Oliva <aoliva@redhat.com>
1199 * jcf-parse.c (set_source_filename): Set the decl source location
1200 even when returning early.
1202 2005-12-15 Tom Tromey <tromey@redhat.com>
1203 Andrew Haley <aph@redhat.com>
1206 * parse.y (resolve_expression_name): Don't generate accessor
1207 methods for constant fields.
1209 2005-12-13 Andrew Haley <aph@redhat.com>
1213 * class.c (maybe_layout_super_class): Update current_class before
1214 calling do_resolve_class.
1216 2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
1219 * jcf-write.c (write_classfile): Use PID in temporary class
1220 file. Save/restore errno when reporting error.
1222 2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
1225 * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1226 to bare_function_type and including the return type
1227 * builtins.c (initialize_builtins) : Change builtin mangled name
1228 constants to conform to new mangling scheme
1230 2005-12-08 Andrew Haley <aph@redhat.com>
1233 * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1234 (soft_abstractmethod_node): New.
1235 * expr.c (build_field_ref): Add in-line check for missing field.
1236 * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1238 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1240 * Make-lang.in (java.all.build, java.install-normal): Remove.
1242 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
1244 * Make-lang.in: Remove all dependencies on s-gtype, except for
1247 2005-12-07 Richard Sandiford <richard@codesourcery.com>
1249 * class.c (build_utf8_ref, emit_register_classes): Use
1250 switch_to_section and get_section.
1252 2005-12-06 Tom Tromey <tromey@redhat.com>
1255 * parse.y (patch_new_array_init): Revert previous patch.
1256 (lookup_method_invoke): Use size-less array type when creating an
1257 anonymous constructor.
1259 2005-12-05 Tom Tromey <tromey@redhat.com>
1261 * parse.y (patch_new_array_init): Don't set length on array.
1263 2005-12-02 Richard Guenther <rguenther@suse.de>
1265 * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1266 buildN instead of build.
1267 * class.c (finish_class): Likewise.
1268 * expr.c (java_create_object): Likewise.
1270 2005-11-28 Tom Tromey <tromey@redhat.com>
1273 * expr.c (build_jni_stub): Unwrap the return value.
1274 * java-tree.h (soft_unwrapjni_node): New define.
1275 (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1276 * decl.c (java_init_decl_processing): Initialize
1277 soft_unwrapjni_node.
1279 2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
1281 * gcj.texi (gij options): Add -Xss documentation.
1283 2005-11-08 Wil Mahan <wmahan@gmail.com>
1286 * zextract.c (read_zip_archive): Fix out of memory error when
1287 reading jar files with zip-style comments.
1289 2005-11-07 Terry Laurenzo <tlaurenzo@gmail.com>
1291 * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1293 * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1295 2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
1296 Wil Mahan <wmahan@gmail.com>
1299 * class.c (make_class): Create empty binfo here.
1300 (set_super_info): Only create binfo if we have superclasses.
1302 2005-10-03 Ranjit Mathew <rmathew@gcc.gnu.org>
1305 * parse.y (method_header): Make the result of the rule a NULL_TREE
1306 when a parsing error occurs.
1308 2005-09-29 Tom Tromey <tromey@redhat.com>
1311 * jcf-io.c (memoized_dirlist_hash): New function.
1312 (caching_stat): Use it.
1314 2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
1317 * class.c (inherits_from_p): Try to lay out super class
1318 if it is not already laid out.
1319 (maybe_layout_super_class): Handle the case where SUPER_CLASS
1322 2005-09-18 James A. Morrison <phython@gcc.gnu.org>
1324 * builtins.c (max_builtin, min_builtin, abs_builtin,
1325 java_build_function_call_expr): Use fold_buildN.
1326 * class.c (layout_class_method): Likewise.
1327 * expr.c (java_truthvalue_conversion, build_java_jsr,
1328 build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1329 build_java_binop, build_field_ref, expand_compare,
1330 build_known_method_ref, build_invokevirtual,
1331 process_jvm_instruction): Likewise.
1332 * parse.y (patch_binop, patch_exit_expr): Likewise.
1333 * typeck.c (convert_ieee_real_to_integer): Likewise.
1334 (convert): Don't call fold after convert_ieee_real_to_integer.
1336 2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
1339 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1340 the newly created type. Set import lists here, not in create_class.
1341 (jdep_resolve_class): Set current_class.
1342 (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
1343 the current package context, not ctxp->package.
1344 (cicp_cache): Removed.
1345 (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1346 * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1347 * java-tree.h (TYPE_PACKAGE): New macro.
1348 (struct lang_type): New member 'package'.
1350 2005-09-09 Andrew Haley <aph@redhat.com>
1353 * expr.c (pop_type_0): If the expected type is object or ptr
1354 (i.e. void*), return the type of the object we just popped from
1357 2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
1359 * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1360 BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1362 2005-09-06 Kazu Hirata <kazu@codesourcery.com>
1364 * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1365 jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1366 typos. Follow spelling conventions.
1368 2005-09-05 Ranjit Mathew <rmathew@hotmail.com>
1371 * typeck.c (lookup_do): Look up interfaces for the original class,
1373 * parse.y (java_check_regular_methods): Fix diagnostic message for
1374 more restrictive overriding of a method from an interface.
1376 2005-08-16 Tom Tromey <tromey@redhat.com>
1378 * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1379 class' initial state.
1381 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1384 * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
1385 `literal_token' for large numeric input tokens.
1387 2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
1390 * parse.y (nested_field_access_p): Rename to nested_member_access_p
1391 and expand to handle method accesses across nested classes.
1392 (build_outer_method_access_method): Rename to
1393 build_nested_method_access_method. Minor adjustments to comments.
1394 (resolve_expression_name): Use the newly-renamed
1395 nested_member_access_p method.
1396 (resolve_qualified_expression_name): Likewise.
1397 (patch_method_invocation): Also consider static methods for access
1398 method generation. Minor adjustments to comments.
1399 (maybe_use_access_method): Use the more general
1400 nested_memeber_access_p to determine access across nested class
1401 boundaries. Allow THIS_ARG to be NULL (for static methods).
1403 2005-08-15 Tom Tromey <tromey@redhat.com>
1406 * expr.c (build_field_ref): Don't generate otable reference when
1407 DECL_FIELD_OFFSET is 0.
1408 * class.c (maybe_layout_super_class): Pass outer class to
1411 2005-08-15 Tom Tromey <tromey@redhat.com>
1413 * java-tree.h (LABEL_IN_SUBR): Removed.
1414 (LABEL_IN_SUBR): Likewise.
1415 (LABEL_IS_SUBR_START): Likewise.
1416 (LABEL_SUBR_START): Likewise.
1417 (LABEL_SUBR_CONTEXT): Likewise.
1418 (LABEL_CHANGED): Likewise.
1419 (LABEL_RETURN_LABEL): Likewise.
1420 (LABEL_RETURN_TYPE_STATE): Likewise.
1421 (LABEL_RETURN_LABELS): Likewise.
1422 (RETURN_MAP_ADJUSTED): Likewise.
1423 (LABEL_PENDING_CHAIN): Likewise.
1425 2005-08-15 Tom Tromey <tromey@redhat.com>
1427 * Make-lang.in (JAVA_OBJS): Removed verify.o
1428 (java/verify.o): Removed.
1429 * verify.c: Removed.
1430 * lang.c (flag_new_verifier): Removed.
1431 (java_post_options): Updated.
1432 * java-tree.h (flag_new_verifier): Removed.
1433 (verify_jvm_instructions): Removed.
1434 * expr.c (pop_type_0): Assume flag_new_verifier is true.
1435 (build_java_check_indexed_type): Likewise.
1436 (expand_java_arraystore): Likewise.
1437 (expand_java_arrayload): Likewise.
1438 (pop_arguments): Likewise.
1439 (expand_byte_code): Likewise.
1440 (process_jvm_instruction): Likewise.
1442 2005-08-10 Andrew Haley <aph@redhat.com>
1444 * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
1445 type mismatches to make legal GIMPLE.
1447 2005-08-10 Robin Green <greenrd@greenrd.org>
1450 * parse.y (maybe_use_access_method): Generalize check from
1451 java.lang.Object to any superclass of current_class
1453 2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
1455 * class.c (build_class_ref): Wrap the primary class type in a
1457 * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
1458 primary class type from the NOP_EXPR in which it was placed.
1460 2005-07-28 Diego Novillo <dnovillo@redhat.com>
1462 * expr.c (expand_load_internal): Fix missing parens in
1465 2005-07-28 Andrew Haley <aph@redhat.com>
1467 * expr.c (expand_load_internal): Convert to destination type.
1469 2005-07-22 Manfred Hollstein <mh@suse.com>
1471 * verify-impl.c (check_class_constant): Fix uninitialised warnings.
1472 (check_constant): Likewise.
1473 (check_wide_constant): Likewise.
1475 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
1477 Make CONSTRUCTOR use VEC to store initializers.
1478 * check-init.c (check_init): Update to cope with VEC in
1480 * class.c (make_field_value, make_method_value, get_dispatch_table,
1481 make_class_data, emit_symbol_table, emit_catch_table,
1482 emit_assertion_table): Use build_constructor_from_list instead of
1484 * constants.c (build_constants_constructor): Likewise.
1485 * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
1486 VEC in CONSTRUCTOR_ELTS.
1487 * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
1488 PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
1490 * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
1492 * parse.y (build_new_array_init): Use build_constructor_from_list
1493 instead of build_constructor.
1494 (patch_new_array_init): Update to cope with VEC in
1496 (array_constructor_check_entry): Likewise.
1498 2005-07-12 Tom Tromey <tromey@redhat.com>
1500 * jvspec.c (lang_specific_driver): Put filelist_filename first on
1503 2005-07-12 Tom Tromey <tromey@redhat.com>
1506 * parse-scan.y (interface_member_declaration): Added
1509 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
1511 * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
1512 (LABEL_PENDING_CHAIN): Ditto.
1514 (DECL_BIT_INDEX): Ditto.
1516 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
1519 * parse.y (inner_class_accessible): New function. Logic moved from
1520 check_inner_class_access.
1521 (check_inner_class_access): Use inner_class_accessible.
1522 (resolve_inner_class): Simplify arguments. Create circularity hash
1523 here. Keep looking for classes if we found one that was inaccessible.
1524 Return the inaccessible class only if there is no other match.
1525 (do_resolve_class): Update for new resolve_inner_class arguments.
1526 Don't create circularity_hash here.
1528 2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
1531 * parse.y (add_exception_to_throws): New function.
1532 (purge_unchecked_exceptions): Removed.
1533 (get_constructor_super): Renamed from verify_constructor_super. Now
1534 returns the super constructor after verification.
1535 (java_complete_expand_method): Don't use purge_unchecked_exceptions
1536 or save/restore the exception list.
1537 (check_thrown_exceptions): Add uncaught exceptions in anonymous
1538 class initializers and constructors to the throws clause of the method.
1540 2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
1543 * parse.y (interface_member_declaration): Allow empty statements in
1544 interface declarations.
1546 2005-07-05 Paolo Bonzini <bonzini@gnu.org>
1548 * Makefile.in (parse.o): Adjust dependencies.
1549 * parse.y: Include tree-dump.h.
1551 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
1553 * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
1556 2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
1558 * parse.y (issue_warning_error_from_context): Call
1559 pp_output_formatted_text to be able to get the buffer.
1561 2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
1563 * parse.y (issue_warning_error_from_context): Update for the
1564 renaming of pp_format_text to pp_format.
1566 2005-06-28 Paul Brook <paul@codesourcery.com>
1568 * decl.c (java_init_decl_processing): Call
1569 default_init_unwind_resume_libfunc.
1571 2005-06-27 Tom Tromey <tromey@redhat.com>
1573 PR java/21540, PR java/13788:
1574 * parse.y (java_complete_lhs) <CASE_EXPR>: Use
1575 fold_constant_for_init.
1576 (patch_binop): Added 'folding' argument. Updated all callers.
1577 (patch_unaryop) <NOP_EXPR>: New case.
1578 (fold_constant_for_init) <NOP_EXPR>: Likewise.
1579 (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
1581 2005-06-25 Jan Hubicka <jh@suse.cz>
1583 * builtins.c (define_builtin): Accept new flags parameter.
1584 (initialize_builtins): Mark the builtins const and nothrow accordingly.
1586 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
1588 * all files: Update FSF address in copyright headers.
1590 2005-06-24 Tom Tromey <tromey@redhat.com>
1592 * verify-impl.c (verify_instructions_0): Correctly handle
1593 situation where PC falls off end.
1595 2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
1598 * parse.y (find_most_specific_methods_list): Remove special case for
1601 2005-06-15 Tom Tromey <tromey@redhat.com>
1604 * class.c (make_method_value): Use soft_abstractmethod_node for
1606 * java-tree.h (soft_abstractmethod_node): New define.
1607 (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
1608 * decl.c (java_init_decl_processing): Initialize
1609 soft_abstractmethod_node.
1611 2005-06-13 Geoffrey Keating <geoffk@apple.com>
1613 * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
1615 2005-06-13 Per Bothner <per@bothner.com>
1617 * expr.c (int highest_label_pc_this_method,
1618 start_label_pc_this_method): New globals.
1619 (lookup_label): Add start_label_pc_this_method to pc for label, and
1620 update highest_label_pc_this_method. This prevents conflicts between
1621 labels from different methods.
1622 * java-tree.h: Declare new globals.
1623 * jcf-parse.c (parse_class_file): If needed bump
1624 start_label_pc_this_method and reset highest_label_pc_this_method.
1626 2005-06-13 Tom Tromey <tromey@redhat.com>
1629 * parse.y (nested_field_access_p): Handle case where outer field
1630 is inherited by enclosing class.
1632 2005-06-12 Per Bothner <per@bothner.com>
1634 * class.c (inherits_from_p): Do load_class if needed.
1636 2005-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1638 * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
1639 * java-tree.h (parse_error_context): Move...
1640 * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
1641 * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
1642 * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
1644 2005-06-08 Roger Sayle <roger@eyesopen.com>
1646 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
1648 2005-06-06 Jakub Jelinek <jakub@redhat.com>
1650 * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
1651 msgid for argument name.
1652 * gjavah.c (error): Likewise.
1653 * java-tree.h (parse_error_context): Likewise.
1654 * parse.y (parse_error_context, parse_warning_context,
1655 issue_warning_error_from_context): Likewise.
1657 2005-06-01 Tom Tromey <tromey@redhat.com>
1660 * class.c (build_static_field_ref): Don't fold constant fields if
1661 current class is from a .class file and we're using indirect
1664 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1666 * java/verify-glue.c: Don't include errors.h and include toplev.h.
1667 * java/Make-lang.in: Updates dependencies.
1669 2005-05-26 Ranjit Mathew <rmathew@hotmail.com>
1672 * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
1673 NESTED_FIELD_ACCESS_IDENTIFIER_P.
1674 (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
1675 (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
1676 * jcf-write.c (generate_classfile): Use
1677 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1678 OUTER_FIELD_ACCESS_IDENTIFIER_P.
1679 * parse.y (build_outer_field_access): Rename to
1680 build_nested_field_access. Support static fields and outer-to-inner
1682 (outer_field_access_p): Rename to nested_field_access_p. Support
1683 static fields and generalise to outer-to-inner class and sibling
1684 inner class accesses.
1685 (outer_field_expanded_access_p): Rename to
1686 nested_field_expanded_access_p and support static fields.
1687 (outer_field_access_fix): Rename to nested_field_access_fix and
1688 support static fields.
1689 (build_outer_field_access_expr): Rename to
1690 build_nested_field_access_expr and support static fields.
1691 (build_outer_field_access_methods): Rename to
1692 build_nested_field_access_methods and support static fields. For
1693 static fields, generate accessors without class instance parameters.
1694 (build_outer_field_access_method): Rename to
1695 build_nested_field_access_method and support static fields.
1696 (build_outer_method_access_method): Use
1697 NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1698 OUTER_FIELD_ACCESS_IDENTIFIER_P.
1699 (resolve_expression_name): Consider static field accesses across
1701 (resolve_qualified_expression_name): Likewise.
1702 (java_complete_lhs): Use nested_field_access_fix instead of
1703 outer_field_access_fix.
1704 (patch_unary_op): Rename outer_field_flag to nested_field_flag.
1705 Use nested_field_expanded_access_p instead of
1706 outer_field_expanded_access_p. Use nested_field_access_fix instead
1707 of outer_field_access_fix.
1708 (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
1709 instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
1711 2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
1713 * decl.c (GCJ_BINARYCOMPAT_ADDITION,
1714 GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
1715 (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
1716 MINOR_BINARYCOMPAT_ABI_VERSION): New.
1717 (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
1718 (parse_version): Calculate version ID using new method. Use bit-flags
1719 for flag_indirect_dispatch and flag_bootstrap_classes.
1721 2005-05-25 Richard Henderson <rth@redhat.com>
1724 * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
1725 * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
1726 DECL_CONTEXT; avoid pushdecl_top_level.
1727 (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
1728 (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
1729 (layout_class_method): Likewise.
1730 * decl.c (java_mark_cni_decl_local): New.
1731 (java_mark_class_local): Use it.
1732 * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
1733 (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
1734 (struct lang_decl_func): Add local_cni;
1735 (struct lang_decl_var): Add class_field, vtable.
1736 (java_mangle_decl): Declare.
1737 * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
1738 * mangle.c: Remove dup obstack.h; include langhooks-def.h.
1739 (mangle_obstack_1): New.
1740 (java_mangle_decl): Remove obstack argument. Call mangle_class_field,
1741 mangle_vtable, and mangle_local_cni_method_decl. Fall back to
1742 lhd_set_decl_assembler_name for things that don't need mangling.
1743 (mangle_class_field): Rename from java_mangle_class_field, make
1744 static, don't call init_mangling or finish_mangling.
1745 (mangle_vtable): Similarly.
1746 (mangle_local_cni_method_decl): New.
1747 (init_mangling): Remove obstack argument. Use &mangle_obstack_1,
1748 gcc_assert, and MANGLE_RAW_STRING.
1749 (finish_mangling): Use gcc_assert, remove if 0 debugging code.
1751 2005-05-25 DJ Delorie <dj@redhat.com>
1753 * class.c (set_constant_value): Move warning control from if() to
1756 2005-05-24 Richard Henderson <rth@redhat.com>
1758 * builtins.c (define_builtin): Don't call make_decl_rtl.
1759 * constants.c (build_constant_data_ref): Likewise.
1760 * class.c (build_utf8_ref): Likewise.
1761 (build_fieldref_cache_entry, build_static_field_ref): Likewise.
1762 (get_dispatch_table, layout_class_method): Likewise.
1763 (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
1765 (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
1766 (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
1767 to determine if we need a non-zero address.
1768 * decl.c (builtin_function): Don't call make_decl_rtl.
1769 (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
1770 * expr.c (build_known_method_ref): Don't call make_decl_rtl.
1771 * resource.c (compile_resource_data): Likewise.
1772 * parse.y (resolve_field_access): Re-word comment to avoid
1775 2005-05-24 Richard Henderson <rth@redhat.com>
1777 * class.c (registered_class): Take it out of class_roots; turn into
1779 (register_class): Make static. Don't duplicate decl node. Use
1781 (emit_register_classes): Use VEC_iterate. Use output_constant
1782 instead of assemble_integer. Don't call mark_decl_referenced
1784 * java-tree.h (register_class): Remove decl.
1786 2005-05-19 Paolo Bonzini <bonzini@gnu.org>
1790 * parse.y (register_package, package_list): Remove.
1791 (package_declaration): Do not call register_package.
1792 (do_resolve_class): Do not use package_list.
1794 2005-05-15 Gerald Pfeifer <gerald@pfeifer.com>
1796 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
1799 2005-05-15 Tom Tromey <tromey@redhat.com>
1802 * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
1805 2005-05-12 Aaron Luchko <aluchko@redhat.com>
1807 * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
1809 2005-05-11 Tom Tromey <tromey@redhat.com>
1811 * gcj.texi (Code Generation): Document -fbootstrap-classes.
1812 * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
1813 (parse_version): Use it.
1814 * lang.opt (-fbootstrap-classes): New option.
1816 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
1819 * class.c (maybe_layout_super_class): Look for imports in this_class.
1820 * parse.h (ctxp_for_generation_last): New.
1821 (do_resolve_class): Add a parameter.
1822 * parse.y (ctxp_for_generation_last): New.
1823 (java_pop_parser_context): Add at end of list.
1824 (find_in_imports, find_in_imports_on_demand): Look in ctxp
1825 if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
1826 the given type are NULL.
1827 (do_resolve_class): Look into the imports of the new second parameter.
1828 Adjust recursive calls.
1829 (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
1830 calls to do_resolve_class.
1831 (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
1832 (java_complete_class): Do not do that here.
1834 2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
1837 * Make-lang.in (java): Add gjnih.
1838 (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1839 (GJNIH_OBJS): New variable.
1840 (gjnih$(exeext)): New target.
1841 (JAVA_MANFILES): Add gjnih.1.
1842 (java.uninstall): Add gjnih.1.
1843 (java.mostlyclean): Add gjnih.
1844 (java.maintainer-clean): Add gjnih.1.
1845 (java/gjavah-jni.o): New target.
1846 (.INTERMEDIATE): Add gjnih.pod.
1847 (gjnih.pod): New target.
1848 * config-lang.in (stagestuff): Add gjnih.
1849 * gcj.texi (Top): Add gjnih node.
1850 (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
1851 -bootclasspath options.
1852 (Invoking gjnih): New node.
1853 * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
1854 (TOOLNAME): New macro.
1855 (error): Replace hard-coded gcjh with TOOLNAME.
1856 (process_file): Likewise.
1858 (version): Likewise.
1859 (help): Likewise. Add help output for -force, -old, -trace and -J
1861 (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
1862 (options): Add force, old, trace and J fields.
1863 (main): Handle -force, -old, -trace and -J options.
1865 2005-05-03 Tom Tromey <tromey@redhat.com>
1868 * gjavah.c (main): Unlink output file on error.
1870 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
1872 * constants.c, jvgenmain.c, lang.opt, resource.c: Update
1875 2005-04-29 Tom Tromey <tromey@redhat.com>
1877 * expr.c (build_jni_stub): Updated for change to build_block.
1879 2005-04-29 Andrew Pinski <pinskia@gcc.gnu.org>
1881 * expr.c (force_evaluation_order): Declare 'saved' earlier.
1883 2005-04-28 Andrew Haley <aph@redhat.com>
1886 * java-tree.h (soft_resolvepoolentry_node): New.
1887 (alloc_constant_fieldref): Declare.
1888 * expr.c (expand_java_field_op): Don't call class_init for
1889 accesses to static fields with indirect dispatch.
1890 * builtins.c (initialize_builtins): Add "__builtin_expect".
1891 * decl.c (soft_resolvepoolentry_node): New variable.
1892 (java_init_decl_processing): Create a decl for
1893 "_Jv_ResolvePoolEntry".
1894 * class.c (build_fieldref_cache_entry): New function.
1895 (build_static_field_ref): Rewrite for indirect dispatch.
1896 * constants.c (find_name_and_type_constant_tree): New function.
1897 (alloc_constant_fieldref): Likewise.
1898 (build_constants_constructor): Handle CONSTANT_Fieldref and
1899 CONSTANT_NameAndType.
1902 * expr.c (force_evaluation_order): Convert outgoing args smaller
1905 2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
1907 * gcj.texi (libgcj Runtime Properties): Remove obsolete
1908 gnu.gcj.runtime.NameFinder.* system properties. Update documentation
1909 for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
1911 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1913 * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
1914 to `unlock_stream' with `unlock_std_streams'.
1916 2005-04-25 Jakub Jelinek <jakub@redhat.com>
1918 * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
1919 instead of just expr.h.
1921 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1923 * gjavah.c (main): Unlock the stdio streams.
1924 * jcf-dump.c (main): Likewise.
1925 * jv-scan.c (main): Likewise.
1926 * jvgenmain.c (main): Likewise.
1928 2005-04-23 DJ Delorie <dj@redhat.com>
1930 * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
1931 parse.y: Adjust warning() callers.
1933 2005-04-21 Bryce McKinlay <mckinlay@redhat.com>
1935 * gcj.texi (Object fields): Change "Integer" to "Int" in example
1938 2005-04-20 Bryce McKinlay <mckinlay@redhat.com>
1940 * gcj.texi: Fix typos and bogus example.
1942 2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
1944 * except.c: Fix a comment typo.
1946 2005-04-19 Julian Brown <julian@codesourcery.com>
1948 * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
1949 indirect dispatch with PIC.
1951 2005-04-18 Andrew Haley <aph@redhat.com>
1953 * java-except.h (struct eh_range.handler): Remove unused field.
1954 (handle_nested_ranges): Remove function declaration.
1955 (sanity_check_exception_range): Add function declaration.
1956 * verify.c (verify_jvm_instructions): Remove call to
1957 handle_nested_ranges.
1958 * verify-glue.c (verify_jvm_instructions_new): Call
1959 sanity_check_exception_range.
1960 * except.c (link_handler, eh_range_freelist, link_handler,
1961 handle_nested_ranges): Remove.
1962 (add_handler): Rewrite.
1963 (sanity_check_exception_range): New function.
1964 (print_ranges): New function.
1966 2005-04-13 Julian Brown <julian@codesourcery.com>
1968 * decl.c (finish_method): Give methods once-only linkage.
1970 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
1972 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
1974 2005-04-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1976 * java-tree.h: Don't use PARAMS().
1978 2005-04-07 Per Bothner <per@bothner.com>
1980 * class.c (push_class): By default, suppress debug output.
1981 (finish_class): Enable debug output for classes we're emitting.
1983 2005-04-07 Andrew Haley <aph@redhat.com>
1985 * gcj.texi: Correct gcj-dbtool instructions.
1987 2005-04-04 Kazu Hirata <kazu@cs.umass.edu>
1989 * gcj.texi: Fix a typo.
1990 * lang.c: Fix a comment typo.
1992 2005-04-01 Thomas Fitzsimmons <fitzsim@redhat.com>
1994 * gcj.texi (Invoking gij): Add descriptions of new -X options.
1995 Mention recognized-and-ignored compatibility options.
1996 (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
1998 (About CNI): Add Memory allocation section.
2000 2005-04-01 Tom Tromey <tromey@redhat.com>
2002 * decl.c (java_init_decl_processing): Fix types of
2003 _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2004 _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2005 _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2007 2005-03-31 Jan Hubicka <jh@suse.cz>
2009 * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2010 * class.c: Include cgraph.h
2011 (make_local_functoin_alias): Mark aslias as needed.
2012 * resource.c: Include cgraph.h
2013 (compile_resource_data): Go via cgraph interface.
2015 2005-03-30 Ian Lance Taylor <ian@airs.com>
2017 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2019 2005-03-30 Tom Tromey <tromey@redhat.com>
2021 * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2022 inner_class_info_index==0 or outer_class_info_index==0.
2024 2005-03-29 Tom Tromey <tromey@redhat.com>
2026 * gcj.texi (libgcj Runtime Properties): Document
2027 gnu.gcj.runtime.endorsed.dirs.
2029 2005-03-24 Anthony Green <green@redhat.com>
2031 * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2034 2005-03-23 Tom Tromey <tromey@redhat.com>
2036 * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2037 (parse_version): Use it.
2039 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2041 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2043 2005-03-18 Andrew Haley <aph@redhat.com>
2046 * decl.c (update_aliases): Don't update variables that are about
2048 (maybe_poplevels): Add comment.
2050 2005-03-17 Bryce McKinlay <mckinlay@redhat.com>
2053 * jcf-parse.c (duplicate_class_warning): New function.
2054 (java_parse_file): Call duplicate_class_warning if
2055 CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2056 (parse_zip_file_entries): Likewise. Also set
2057 CLASS_FROM_CURRENTLY_COMPILED_P.
2059 2005-03-16 Andrew Haley <aph@redhat.com>
2061 * expr.c (expand_java_arrayload): Don't generate a
2062 NullPointerException based on the type of the node.
2063 (build_java_array_length_access): Likewise.
2065 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2067 * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2069 2005-03-11 Tom Tromey <tromey@redhat.com>
2071 * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2072 (libgcj Runtime Properties): Document the default .db.
2074 2005-03-10 Ranjit Mathew <rmathew@hotmail.com>
2077 * parse.y (checks_throws_clauses): Check exceptions list even when
2078 the base class does not come from a source file being compiled.
2079 (java_complete_lhs): Remove unused variable 'wfl'.
2081 2005-03-09 Ranjit Mathew <rmathew@hotmail.com>
2084 * decl.c (finish_method): Emit _Jv_InitClass for private static
2085 methods inside inner classes as well.
2087 2005-03-08 Julian Brown <julian@codesourcery.com>
2088 * Revert patch from 2005-03-08 for causing bootstrap failure on
2091 2005-03-08 Julian Brown <julian@codesourcery.com>
2093 * decl.c (finish_method): Give methods once-only linkage.
2095 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2097 * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2099 2005-03-07 Bryce McKinlay <mckinlay@redhat.com>
2101 * verify-glue.c (vfy_is_assignable_from): Perform static check using
2102 can_widen_reference_to if the C++ ABI is in use.
2103 (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2104 * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2105 type_isresolved, init_state, set_pc, state_get_pc,
2106 _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2107 (verify_fail): Report the current PC from the verifier context.
2108 (free_state): Remove #if 0 block to enable this function.
2109 (free_verifier_context): Call free_state on state_list iterator
2110 values before freeing them.
2111 * expr.c (pop_type_0): Pop correct type for error message when stack
2112 contains a multi-word type.
2114 2005-03-07 Ranjit Mathew <rmathew@hotmail.com>
2116 * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2117 for known NULL array length access.
2119 2005-03-07 Tom Tromey <tromey@redhat.com>
2121 * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2123 2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
2125 * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2126 typeck.c: Update copyright.
2128 2005-03-06 Ranjit Mathew <rmathew@hotmail.com>
2131 * xref.c, xref.h: Remove file.
2132 * Make-lang.in (java/xref.o): Remove.
2133 * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2134 * lang.c (flag_emit_xref): Remove definition.
2135 * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2136 * typeck.c (convert): Remove use of do_not_fold.
2137 * parse.y (do_not_fold): Remove definition.
2138 (parser grammar): Remove xref code.
2139 (maybe_create_class_interface_decl, create_class): Likewise.
2140 (register_fields, method_header, finish_method_declaration): Likewise.
2141 (declare_local_variables, source_end_java_method): Likewise.
2142 (java_complete_expand_classes): Do not set do_not_fold.
2143 (java_complete_expand_method): Remove xref code.
2144 (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2145 (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2146 (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2147 (patch_synchronized_statement, patch_throw_statement): Likewise.
2148 (maybe_build_class_init_for_field): Likewise.
2150 2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
2152 * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2153 instead of IS_NON_TYPE_CODE_CLASS.
2155 2005-03-04 Andrew Haley <aph@redhat.com>
2158 * class.c (set_method_index): Don't set method_index if it is
2160 (layout_class_method): Don't complain about "non-static method foo
2161 overrides static method" in the case of indirect dispatch.
2163 2005-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2165 * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2167 * Make-lang.in: Don't elide warnings in jcf-io.c.
2169 2005-03-01 Per Bothner <per@bothner.com>
2172 * check-init.c (wfl): Remove static.
2173 (final_assign_error, check_init): Replace calls to parse_error_context
2175 (check_init): Save, set, and restore input_location for each exp.
2177 2005-03-01 Per Bothner <per@bothner.com>
2179 * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2180 if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2181 * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2183 2005-03-01 Per Bothner <per@bothner.com>
2185 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2187 2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
2190 * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2193 2005-02-22 Tom Tromey <tromey@redhat.com>
2196 * verify-impl.c (EITHER): New define.
2197 (types_compatible): Handle it.
2198 (check_field_constant): Use it.
2200 2005-02-18 Tom Tromey <tromey@redhat.com>
2203 * verify-impl.c (types_equal): Fixed test.
2206 * verify-glue.c (vfy_class_has_field): New function.
2207 * verify.h (vfy_class_has_field): Declare.
2208 * verify-impl.c (check_field_constant): Added 'putfield'
2210 (verify_instructions_0): Updated.
2211 (types_equal): New function.
2213 2005-02-14 Tom Tromey <tromey@redhat.com>
2216 * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2217 stack effect of multianewarray.
2219 2005-02-14 Andrew Haley <aph@redhat.com>
2222 * expr.c (expand_byte_code): Call promote_arguments().
2223 (promote_arguments): New function.
2224 * decl.c (check_local_unnamed_variable): Remove special case for
2226 (find_local_variable): Promote all boolean types to int
2227 when searching for local variable decls.
2229 2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2231 * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2232 parse-scan.y: Update copyright.
2234 2005-02-11 Per Bothner <per@bothner.com>
2237 * parse-scan.y (input_location): Remove variable.
2238 (main_input_filename): New - replaces input_filename, which isn't
2239 settable if USE_MAPPED_LOCATION.
2240 * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2241 so we don't reference input_location or wfl_operator in that case.
2242 * jv-scan.c (expand_location): Remove - no longer used.
2243 (main): Set main_input_filename rather than input_filename.
2245 2005-02-09 Richard Henderson <rth@redhat.com>
2247 * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2248 * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2250 2005-02-08 Marcin Dalecki <martin@dalecki.de>
2252 * expr.c (add_type_assertion): Use the proper enumeration type,
2253 since this is what htab_find_slot() is expecting.
2255 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2257 * gcj.texi: Update copyright dates.
2259 2005-02-02 Tom Tromey <tromey@redhat.com>
2261 * gcj.texi (libgcj Runtime Properties): Default library_control
2264 2005-02-02 Ranjit Mathew <rmathew@hotmail.com>
2267 * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2268 (modifiers) when square brackets are present in a declaration for
2270 * jv-scan.c (main): Set input_filename and input_line.
2272 2005-02-01 Tom Tromey <tromey@redhat.com>
2275 * gjavah.c (get_field_name): Don't override name for JNI header.
2277 2005-02-01 Roger Sayle <roger@eyesopen.com>
2279 * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2280 of unsigned types using iushr and lushr JVM bytecodes.
2282 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2285 * gjavah.c (jni_print_float): Do not emit floating-point
2286 initialiser for a static final field.
2287 (jni_print_double): Likewise.
2289 2005-02-01 Mark Mitchell <mark@codesourcery.com>
2292 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2293 * gjavah.c (print_field_info): Mark static data members of
2294 floating-point type with "__extension__".
2296 2005-01-31 Mark Mitchell <mark@codesourcery.com>
2298 * gjavah.c (print_field_info): Mark static data members of
2299 floating-point type with "__extension__".
2301 2005-02-01 Ranjit Mathew <rmathew@hotmail.com>
2304 * parse.y (build_string_concatenation): Remove redundant if.
2305 (patch_conditional_expr): Attempt to patch_string() the condition
2306 of a ?: as well, in addition to its other operands.
2308 2005-01-25 Tom Tromey <tromey@redhat.com>
2310 * Make-lang.in (java/java-tree-inline.o): Removed.
2312 2005-01-25 Ranjit Mathew <rmathew@hotmail.com>
2315 * parse.y (patch_binop): Allow comparisons against NULL only
2316 if the other operand is of a reference type.
2318 2005-01-24 Tom Tromey <tromey@redhat.com>
2320 * java-tree.h (gcj_abi_version): Declare.
2321 * class.c (make_class_data): Push gcj_abi_version into "next"
2322 field. Renamed field.
2323 * decl.c (gcj_abi_version): New global.
2324 (parse_version): New function.
2325 (java_init_decl_processing): Call it. Renamed 'next' field.
2327 (GCJ_BINARYCOMPAT_ADDITION): New define.
2329 2005-01-24 Roger Sayle <roger@eyesopen.com>
2332 * jcf-write.c (generate_bytecode_insns): Conversions between
2333 integer types of the same precision shouldn't generate widening
2334 or narrowing conversion bytecodes.
2336 2005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2338 * java-except.h, java-tree.h: Remove unused prototypes.
2340 2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
2343 * jcf-write.c (perform_relocations): Don't call memcpy if source
2344 and destination are the same.
2346 2005-01-17 Tom Tromey <tromey@redhat.com>
2348 * verify-impl.c (get_short): Sign extend.
2349 (get_int): Likewise.
2351 2005-01-12 Ranjit Mathew <rmathew@hotmail.com>
2353 * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2356 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2358 * verify.c: Revert to the version before the BC-ABI merge.
2360 2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
2363 * check-init.c (check_init): Take care of references that do not
2364 have an explicit final variable declaration (e.g. array length
2365 access) for pre/post in/de-crement operators.
2367 2005-01-08 Mark Wielaard <mark@klomp.org>
2369 * parse.y (process_imports): Allocate (and free) original_name only
2370 when not already defined.
2371 * jcf-parse.c (read_class): Free results of find_class() and
2373 (java_parse_file): Keep pointer to head of file_list and free when
2374 done. Free result of lrealpath().
2376 2005-01-05 Tom Tromey <tromey@redhat.com>
2378 * gcj.texi (Standard Properties): java.ext.dirs is now used.
2380 2004-12-20 Andrew Haley <aph@redhat.com>
2382 * typeck.c: Use fold_convert for ints and booleans.
2384 2004-12-17 Andrew Haley <aph@redhat.com>
2387 * typeck.c (convert): Use a CONVERT_EXPR when converting to
2388 BOOLEAN_TYPE or CHAR_TYPE.
2389 (convert_to_boolean, convert_to_char) : Remove.
2390 * convert.h (convert_to_boolean, convert_to_char) : Remove.
2391 * expr.c (expand_load_internal): Do type conversion if type is not
2394 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
2397 * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
2400 2004-12-07 Andrew Haley <aph@redhat.com>
2403 * jcf-parse.c (load_class): Remove sanity test for missing inner
2406 2004-12-06 Tom Tromey <tromey@redhat.com>
2408 * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
2409 (java.uninstall): Likewise.
2410 (java.maintainer-clean): Likewise.
2411 (.INTERMEDIATE): Likewise.
2412 (java.install-man): Likewise.
2413 (gcj-dbtool.pod): New target.
2414 * gcj.texi (Code Generation): Document -findirect-dispatch.
2415 (libgcj Runtime Properties): Document
2416 gnu.gcj.precompiled.db.path.
2417 (Top): Link to "Invoking gcj-dbtool".
2419 2004-12-06 Tom Tromey <tromey@redhat.com>
2422 * java-tree.h (extract_field_decl): Declare.
2423 * parse.y (extract_field_decl): Renamed from
2424 strip_out_static_field_access_decl. No longer static.
2425 * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
2427 2004-12-03 Tom Tromey <tromey@redhat.com>
2429 * lang.c (flag_new_verifier): Define.
2430 (java_post_options): Set flag_new_verifier if indirect dispatch
2432 * lang.opt (fnew-verifier): Removed.
2434 2004-12-03 Tom Tromey <tromey@redhat.com>
2437 * Make-lang.in (java.install-common): Only install transformed
2438 gcjh if gcj-cross exists.
2440 2004-12-03 Andrew Haley <aph@redhat.com>
2443 * except.c (link_handler): Patch 'outer' field of siblings of the
2444 range we're demoting.
2446 2004-12-03 Andrew Haley <aph@redhat.com>
2449 * class.c (layout_class_method): Don't fail to override a method
2450 simply because it has DECL_ARTIFICIAL set.
2452 2004-12-02 Tom Tromey <tromey@redhat.com>
2455 * parse.y (craft_constructor): Special case null_pointer_node.
2457 2004-12-02 Tom Tromey <tromey@redhat.com>
2460 * java-gimplify.c (java_gimplify_expr): Don't call
2461 SET_EXPR_LOCATION unless wrapped tree is an expression.
2463 2004-11-27 Per Bothner <per@bothner.com>
2465 * jcf-parse.c (set_source_filename): Improvement to Andrew's fix:
2466 Fix fencepost error in 'i', which got executed one too many times.
2467 Also, fold memcpy into explicit loop, as originally intended.
2468 Also, free temporary 'buf' which otherwise leaks.
2470 2004-11-27 Per Bothner <per@bothner.com>
2472 * expr.c (build_expr_wfl): Only declare last_file and last_filenode
2473 local static variables if not USE_MAPPED_LOCATION.
2475 2004-11-27 Kazu Hirata <kazu@cs.umass.edu>
2477 * class.c, decl.c, expr.c: Fix comment typos.
2479 2004-11-26 Andrew Pinski <pinskia@physics.uc.edu>
2482 * decl.c (end_java_method): Call
2483 attach_init_test_initialization_flags on all the init_decls.
2484 * parse.y (attach_init_test_initialization_flags): Move to ...
2485 * expr.c (attach_init_test_initialization_flags): here and
2486 support BIND_EXPR also.
2487 * java-tree.h (attach_init_test_initialization_flags): Prototype.
2488 * jcf-parse.c (parse_class_file): Don't disable class init
2491 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
2493 * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
2496 2004-11-24 Richard Henderson <rth@redhat.com>
2498 * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
2499 vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
2501 2004-11-24 Tom Tromey <tromey@redhat.com>
2503 * verify.c (defer_merging): Don't use C++-style comment.
2504 * verify.h (java_opcode): Added java_opcode_end.
2505 * class.c (build_class_ref): Remove C++ comment and old FIXME.
2507 * verify-impl.c (vfy_push_type): Removed bogus "return".
2508 (initialize_stack): Use vfy_alloc and vfy_free.
2509 (verify_instructions_0): Likewise.
2511 * Merged gcj-abi-2-dev-branch to trunk.
2513 2004-11-24 Andrew Haley <aph@redhat.com>
2515 * jcf-parse.c (parse_class_file): Set file_start_location.
2517 2004-11-10 Tom Tromey <tromey@redhat.com>
2519 * class.c (make_field_value): Don't call build_static_field_ref.
2520 (build_static_field_ref): Don't emit direct references when using
2523 * gcj.texi (Invoking gij): Document -verbose. Put -verbose and
2524 -verbose:class into man page synopsis.
2526 2004-11-09 Tom Tromey <tromey@redhat.com>
2528 * expr.c (build_java_arraystore_check): Still generate check if
2529 element type is itself an array.
2531 2004-11-08 Tom Tromey <tromey@redhat.com>
2533 * java-tree.h (soft_check_assignment_node): Removed.
2534 (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
2535 * decl.c (java_init_decl_processing): Don't initialize
2536 soft_check_assignment_node.
2538 2004-11-05 Tom Tromey <tromey@redhat.com>
2540 * class.c (layout_class_methods): Don't add Miranda methods when
2541 using indirect dispatch.
2543 2004-11-05 Bryce McKinlay <mckinlay@redhat.com>
2545 * class.c (make_class_data): Call emit_assertion_table to set the
2546 'assertion_table' field.
2547 (build_signature_for_libgcj): Move here from expr.c.
2548 (add_assertion_table_entry): New function. Callback for assertion
2549 hashtable traversal.
2550 (emit_assertion_table): New. Take class argument, and generate
2551 assertion table DECL based on the TYPE_ASSERTIONS hashtable.
2552 * decl.c (init_decl_processing): Define assertion_entry_type record.
2553 Push 'assertion_table' class field instead of 'verify'.
2554 * expr.c (type_assertion_eq): Compare 'assertion_code' field.
2555 (type_assertion_hash): Include 'assertion_code' in hash.
2556 (add_type_assertion): Rewritten. Take class and assertion_code
2557 arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
2558 (can_widen_reference_to): Use new add_type_assertion() arguments.
2559 * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
2560 JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
2561 (verify_identifier_node): Removed.
2562 (assertion_entry_type, assertion_table_type): New.
2563 (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
2564 assertion code definitions.
2565 (struct type_assertion): Add assertion_code. Rename 'source_type' and
2566 'target_type' to 'op1' and 'op2'.
2567 (add_type_assertion): Declare.
2568 (lang_printable_name_wls): Remove unused definition.
2569 * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
2570 to emit runtime assertion.
2571 (vfy_note_stack_type): Clean up non-C90 declarations.
2572 (vfy_note_local_type): Likewise.
2573 * verify.h (vfy_is_assignable_from): Declare.
2574 * verify-impl.c (is_assignable_from_slow): Remove unused function.
2575 (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
2576 instead of is_assignable_from_slow().
2577 (types_compatible): Reinstate ref_compatible() call.
2579 2004-11-04 Tom Tromey <tromey@redhat.com>
2581 * class.c (build_static_field_ref): Reverted previous patch.
2583 * class.c (build_static_field_ref): Don't emit direct references
2584 when using indirect dispatch.
2586 2004-11-03 Tom Tromey <tromey@redhat.com>
2588 * expr.c (expand_java_arrayload): Set lhs_type_node.
2589 (expand_java_arraystore): Set rhs_type_node.
2591 2004-11-02 Tom Tromey <tromey@redhat.com>
2593 * jcf-parse.c (compute_class_name): Use filename length from zip
2594 directory, not strlen.
2596 * expr.c (expand_invoke): Mark new interface methods as abstract.
2598 2004-11-01 Tom Tromey <tromey@redhat.com>
2600 * verify-impl.c (push_jump): Removed check for uninitialized
2602 (push_exception_jump): Likewise.
2603 (handle_ret_insn): Likewise.
2604 (handle_jsr_insn): Likewise.
2605 (state_check_no_uninitialized_objects): Removed.
2607 * decl.c (check_local_unnamed_variable): Recognize
2608 promoted-to-int parameters when using the new verifier.
2609 * expr.c (expand_java_arraystore): Explicitly request array type
2610 when using new verifier.
2611 (expand_java_arrayload): Likewise.
2612 (invoke_build_dtable): Don't pass object_type_node as
2613 expression argument to build_java_indirect_ref.
2614 (build_java_check_indexed_type): Do nothing.
2615 (build_java_arraystore_check): Handle case where array doesn't
2617 (build_java_array_length_access): Likewise.
2618 (expand_invoke): Handle case where interface overrides a method
2620 (pop_type_0): Always succeed for reference types.
2621 (process_jvm_instruction): Don't pop a value in a dead
2623 (pop_arguments): Convert arguments to correct types.
2625 2004-10-29 Andrew Haley <aph@redhat.com>
2627 * jcf-parse.c (give_name_to_class): Remove line that was
2630 2004-10-29 Andrew Haley <aph@redhat.com>
2632 * jcf-parse.c (set_source_filename): Add code to build new sfname.
2634 2004-10-20 Andrew Haley <aph@redhat.com>
2636 * decl.c (end_java_method): Don't expand if flag_syntax_only.
2638 2004-10-26 Tom Tromey <tromey@redhat.com>
2640 * verify.h (vfy_notify_verified): Removed.
2641 * verify-glue.c (vfy_notify_verified): Removed.
2643 2004-10-26 Tom Tromey <tromey@redhat.com>
2645 * verify-impl.c (debug_print_state): Declare `i' before code.
2646 (merge_types): Modify `t' when it is null_type.
2648 2004-10-26 Tom Tromey <tromey@redhat.com>
2650 * verify-impl.c (type_print): Renamed from print. Now static and
2652 (debug_print_state): Use type_print.
2654 2004-10-25 Tom Tromey <tromey@redhat.com>
2656 * expr.c (build_invokeinterface): Compute correct offset for
2657 index into interface methods.
2659 2004-10-20 Tom Tromey <tromey@redhat.com>
2661 * java-tree.h (verify_jvm_instructions_new): Declare.
2663 * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
2666 * verify-impl.c (verify_instructions): Correctly handle wide
2668 * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
2669 (vfy_get_component_type): Strip pointer types.
2670 (vfy_find_class): Use get_type_from_signature. Strip pointer
2672 Include java-except.h.
2674 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2676 * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
2677 vfy_push_type_t, set_variable, add_new_state, merge_into,
2678 handle_jsr_insn, branch_prepass, check_class_constant,
2679 check_wide_constant, get_one_type, compute_static_types,
2680 verify_instructions_0): Clean up C99 declarations after statements.
2682 2004-10-20 Tom Tromey <tromey@redhat.com>
2684 * verify-impl.c (merge_refs): Compare reference against iterator,
2687 * verify-glue.c (vfy_tag): Mask off resolved flag.
2689 2004-10-19 Tom Tromey <tromey@redhat.com>
2691 * verify-impl.c (verify_instructions): Call vfy_note_local_type.
2692 (init_state_with_stack): Initialize `this_type' in state.
2693 (verify_method): Use debug_print.
2694 * verify-glue.c (vfy_is_primitive): Removed debugging print.
2695 (vfy_note_stack_depth): Reverted last patch.
2696 (vfy_note_stack_type): Note pointer to Object, not Object.
2697 (vfy_note_local_type): Likewise.
2699 * verify.h (vfy_note_instruction_seen): Declare.
2700 * verify-glue.c (verify_jvm_instructions_new): Set
2701 BCODE_EXCEPTION_TARGET on target instruction.
2702 (vfy_note_instruction_seen): New function.
2703 * verify-impl.c (FLAG_INSN_SEEN): New define.
2704 (verify_instructions_0): Set flag on instruction. Save state for
2706 (verify_instructions): Call vfy_note_instruction_seen.
2708 * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
2709 (verify_jvm_instructions_new): Call method_init_exceptions,
2710 add_handler, and handle_nested_ranges.
2711 * verify-impl.c (verify_method): Return 1 on success.
2712 (verify_instructions_0): Save the state at PC=0.
2714 * verify-impl.c (init_type_from_class): Set is_resolved and
2715 ref_next on new ref_intersection.
2716 (init_type_from_string): Likewise.
2718 2004-10-15 Bryce McKinlay <mckinlay@redhat.com>
2720 * expr.c (expand_bytecode): Use verify_jvm_instructions_new
2721 if flag_new_verifier is set.
2722 * java-tree.h (flag_new_verifier): Declare.
2723 * lang.opt (fnew-verifier): New option.
2724 * verify-impl.c: Work around namespace pollution by undef'ing
2726 (struct verifier_context): Make 'bytecode' const.
2727 (verify_fail_pc): Pass -1 PC argument to vfy_fail.
2728 (types_compatible): For the BC-ABI, always consider reference types
2730 (check_class_constant): Use vfr->current_class.
2731 (check_constant): Likewise.
2732 (check_wide_constant): Likewise.
2733 (check_field_constant): Check for 'L' at start of type name.
2734 (get_one_type): Return pointer instead of type. Set type result in
2735 caller via passed type pointer.
2736 (compute_argument_types): Update to use new get_one_type arguments.
2737 (compute_return_type): Likewise.
2738 (make_verifier_context): New. Allocate and initialize 'vfr'.
2739 (free_verifier_context): New. Free 'vfr' and its contents.
2740 (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
2741 and free_verifier_context.
2743 2004-10-15 Tom Tromey <tromey@redhat.com>
2745 * verify-glue.c (vfy_note_local_type): Mark argument as unused.
2746 * verify.h (vfy_fail): Fixed formatting.
2748 * verify-impl.c (vfr): Fixed comment formatting.
2749 (collapse_type): New function.
2750 (verify_instructions): Notify compiler about type map.
2751 * verify.h (vfy_note_stack_depth): Updated.
2752 (vfy_note_stack_type): Likewise.
2753 (vfy_note_local_type): Likewise.
2754 (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
2756 * verify-glue.c (vfy_note_stack_depth): Correctly size type
2757 state. Added `method' argument.
2758 (vfy_note_stack_type): Renamed from vfy_note_type. Added `method'
2760 (vfy_note_local_type): New function.
2761 (vfy_unsuitable_type): Likewise.
2762 (vfy_return_address_type): Likewise.
2763 (vfy_null_type): Likewise.
2765 * verify.h (VFY_IN_GCC): Removed.
2766 (VFY_WANT_TYPEMAP): Removed.
2767 * verify-impl.c (verify_instructions_0): Removed useless "\".
2768 (struct state) <next>: Uncomment.
2770 2004-10-13 Bryce McKinlay <mckinlay@redhat.com>
2772 * verify-impl.c: Formatting fixes. Reformat C++-style comments to
2775 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
2777 * Make-lang.in (verify.o): Re-enabled this target.
2778 * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
2779 (vfy_get_interface): Likewise.
2780 (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
2781 * verify.h (verify_jvm_instructions_new): Declare.
2782 * verify-impl.c (free_state): Temporarily comment out unused
2785 2004-10-06 Tom Tromey <tromey@redhat.com>
2787 * java-tree.h (JV_STATE_READ): New enum value.
2789 2004-10-06 Bryce McKinlay <mckinlay@redhat.com>
2791 * verify.h: New file.
2793 2004-10-05 Bryce McKinlay <mckinlay@redhat.com>
2795 * verify-impl.c, verify-glue.c, verify.h: New files.
2796 * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
2798 2004-09-24 Andrew Haley <aph@redhat.com>
2800 * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
2801 for a slot if it's of pointer type.
2803 2004-09-14 Tom Tromey <tromey@redhat.com>
2805 * class.c (make_class_data): Correctly initialize "state" field.
2806 Initialize "engine" field.
2807 * decl.c (java_init_decl_processing): Add "engine" field.
2809 2004-09-10 Andrew Haley <aph@redhat.com>
2812 * expr.c (build_invokeinterface): Use fast method for interface
2814 * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
2815 JTI_ITABLE_PTR_TYPE.
2816 (struct lang_type): Add itable_methods, itable_decl, itable_syms_decl.
2817 (emit_symbol_table): Add new arg, element_size.
2818 * decl.c (java_init_decl_processing): Initialize Class.itable.
2819 * class.c (GEN_TABLE): New macro.
2820 (gen_indirect_dispatch_tables): Use it. Add itable.
2821 (make_class_data): Add new arg for emit_symbol_table().
2823 (add_miranda_methods): Make sure search_class has been parsed.
2824 (emit_symbol_table): Add new arg, element_size.
2826 2004-09-06 Andrew Haley <aph@redhat.com>
2828 * verify.c (merge_types): Return Object for all merges of
2830 * expr.c (add_type_assertion): Don't generate assertions when
2831 source type is array of Object.
2833 2004-09-03 Andrew Haley <aph@redhat.com>
2835 * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
2837 * lang.c (java_post_options): Force flag_verify_invocations if
2838 we're not using indirect dispatch.
2840 * expr.c (pop_type_0): Move test for interfaces before call to
2841 can_widen_reference_to().
2842 (build_signature_for_libgcj): Remove generation of canonical array
2844 (add_type_assertion): Canonicalize both arrays.
2845 Don't assert that type X can be assigned to Object.
2846 Don't assert that type X an be assigned to type X.
2847 Don't assert that Object can be assigned to type X.
2848 (can_widen_reference_to): Warn whenever we generate an assertion.
2849 (process_jvm_instruction): Use throwable_type_node for the type of
2852 2004-09-01 Andrew Haley <aph@redhat.com>
2854 * decl.c (java_init_decl_processing): Change
2855 verify_identifier_node to "__verify".
2856 * expr.c (add_type_assertion): Use verify_identifier_node for name.
2857 * java-tree.h (verify_identifier_node): Change to "__verify".
2859 * expr.c (build_signature_for_libgcj): New function.
2860 (add_type_assertion): Use it to construct signatures for
2861 source_type and target_type.
2863 2004-08-27 Andrew Haley <aph@redhat.com>
2865 * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
2866 (verify_identifier_node): New.
2867 (TYPE_VERIFY_METHOD): New.
2868 (struct type_assertion): New type.
2869 * expr.c (type_assertion_eq): New function.
2870 (type_assertion_hash): New function.
2871 (add_type_assertion): New function.
2872 (can_widen_reference_to): Call add_type_assertion().
2873 * decl.c (java_init_decl_processing): Add verify_identifier_node.
2874 * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
2875 (finish_class): Output TYPE_VERIFY_METHOD (type).
2877 * decl.c (end_java_method): Nullify unused fields.
2879 2004-08-17 Andrew Haley <aph@redhat.com>
2881 * verify.c (defer_merging): Quieten.
2882 * jcf-parse.c (load_class): Only try to open a class file if it's
2883 java.lang.Object or if it's part of the current compilation.
2884 Check that the class we just tried to load is the class we just
2886 (java_parse_file): Set flag_verify_invocations off if we're
2887 compiling from .class.
2888 (parse_zip_file_entries): Abort if we try to read a dummy class.
2889 * expr.c (can_widen_reference_to): Quieten.
2890 (build_invokevirtual): Abort if we try to invokevirtual an
2892 (expand_invoke): Don't build a non-interface call to an interface.
2893 (build_instanceof): Don't do premature optimization if
2894 flag_verify_invocations is not set.
2895 * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
2897 (build_static_field_ref): Add correct type conversion for
2899 (add_miranda_methods): Disable generation of Miranda methods for
2901 (layout_class_method): Don't complain about non-static method
2902 overrides static method with dummy classes.
2904 2004-08-13 Tom Tromey <tromey@redhat.com>
2906 * class.c (build_static_field_ref): Re-enable atable lookups for
2909 * parse.y (strip_out_static_field_access_decl): Indentation fix.
2911 2004-08-11 Tom Tromey <tromey@redhat.com>
2913 * gcj.texi (libgcj Runtime Properties): Document new properties.
2915 2004-08-06 Andrew Haley <aph@redhat.com>
2917 * jcf-parse.c (load_class): Check that we really have loaded the
2918 class we're looking for.
2920 2004-07-19 Andrew Haley <aph@redhat.com>
2922 * verify.c (verify_jvm_instructions): Comment change only.
2924 * typeck.c (build_java_array_type): Add size field to array name.
2926 * java-tree.h (LOCAL_SLOT_P): New.
2927 (update_aliases): Add PC argument.
2928 (pushdecl_function_level): New function.
2930 * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
2931 MODIFY_EXPR, and SAVE_EXPR.
2932 (java_gimplify_modify_expr): New function.
2934 * expr.c (push_type_0): Call find_stack_slot() to create temporary.
2935 (expand_iinc): Pass PC to update_aliases().
2936 (STORE_INTERNAL): Likewise.
2937 (process_jvm_instruction): Likewise.
2939 * decl.c (base_decl_map): New variable.
2940 (uniq): New variable.
2941 (update_aliases): Rewrite with more thorough checking.
2942 (debug_variable_p): New function.
2943 (push_jvm_slot): Don't initialize local variable. Don't pushdecl.
2944 (check_local_named_variable): Delete whole function.
2945 (initialize_local_variable): New function.
2946 (check_local_unnamed_variable): Add checks and comments.
2947 (find_local_variable): Rewrite.
2948 (java_replace_reference): New function.
2949 (function_binding_level): New variable.
2950 (pushdecl_function_level): New function.
2951 (maybe_pushlevels): Set DECL_LOCAL_END_PC.
2952 (maybe_pushlevels): Call pushdecl() on each of the new decls.
2953 (start_java_method): Reset uniq. Create base_decl_map. Set
2954 function_binding_level.
2955 (end_java_method): Null unused fields to save memory.
2957 2004-06-29 Andrew Haley <aph@redhat.com>
2959 * except.c (expand_start_java_handler): Push a new binding level.
2960 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
2961 register_exception_range() to register where we'll do it.
2962 (expand_end_java_handler): Remove old bogus code. Replace with
2963 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
2964 the top of the expression we're curently building.
2965 (maybe_end_try): Delete.
2966 * decl.c (binding_level.exception_range): New field.
2967 (clear_binding_level): Add field exception_range. Reformat.
2968 (poplevel): Call expand_end_java_handler().
2969 (poplevel): Call java_add_stmt only if functionbody is false.
2970 (maybe_poplevels): Don't call maybe_end_try() from here.
2971 (end_java_method): Clear no longer used trees in function decl.
2972 (register_exception_range): New function.
2973 * java-tree.h (register_exception_range, struct eh_range): Declare.
2975 2004-06-22 Andrew Haley <aph@redhat.com>
2977 * class.c (gen_indirect_dispatch_tables): Set the DECL_OWNER of
2979 * check-init.c (get_variable_decl): Teach check-init about
2980 FIELD_DECLs addressed via the otable.
2981 * jcf-parse.c (load_class): Check CLASS_LOADED_P, not
2984 2004-05-28 Andrew Haley <aph@redhat.com>
2986 * jcf-parse.c (load_class): Don't try to read a class that we've
2989 * expr.c (build_invokeinterface): Use the old-fashioned way of
2990 doing indirect dispatch: look up interfaces by name.
2991 * java-tree.h (enum java_tree_index): Add
2992 JTI_SOFT_LOOKUPINTERFACEMETHODBYNAME_NODE
2993 * decl.c (java_init_decl_processing): Add
2994 soft_lookupinterfacemethodbyname_node.
2996 * gjavah.c (print_method_info): Final methods have vtable entries,
2997 so gjavah needs to output them.
2998 * class.c (layout_class_method): Generate vtable entries for final
3000 * parse.y (invocation_mode): Use INVOKE_VIRTUAL for indirect
3001 dispatch, even if a method is final.
3003 2004-05-25 Andrew Haley <aph@redhat.com>
3005 * class.c (build_symbol_entry): Convert the names of constructors
3006 to init_identifier_node when generating an entry for the indirect
3009 * expr.c (build_known_method_ref): Generate indirect calls for
3010 all methods marked DECL_EXTERNAL or TREE_PUBLIC.
3012 2004-05-24 Andrew Haley <aph@redhat.com>
3014 * expr.c (build_known_method_ref): Make sure ARRAY_REF access to
3015 atable element is of the right type.
3017 * class.c (build_static_field_ref): Cast pointer to correct type
3020 2004-04-20 Bryce McKinlay <mckinlay@redhat.com>
3022 * Merged with HEAD as of 20040514. Diff against
3023 gcj-abi-2-merge-20040514.
3025 2004-04-16 Andrew Haley <aph@redhat.com>
3027 * verify.c (check_pending_block): Disable subroutine checks.
3028 (defer_merging): New function.
3029 (merge_types): If types are dummy, use defer_merging to combine them.
3030 (verify_jvm_instructions): If invocation is invokeinterface and
3031 target is dummy, assume target really is an interface.
3033 * parse.y (patch_invoke): Break out call to java_create_object.
3035 * lang.c (flag_verify_invocations): New.
3037 * jcf-parse.c (load_class): If we've already failed to load a
3038 class, don't try again.
3039 (load_class): If we can't find a .class file, don't fail, but emit
3041 (parse_class_file): Don't act on dummy methods.
3043 * java-tree.h (flag_verify_invocations): New.
3045 (lang_type.dummy_class): New field.
3046 (java_create_object): New function.
3047 (METHOD_DUMMY): New.
3049 * expr.c (build_field_ref): Widen field offset.
3050 (pop_type_0): If the type in stack_type_map is a TREE_LIST, check
3051 that each of its elements is compatible with the one we're
3053 (pop_type_0): Issue a warning to say that we need to generate a
3055 (java_create_object): New function.
3056 (build_field_ref): Only generate hard refs if we're not using
3058 (expand_java_field_op): If we're using !verify_invocations and we
3059 see a missing field, generate a decl for it.
3061 (expand_invoke): If a class doesn't have the method we seek and
3062 we're using !flag_verify_invocations, generate a decl for the
3065 (build_known_method_ref): Always use indirect dispatch via the
3066 atable for static methods.
3068 (expand_java_NEW): Break out object creation into new function,
3071 (can_widen_reference_to): Issue a warning to say that we need to
3072 generate a runtime check.
3074 * class.c (set_super_info): Inherit TYPE_DUMMY from sureclass.
3075 (make_method_value): Also use index for interfaces.
3076 (make_class_data): Skip dummy field for inherited data.
3077 Don't build method array for dummy methods.
3078 Set size_in_byte to -1 when using inirect dispatch
3079 Don't build a hard class ref if we don't have a hard ref to our
3080 superclass, or if we're using inirect dispatch.
3081 Null out dispatch tables.
3083 (layout_class_method): Don't complain about non-static method
3084 overrides static method is method is artificial.
3086 (build_static_field_ref): Disable atable references to static
3087 fields for the time being.
3089 (layout_class_methods): Check for CLASS_INTERFACE as
3090 well as CLASS_ABSTRACT.
3092 2004-11-24 Steven Bosscher <stevenb@suse.de>
3094 * class.c (make_class_data): Don't check flag_inline_functions.
3095 * lang.c (flag_really_inline): Remove unused flag.
3096 (java_handle_option): Don't set it here. Remove special handling
3097 of flag_inline_functions for Java.
3098 (java_init): Don't set flag_inline_trees here. Already done...
3099 (java_post_options): ...here. Don't clear flag_inline_functions.
3101 2004-11-24 Steven Bosscher <stevenb@suse.de>
3103 * java-gimplify.c (java_gimplify_labeled_block_expr): New function.
3104 (java_gimplify_exit_block_expr): New function.
3105 (java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
3107 * java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
3108 (EXIT_BLOCK_EXPR): Likewise.
3109 * java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
3110 (LABELED_BLOCK_BODY): Likewise.
3111 (EXIT_BLOCK_LABELED_BLOCK): Likewise.
3112 * jcf-write.c (generate_bytecode_insns): Don't handle the unused
3113 EXIT_BLOCK_RETURN operand. Use EXIT_BLOCK_LABELED_BLOCK instead of
3115 * lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
3116 (java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
3117 EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND. Don't handle the
3118 second operand of EXIT_BLOCK_EXPR.
3119 * parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
3121 (build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
3123 2004-11-23 Ben Elliston <bje@au.ibm.com>
3125 * xref.h (xref_flag_value): Remove.
3126 (xref_set_data, xref_get_data): Likewise.
3127 (xref_set_current_fp): Likewise.
3128 (XREF_NONE): Likewise.
3129 (XREF_GET_DATA): Likewise.
3130 * xref.c (xref_flag_value): Remove.
3131 (xref_set_data, xref_get_data): Likewise.
3132 (xref_set_current_fp): Likewise.
3134 2004-11-23 Ben Elliston <bje@au.ibm.com>
3136 * gjavah.c (output_directory): Make static.
3137 (temp_directory): Likewise.
3139 2004-11-15 Tom Tromey <tromey@redhat.com>
3141 * decl.c (instn_ptr_type_node): Removed.
3142 (lineNumbers_ptr_type_node): Removed.
3143 (jint_type): Removed.
3144 (jint_ptr_type): Removed.
3146 2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
3149 * check-init.c (check_init): Ignore DECL_EXPR.
3150 * expr.c (always_initialize_class_p): Reenable.
3151 (build_class_init): Use a variable to store the decl. Also use
3152 boolean_false_node instead of integer_zero_node.
3153 * parse.y (attach_init_test_initialization_flags): Add a decl_expr
3156 2004-11-08 Tom Tromey <tromey@redhat.com>
3159 * gjavah.c (HANDLE_END_FIELD): Call print_field_info when
3160 generating a JNI header.
3161 (print_field_info): Handle JNI headers.
3162 (jni_print_float): Likewise.
3163 (jni_print_double): Likewise.
3165 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
3167 * decl.c (end_java_method): Remove duplicated code.
3169 2004-11-06 Zack Weinberg <zack@codesourcery.com>
3170 Gerald Pfeifer <gerald@pfeifer.com>
3172 * lex.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
3175 2004-11-02 Bryce McKinlay <mckinlay@redhat.com>
3178 * class.c: Reinstate 2004-08-18 patch.
3179 (make_local_function_alias): Don't create an alias for extern (native)
3182 2004-10-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3185 * class.c (make_local_function_alias): Revert 2004-08-18 change.
3186 (make_method_value): Likewise.
3188 2004-10-21 Andrew Haley <aph@redhat.com>
3191 * jcf-parse.c (set_source_filename): Add code to build new sfname.
3193 2004-10-20 Andrew Haley <aph@redhat.com>
3195 * decl.c (end_java_method): Don't expand if flag_syntax_only.
3196 Remove duplicated code block.
3198 2004-10-18 Steven Bosscher <stevenb@suse.de>
3200 * Make-lang.in (java/parse.o-warn, java/parse-scan.o-warn):
3201 New rules to work around old Bison warnings.
3203 2004-10-17 Steven Bosscher <stevenb@suse.de>
3205 * class.c (ident_subst): Always alloca buffer.
3206 * java-opcodes.h (LAST_AND_UNUSED_JAVA_OPCODE): Add this dummy
3207 opcode after including javaop.def.
3208 * jcf-dump.c (CHECK_PC_IN_RANGE): Return 0 from the arm of the
3209 conditional expression that exits, to avoid warnings.
3210 * verify.c (CHECK_PC_IN_RANGE): Mark the __GNUC__ definition as
3211 a user of an extension.
3212 * win32-host.c: Move check down to have non-empty file when
3213 WIN32 is not defined.
3215 * Make-lang.in (java-warn): Add STRICT_WARN.
3216 (java/jcf-io.o-warn): Don't have Werror for this file.
3217 * jcf-io.c (caching_stat): Add FIXME for non-POSIX scandir use.
3219 2004-10-16 Hans-Peter Nilsson <hp@bitrange.com>
3221 * expr.c (expr_add_location): Move declaration to before all
3223 * parse.y (java_expand_classes): Ditto.
3224 * lex.c (java_peek_unicode): Ditto.
3226 2004-10-16 Ranjit Mathew <rmathew@hotmail.com>
3228 * check-init.c: Use %<, %> and %q for quoting in diagnostics,
3229 if possible, else convert `foo' to 'foo'.
3230 * class.c: Likewise.
3233 * jcf-io.c: Likewise.
3234 * jcf-parse.c: Likewise.
3237 * parse.h: Likewise.
3239 2004-10-16 Ranjit Mathew <rmathew@hotmail.com>
3241 * parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and
3242 rename parameter 'msg' to 'msgid' in function declaration.
3243 (issue_warning_error_from_context): Likewise.
3244 (yyerror): Rename parameter 'msg' to 'msgid'.
3245 (all over): Use new quoting style for diagnostics.
3247 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3249 * boehm.c, builtins.c, java-except.h, jcf-io.c, jcf-path.c,
3250 jcf.h, lang-specs.h, lex.c, lex.h, resource.c, win32-host.c:
3253 2004-10-14 Matt Austern <austern@apple.com>
3255 * lang.c (java_tree_inlining_walk_subtrees): Last arg is struct
3258 2004-10-13 Tom Tromey <tromey@redhat.com>
3261 * lang.opt (--extdirs): Document.
3262 * jvspec.c (lang_specific_driver): Recognize -encoding and
3265 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
3267 * parse.y (issue_warning_error_from_context): Use va_list *
3268 instead of va_list parameter.
3269 (parse_error_context): Update call.
3270 (parse_warning_context): Likewise.
3272 2004-10-05 Zack Weinberg <zack@codesourcery.com>
3274 * parse.y, parse-scan.y: Add list of diagnostic messages to
3275 insulate translation template from version of yacc/bison used
3276 to compile the grammar.
3278 2004-10-05 Ranjit Mathew <rmathew@hotmail.com>
3280 Prepare for %q, %< and %> in diagnostic message strings.
3281 * java-tree.h (parse_error_context): remove ATTRIBUTE_PRINTF_2.
3282 Name second parameter 'msgid'.
3283 * parse.y: Additionally include pretty-print.h and diagnostic.h.
3284 (issue_warning_error_from_context): Use pretty-printer functions
3285 instead of vsprintf for constructing formatted messages. Rename
3286 parameter 'msg' to 'msgid'.
3287 (parse_error_context): Rename parameter 'msg' to 'msgid'.
3288 (parse_warning_context): Likewise.
3290 2004-10-05 Andrew Haley <aph@redhat.com>
3293 * jcf-parse.c (parse_zip_file_entries): If a class has a
3294 superclass and a TYPE_SIZE of zero, lay it out.
3296 2004-09-30 Andrew Haley <aph@redhat.com>
3299 * jcf-parse.c (compute_class_name): Rewrite.
3301 2004-10-01 Jan Hubicka <jh@suse.cz>
3303 * java.c (java_expand_body): Update call of tree_rest_of_compilation.
3305 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
3307 * lex.c: Fix a comment typo.
3309 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
3311 * java-tree.h: Fix a comment typo.
3313 2004-09-30 Per Bothner <per@bothner.com>
3315 Simplify lexer. Implement --enable-mapped-location support.
3316 * jcf-parse.c (parse_class_file): Use linemap_line_start.
3317 (parse_source_file_1): Pass filename as extra parameter, so we can call
3318 linemap_add and set input_location here, rather than in both callers.
3319 (read_class): Pass copied filename to parse_source_file_1.
3320 Don't initialize wfl_operator - only needed for source compilation.
3321 (read_class, jcf_parse): Call linemap_add with LC_LEAVE.
3322 * lex.h: Remove a bunch of debugging macros.
3323 * lex.h (struct_java_line, struct java_error): Remove types.
3324 (JAVA_COLUMN_DELTA): Remove - use java_lexer.next_colums instead.
3325 (struct java_lc_s): Remove prev_col field.
3326 (struct java_lexer): New fields next_unicode, next_columns, and
3327 avail_unicode. New position field, and maybe token_start field.
3328 Don't need hit_eof field - use next_unicode == -1 instead.
3329 (JAVA_INTEGERAL_RANGE_ERROR): Rename to JAVA_RANGE_ERROR.
3330 (JAVA_RANGE_ERROR, JAVA_FLOAT_ANGE_ERROR): Update accordingly.
3331 * parse.h: Various changes for USE_MAPPED_LOCATION.
3332 (EXPR_WFL_EMIT_LINE_NOTE): XXX
3333 (BUILD_EXPR_WFL, EXPR_WFL_ADD_COL): Remove no-longer-used macros.
3334 (struct parser_ctxt): New file_start_location field.
3335 Remove p_line, c_line fields since we no longer save lines.
3336 Remove elc, lineno, and current_jcf fields - no longer used.
3337 * parse.y: Updates for USE_MAPPED_LOCATION and new lexer.
3338 Don't use EXPR_WFL_ADD_COL since that isn't trivial with
3339 source_location and is probably not needed anymore anyway.
3340 Use new expr_add_Location function.
3341 (SET_EXPR_LOCATION_FROM_TOKEN): New convenience macro.
3342 (java_pop_parser_context): Minor cleanup.
3343 (java_parser_context_save_global, java_parser_context_restore_global,
3344 java_pop_parser_context): Save/restore input_location as a unit.
3345 (issue_warning_error_from_context): If USE_MAPPED_LOCATION take
3346 a source_location instead of a wfl context node.
3347 (check_class_interface_creation): input_filename is not addressable.
3348 (create_artificial_method): Calling java_parser_context_save_global
3349 and java_parser_context_restore_global is overkill. Instead,
3350 temporarily set input_location from class decl.
3351 (java_layout_seen_class_methods): Set input_location from method decl.
3352 (fix_constructors): Make more robust if no EXPR_WITH_FILE_LOCATION.
3353 (finish_loop_body): Likewise.
3354 * lex.c: Updates for USE_MAPPED_LOCATION. Use build_unknwon_wfl.
3355 (java_sprint_unicode): Take a character, not index in line.
3356 (java_sneak_uncode): Replaced by java_peek_unicode.
3357 (java_unget_unicode): No longer used.
3358 (java_allocate_new_line. java_store_unicode): Removed, since we
3359 no longer remember "lines".
3360 (java_new_lexer): Update for new data structures.
3361 (java_read_char): Move unget_value checking to java_read_unicode.
3362 (java_get_unicode, java_peek_unicode, java_next_unicode): New more
3363 efficient functions that are used directly when lexing.
3364 (java_read_unicode_collapsing_terminators): No longer needed.
3365 (java_parse_end_comment, java_parse_escape_sequence, do_java_lex):
3366 Re-organize to use java_peek_unicode to avoid java_unget_unicode.
3367 (java_parse_escape_sequence): Rewrite to be simpler / more efficient.
3368 (do_java_lex): Lots of movings around to avoid java_unget_unicode,
3369 combine switch branches, and test for common token kinds earlier.
3370 (java_lex_error): Rewrite.
3371 * jv-scan.c (expand_location): New function, copied from tree.c.
3372 (main): Set ctxp->filename instead of setting input_filename directly.
3374 2004-09-30 Per Bothner <per@bothner.com>
3376 More cleanup for --enable-mapped-location.
3377 * class.c (push_class): If USE_MAPPED_LOCATION don't set
3378 input_location here. Instead do it in give_name_to_class.
3379 (build_class_ref): Set DECL_ARTIFICIAL, for the sake of dwarf2out.
3380 * expr.c (expand_byte_code): Call linemap_line_start.
3381 * expr.c (build_expr_wfl): If USE_MAPPED_LOCATION, change final
3382 parameters to a source_location. Don't need EXPR_WFL_FILENAME_NODE.
3383 (expr_add_location): New function, if USE_MAPPED_LOCATION.
3384 * class.c (maybe_layout_super_class): Adjust build_expr_wfl call
3385 to USE_MAPPED_LOCATION case.
3387 * java-tree.h (JAVA_FILE_P, ZIP_FILE_P): Remove unused macros.
3388 * jcf-parse.c (java_parse_file): Don't set input_filename.
3389 Use IS_A_COMMAND_LINE_FILENAME_P to check for duplicate filenames.
3390 Create a list of TRANSLATION_UNIT_DECL.
3391 (current_file_list): Is now a TRANSLATION_UNIT_DECL chain. The
3392 reason is so we can set a DECL_SOURCE_LOCATION for each file.
3393 (java_parse_file): Don't set unused ZIP_FILE_P, JAVA_FILE_P..
3394 Create line-map LC_ENTER/LC_LEAVE entries for archive itself.
3395 (file_start_location): New static.
3396 (set_source_filename): Avoid extra access to input_filename macro.
3397 Concatenate new name with class's package prefix.
3398 (set_source_filename, give_name_to_class): Update.
3399 (give_name_to_class): Set class's "line 0" input_location here.
3400 (parse_class_file): Set input_location as a unit.
3402 * jcf-parse.c (load_class): Sanity test if missing inner class file.
3404 2004-09-29 Per Bothner <per@bothner.com>
3406 * java-tree.h: Redefine some macros and add some declaration
3407 to handle the USE_MAPPED_LOCATION case.
3408 * parse.h (EXPR_WFL_QUALIFICATION): Use operand 1, not 2.
3409 * java-tree.h (EXPR_WFL_FILENAME_NODE): Use operand 2, not 1.
3410 * java-tree.def (EXPR_WITH_FILE_LOCATION): Only need two operands in
3411 USE_MAPPED_LOCATION case, since EXPR_WFL_FILENAME_NODE is gone.
3413 * check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
3414 * decl.c (finish_method, java_add_stmt): Likewise.
3415 * java-gimplify.c (java-gimplify.c): Likewise.
3416 * jcf-write.c (generate_bytecode_insns): Likewise.
3417 * lang.c (java_post_options): Likewise - call linemap_add.
3419 2004-09-29 Andrew Haley <aph@redhat.com>
3422 * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
3423 result of TRUNC_MOD_EXPR.
3424 (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
3425 * decl.c (java_init_decl_processing): Mark
3426 soft_lookupinterfacemethod_node and soft_instanceof_node pure.
3428 2004-09-28 Tom Tromey <tromey@redhat.com>
3431 * class.c (add_miranda_methods): Load superinterface if not
3434 2004-09-28 Andrew Haley <aph@redhat.com>