OSDN Git Service

1361a6e000be5f9bfd2aec94b5630ea236dabf1a
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
1 2007-02-06  Tom Tromey  <tromey@redhat.com>
2
3         PR java/30714:
4         * jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
5
6 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
7
8         * java-tree.h, javaop.def, jcf-parse.c: Fix comment typos.
9
10 2007-02-02  Andrew Haley  <aph@redhat.com>
11
12         * expr.c (expand_byte_code): Call cache_this_class_ref() and
13         cache_cpool_data_ref().
14         Set TYPE_CPOOL_DATA_REF.
15         (cache_cpool_data_ref): New function.
16         * constants.c (build_ref_from_constant_pool): Remove special-case
17         code for flag_indirect_classes.
18         (build_constant_data_ref): Move special-case code for
19         flag_indirect_classes here from build_ref_from_constant_pool.
20         * decl.c (finish_method): Move class initialization from here to
21         cache_this_class_ref.
22         * class.c (cache_this_class_ref): New function.
23         (build_class_ref): Use this_classdollar for the ouput class.
24
25 2007-02-02  David Daney  <ddaney@avtrex.com>
26
27         * class.c (is_compiled_class): Move check to avoid reloading
28         current class.
29         (layout_class_method): Don't calculate DECL_EXTERNAL if it is
30         already set.
31
32 2007-02-01  Andrew Haley  <aph@redhat.com>
33
34         PR java/30641
35         * jcf-parse.c (jcf_parse): Clear the field_offsets bitmap.
36
37 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
38
39         * class.c, jcf-parse.c: Fix comment typos.
40
41 2007-01-30  Tom Tromey  <tromey@redhat.com>
42
43         * gcj.texi (Strings): Fix documentation for JvNewString.
44
45 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46
47         * gcj.texi (Invoking gcjh, Invoking gjnih, Arrays): Fix some
48         typos.
49
50 2007-01-30  Ben Elliston  <bje@au.ibm.com>
51
52         * jvspec.c (lang_specific_driver): Remove unused classpath_args.
53
54 2007-01-29  Tom Tromey  <tromey@redhat.com>
55
56         PR java/30607:
57         * jvspec.c (lang_specific_driver): Handle separate -I argument.
58         * lang.opt (-I): Add 'Separate'.
59
60 2007-01-29  Andrew Haley  <aph@redhat.com>
61
62         * class.c (add_method_1): Mark fndecl as external unless we are
63         compiling it into this object file.
64
65 2007-01-24  Andrew Haley  <aph@redhat.com>
66
67         * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
68         type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
69
70 2007-01-22  Andrew Haley  <aph@redhat.com>
71
72         * builtins.c (VMSupportsCS8_builtin): New function.
73
74 2007-01-23  Andrew Pinski  <pinskia@gmail.com>
75
76         PR java/30454
77         * jcf-io.c (opendir_in_zip): Close the file
78         and free zipf before returning after an error.
79
80 2007-01-16  Tom Tromey  <tromey@redhat.com>
81
82         * java-tree.def: Added copyright header.
83
84 2007-01-15  Tom Tromey  <tromey@redhat.com>
85
86         * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
87         case.
88         * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
89         Removed case.
90         * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
91         (EXPR_WFL_NODE): Likewise.
92         (EXPR_WFL_LINECOL): Likewise.
93         (EXPR_WFL_FILENAME): Likewise.
94         (EXPR_WFL_LINENO): Likewise.
95         (build_expr_wfl, expr_add_location): Don't declare.
96         (build_unknown_wfl): Removed.
97         (EXPR_WFL_FILENAME_NODE): Removed.
98         (EXPR_WFL_COLNO): Removed.
99         (EXPR_WFL_SET_LINECOL): Removed.
100         (DECL_FUNCTION_WFL): Removed.
101         (DECL_FIELD_FINAL_WFL): Removed.
102         (struct lang_decl_func) <wfl>: Removed field.
103         <called_constructor>: Likewise.
104         <inner_access>: Likewise.
105         (struct lang_decl_var) <wfl>: Removed field.
106         (DECL_CONSTRUCTOR_CALLS): Removed.
107         (DECL_FUNCTION_ACCESS_DECL): Likewise.
108         (DECL_FUNCTION_INNER_ACCESS): Likewise.
109         (DECL_SPECIFIC_COUNT): Likewise.
110         * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
111         * expr.c (build_expr_wfl): Removed.
112         (expr_add_location): Likewise.
113
114 2007-01-12  Tom Tromey  <tromey@redhat.com>
115
116         * jcf-dump.c (main): Updated call to find_class.
117         * lang.c (java_init): Removed dead code.
118         * jcf-parse.c (read_class): Don't use java_source field.  Removed
119         dead code.
120         (parse_zip_file_entries): Don't use java_source field.
121         (process_zip_dir): Likewise.
122         (jcf_parse): Removed dead code.
123         (java_parse_file): Likewise.
124         (read_class): Updated call to find_class.
125         * jcf-io.c (find_class): Don't use java_source field.  Removed
126         'source_ok' argument, .java logic.
127         * jcf.h (JCF) <java_source>: Removed field.
128         (JCF_ZERO): Updated.    (find_class): Updated.
129         * decl.c: Removed dead code.
130         * class.c: Removed dead code.
131
132 2007-01-11  Tom Tromey  <tromey@redhat.com>
133
134         * typeck.c (convert): Don't use flag_emit_class_files.
135         * lang.c (java_post_options): Don't use flag_emit_class_files.
136         (java_handle_option): Don't use flag_extraneous_semicolon or
137         flag_redundant.
138         * jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
139         flag_emit_class_files.
140         (load_class): Likewise.
141         * java-tree.h (flag_emit_class_files): Don't declare.
142         (STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
143         (flag_extraneous_semicolon): Don't declare.
144         (flag_not_overriding): Likewise.
145         (flag_static_local_jdk1_1): Likewise.
146         (flag_redundant): Likewise.
147         * expr.c (build_newarray): Don't use flag_emit_class_files.
148         * class.c (DEFAULT_ENABLE_ASSERT): Don't use
149         flag_emit_class_files.
150         (build_class_ref): Likewise.
151         * builtins.c (check_for_builtin): Don't use
152         flag_emit_class_files.
153
154 2007-01-10  Tom Tromey  <tromey@redhat.com>
155
156         * lang.c (java_can_use_bit_fields_p): Removed.
157         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
158
159 2007-01-09  Andrew Haley  <aph@redhat.com>
160
161         * expr.c (build_java_arrayaccess): Rewrite to generate array
162         access in canonical form.
163         (expand_java_arraystore): Use build_fold_addr_expr() on address of
164         array access.
165
166 2007-01-03  Andrew Haley  <aph@redhat.com>
167
168         PR java/28754
169         * expr.c (expand_java_field_op): If we're initializing a field's
170         declaring interface we should not also initialize the class
171         context in which it was referenced.
172
173 2007-01-02  Tom Tromey  <tromey@redhat.com>
174
175         * java-tree.h (compiling_from_source, current_encoding,
176         JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
177         JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
178         JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
179         JTI_WFL_OPERATOR): Removed
180         (finit_identifier_node, instinit_identifier_node,
181         length_identifier_node, super_identifier_node,
182         continue_identifier_node, access0_identifier_node, wfl_operator):
183         Removed.
184         (cyclic_inheritance_report,
185         DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
186         DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
187         DECL_FIXED_CONSTRUCTOR_P): Removed.
188         (struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
189         Removed.
190         (TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
191         TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
192         (struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
193         import_list, import_demand_list>: Removed.
194         (java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
195         cxx_keyword_p): Removed.
196         (DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
197         TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
198         CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
199         IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
200         IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
201         PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
202         CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
203         LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
204         RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
205         IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
206         NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
207         PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
208         CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
209         CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
210         FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
211         BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
212         java_parse_abort_on_error, extract_field_decl): Removed.
213         (finput): Declare.
214         * lang.c: (compiling_from_source, current_encoding): Removed.
215         (java_handle_option): Ignore -fencoding.
216         * parse.h: Don't include lex.h.
217         (java_error_count, int_fits_type_p, stabilize_reference, RULE,
218         RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
219         YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
220         INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
221         INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
222         MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
223         ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
224         CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
225         OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
226         BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
227         JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
228         JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
229         IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
230         MANGLE_OUTER_LOCAL_VARIABLE_NAME,
231         MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
232         MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
233         SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
234         UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
235         AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
236         AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
237         ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
238         ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
239         LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
240         LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
241         LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
242         PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
243         IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
244         ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
245         INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
246         INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
247         JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
248         JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
249         JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
250         jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
251         JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
252         STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
253         BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
254         EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
255         GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
256         COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
257         BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
258         PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
259         CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
260         CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
261         GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
262         GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
263         GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
264         PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
265         CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
266         CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
267         CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
268         SET_CPC_STATIC_INITIALIZER_STMT,
269         SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
270         java_complete_class, java_check_circular_reference,
271         java_fix_constructors, java_layout_classes, java_reorder_fields,
272         java_method_add_stmt, java_get_line_col, reset_report,
273         java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
274         java_finish_classes, ctxp, ctxp_for_generation,
275         ctxp_for_generation_last): Removed.
276         * expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
277         * mangle.c (utf8_cmp): New function.
278         (cxx_keywords): New global.
279         (cxx_keyword_p): New function.
280         * jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
281         * java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
282         NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
283         CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
284         THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
285         CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
286         * Make-lang.in (java.srcextra): Do nothing.
287         (parse.c, keyword.h, gt-java-parse.h): Removed targets.
288         (JAVA_OBJS): Don't mention deleted files.
289         (java.mostlyclean): Likewise.
290         (java.clean): Likewise.
291         (JAVA_LEX_C): Removed.
292         (buffer.o, check-init.o, parse.o): Remove unused targets.
293         (typeck.o): Updated.
294         * jcf-parse.c (read_class): Comment out unused code.
295         (java_layout_seen_class_methods): New function.
296         (parse_source_file_1, parse_source_file_2, parse_source_file_3):
297         Removed.
298         (java_parse_file): Comment out unused code.  Don't use 'ctxp'.
299         (init_jcf_parse): Removed.
300         * config-lang.in (gtfiles): Remove deleted files.
301         * decl.c (java_init_decl_processing): Don't initialize
302         finit_identifier_node, instinit_identifier_node,
303         length_identifier_node, super_identifier_node,
304         continue_identifier_node, access0_identifier_node.  Don't call
305         init_jcf_parse.
306         * class.c (cyclic_inheritance_report): New global.
307         (add_method_1): Don't use
308         DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
309         (maybe_layout_super_class): Comment out code.
310         (safe_layout_class): New function.
311         * java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
312         DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
313         UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
314         NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
315         INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
316         (java_gimplify_case_expr): Removed.
317         (java_gimplify_default_expr): Likewise.
318         (java_gimplify_new_array_init): Likewise.
319         * parse.y: Removed.
320         * keyword.gperf, keyword.h: Removed.
321         * chartables.h: Removed.
322         * check-init.c: Removed.
323         * buffer.c, buffer.h: Removed.
324         * convert.h: Removed.
325         * gen-table.pl: Removed.
326         * lex.c, lex.h: Removed.
327
328 2007-01-02  Andrew Haley  <aph@redhat.com>
329
330         * expr.c (expand_java_arraystore): Make sure we perform a bounds
331         check at runtime before we perform a type check.
332
333 2006-12-19  Andrew Haley  <aph@redhat.com>
334
335         * decl.c: Bump minor BC ABI version.
336
337 2006-12-13  Gary Benson  <gbenson@redhat.com>
338
339         * jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
340
341 2006-12-12  Tom Tromey  <tromey@redhat.com>
342
343         * lang-specs.h: Pass -M options to jc1.
344         * jcf-depend.c (jcf_dependency_add_file): Don't emit
345         dependencies.
346
347 2006-12-07  Mohan Embar  <gnustuff@thisiscool.com>
348
349         * jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
350
351 2006-12-06  Mohan Embar  <gnustuff@thisiscool.com>
352
353         * lang-specs.h: Pass '%U'-based options as separate arguments.
354
355 2006-12-05  Tom Tromey  <tromey@redhat.com>
356
357         PR java/29495:
358         * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
359         classes as well.
360         * class.c (add_field): Handle ACC_SYNTHETIC.
361         (add_method_1): Likewise.  Handle bridge and varargs.
362         (get_access_flags_from_decl): Handle synthetic, bridge, varargs,
363         annotation.
364         (set_class_decl_access_flags): Handle synthetic and annotation.
365         * java-tree.h (METHOD_BRIDGE): New macro.
366         (METHOD_VARARGS): Likewise.
367         (TYPE_SYNTHETIC): Likewise.
368         (TYPE_ANNOTATION): Likewise.
369         (lang_type): New fields 'synthetic' and 'annotation'.
370         (lang_decl_func): New fields 'varargs' and 'bridge'.
371
372 2006-12-04  Andrew Haley  <aph@redhat.com>
373
374         * jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
375         there's no map.
376
377 2006-11-29  Gary Benson  <gbenson@redhat.com>
378
379         * expr.c (rewrite_arglist_getcaller): Reorder.
380
381 2006-11-29  Andrew Haley  <aph@redhat.com>
382
383         * expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
384         * lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
385
386 2006-11-23  Andrew Haley  <aph@redhat.com>
387
388         * expr.c (rewrite_arglist_getcaller): New.
389         (rewrite_arglist_getclass): Fix indentation.
390         (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and 
391         gnu.classpath.VMStackWalker.getCallingClassLoader().
392         * builtins.c (initialize_builtins): Remove duplicate def'n of
393         __sync_synchronize.
394         Add __builtin_return_address.
395
396 2006-11-22  Andrew Haley  <aph@redhat.com>
397
398         * jcf-reader.c (get_attribute): Mark attr_type unused.
399
400         * builtins.c (compareAndSwapObject_builtin): Fix declaration.
401
402 2007-01-08  Richard Guenther  <rguenther@suse.de>
403
404         * lex.c (do_java_lex): Use build_int_cst_wide_type.
405         * jcf-parse.c (get_constant): Likewise.
406
407 2006-11-12  Jan Hubicka  <jh@suse.cz>
408
409         * resource.c (compile_resource_data): Update for new varpool names.
410         * java/class.c (build_utf8_ref): Likewise.
411
412 2006-11-12  David Daney  <ddaney@avtrex.com>
413
414         PR java/29805
415         * typeck.c (build_java_array_type): Increase buffer sizes.
416
417 2006-11-11  Richard Guenther  <rguenther@suse.de>
418
419         * check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
420         FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
421
422 2006-11-06  Andrew Haley  <aph@redhat.com>
423
424         * java-tree.h (CONSTANT_LazyFlag): New.
425         * constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
426         * jcf-parse.c (handle_innerclass_attribute): Write attribute to
427         reflection_data.
428         (handle_constant): Return 0 for dummy cpool entries.
429         Handle constants of kind Class.
430         Handle constants of kind NameAndType.
431         (handle_enclosingmethod_attribute): New.
432         (handle_signature_attribute): New.
433         (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
434         (HANDLE_SIGNATURE_ATTRIBUTE): New.
435         (handle_constant): Use unmangle_classname()rather than calling
436         identifier_subst() directly.
437
438 2006-11-02  Andrew Haley  <aph@redhat.com>
439
440         * java-tree.h (FIELD_ENUM): New.
441         (lang_decl_var.field_enum): New.
442         (lang_type.enum_class): New.
443         (CLASS_ENUM): New.
444         * class.c (set_class_decl_access_flags): Handle enum types.
445         (add_field): Handle enum fields.
446         (get_access_flags_from_decl): Likewise.
447
448         * class.c (make_class_data): Put reflection_data into rodata.
449
450 2006-11-01  Andrew Haley  <aph@redhat.com>
451
452         * jcf-parse.c (field_offsets, bit_obstack): New variables.
453         (jcf_parse): Write end marker to annotation_data.
454         (java_parse_file): Create field_offsets bitmap.  Destroy it.
455         (annotation_grow, annotation_rewrite_byte) 
456         (annotation_rewrite_short, annotation_rewrite_int) 
457         (annotation_read_short, annotation_write_byte) 
458         (annotation_write_short, annotation_write_int) 
459         (handle_long_constant, handle_constant, handle_element_value) 
460         (handle_annotation, handle_annotations) 
461         (handle_annotation_attribute, rewrite_reflection_indexes) 
462         (handle_member_annotations, handle_parameter_annotations) 
463         (handle_default_annotation): New functions.
464         (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE) 
465         (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE) 
466         (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE) 
467         (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE) 
468         (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
469         * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New. 
470         (TYPE_REFLECTION_DATA): New.
471         (TYPE_REFLECTION_DATASIZE): New.
472         * jcf.h (enum cpool_tag): Convert a bunch of #define constants to
473         an enum.
474         * jcf-reader.c (get_attribute): Pass field/method index and
475         attribute type to get_attribute().
476         * constants.c (find_class_or_string_constant): Make nonstatic.
477         (cpool_for_class): Likewise.
478         (build_constants_constructor): Separate string and scalar types.
479         * class.c (make_class_data): Generate field_indexes permutation.
480         Pass it to rewrite_reflection_indexes().
481         (make_class_data): Generate constructor for reflection_data field.
482
483 2006-10-20  Tom Tromey  <tromey@redhat.com>
484
485         * gcj.texi (Top): Don't mention jv-scan.
486         (Invoking gcj): Likewise.
487         (Invoking gcjh): Likewise.
488         (Invoking gjnih): Likewise.
489         (Invoking gij): Likewise.
490         (Invoking gcj-dbtool): Likewise.
491         (Invoking jv-scan): Removed.
492         * parse-scan.y: Removed.
493         * jv-scan.c: Removed.
494         * config-lang.in (stagestuff): Don't mention jv-scan.
495         * Make-lang.in (java): Removed jv-scan.
496         (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
497         (JVSCAN_OBJS): Removed.
498         (jv-scan$(exeext)): Likewise.
499         (JAVA_MANFILES): Removed jv-scan.1.
500         (java.uninstall): Don't mention jv-scan.
501         (java.mostlyclean): Likewise.
502         (java.maintainer-clean): Likewise.
503         (.INTERMEDIATE): Likewise.
504         (java/jv-scan.o): Removed.
505         (jv-scan.pod): Likewise.
506         (java.srcextra): Don't mention parse-scan.c.
507         (java.mostlyclean): Likewise.
508         (java/parse-scan.c): Removed.
509         (java/parse-scan.o-warn): Removed.
510         (java/parse-scan.o): Removed.
511
512 2006-10-20  Tom Tromey  <tromey@redhat.com>
513
514         * lang.c (java_handle_option): Don't use
515         jcf_write_base_directory.
516         * jcf.h (jcf_write_base_directory): Removed.
517         * parse.y (java_expand_classes): Don't call write_classfile.
518         * config-lang.in (gtfiles): Removed jcf-write.c.
519         * Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
520         (java/jcf-write.o): Removed.
521         * jcf-parse.c (parse_class_file): Don't call write_classfile.
522         * java-tree.h (write_classfile): Removed declaration.
523         * jcf-write.c: Removed.
524
525 2006-10-20  Tom Tromey  <tromey@redhat.com>
526
527         * Make-lang.in (java): Removed gjnih, gcjh.
528         (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
529         (GCJH_OBJS): Removed.
530         (GJNIH_OBJS): Likewise.
531         (gjnih$(exeext)): Likewise.
532         (gcjh$(exeext)): Likewise.
533         (JAVA_MANFILES): Removed gcjh.1, gjnih.1.
534         (java.install-common): Don't special case gcjh.
535         (java.uninstall): Don't mention gcjh, gjnih.
536         (java.mostlyclean): Likewise.
537         (java.maintainer-clean): Likewise.
538         (.INTERMEDIATE): Likewise.
539         (gcjh.pod): Removed.
540         (gjnih.pod): Likewise.
541         (GCJH_TARGET_INSTALL_NAME): Removed.
542         (java/gjavah-jni.o): Removed.
543         (java/gjavah.o): Likewise.
544         * config-lang.in (stagestuff): Removed gjnih, gcjh.
545         * gjavah.c: Removed.
546
547 2006-10-17  Tom Tromey  <tromey@redhat.com>
548
549         * jcf-dump.c (print_element_value): Expect a utf8 constant in the
550         "string" case.
551
552 2006-10-17  Tom Tromey  <tromey@redhat.com>
553
554         * jvgenmain.c (main): Handle -findirect-dispatch.
555         * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
556         jvgenmain.
557
558 2006-10-06  Andrew Haley  <aph@redhat.com>
559
560         * builtins.c (compareAndSwapInt_builtin): Check that we really do
561         have a compare_and_swap builtin.
562         (compareAndSwapLong_builtin): Likewise.
563         (compareAndSwapObject_builtin): Likewise.
564
565 2006-10-04  Andrew Haley  <aph@redhat.com>
566
567         * builtins.c (java_builtins): Add compareAndSwapInt,
568         compareAndSwapLong, compareAndSwapObject, putOrderedInt,
569         putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
570         putObjectVolatile, getObjectVolatile, getIntVolatile,
571         getLongVolatile, getLong.
572         (UNMARSHAL3): New macro.
573         (UNMARSHAL4): Likewise.
574         (UNMARSHAL5): Likewise.
575         (build_arglist_for_builtin): New function.
576         (build_addr_sum, build_check_this): New functions.
577         (putObject_builtin. compareAndSwapInt_builtin,
578         compareAndSwapLong_builtin, compareAndSwapObject_builtin,
579         putVolatile_builtin, getVolatile_builtin): New builtins.
580
581 2006-06-08  Andrew Haley  <aph@redhat.com>
582  
583         * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
584         get_symbol_table_index().
585         (maybe_rewrite_invocation): Set SPECIAL if we need to access a
586         private method.
587         (build_known_method_ref): New arg: special.  Pass it to
588         get_symbol_table_index.
589         (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
590         the method list.
591         (build_invokevirtual): New arg: special.  Pass it to
592         get_symbol_table_index.
593         (expand_invoke): New variable: special.
594         Pass it to maybe_rewrite_invocation().
595         Pass it to build_known_method_ref().
596         * class.c (build_symbol_entry): Add new arg: special.  Use it to
597         build the symbol table conbstructor.
598         (emit_symbol_table): Extract SPECIAL from the method list and pass
599         it to build_symbol_entry().
600         * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
601         special accordingly.
602  
603 2006-09-08  Andrew Haley  <aph@redhat.com>
604
605         * class.c (layout_class_method): Use build_java_signature, not
606         build_java_argument_signature.  Use lookup_java_method, not
607         lookup_argument_method.
608
609 2006-08-16  Jakub Jelinek  <jakub@redhat.com>
610             Bryce McKinlay  <bryce@mckinlay.net.nz>
611
612         * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
613
614 2006-07-18  Tom Tromey  <tromey@redhat.com>
615
616         * lang.opt: Added missing -W options.
617
618 2006-07-12  Tom Tromey  <tromey@redhat.com>
619
620         PR java/28329:
621         * lang-specs.h: Pass '%U'-based options as separate arguments.
622         Use -faux-classpath.
623         * lang.c (java_handle_option): Handle OPT_faux_classpath.
624         * lang.opt (faux-classpath): New option.
625
626 2006-07-07  Tom Tromey  <tromey@redhat.com>
627
628         * class.c (make_class_data): Set value for reflection_data field.
629         * decl.c (java_init_decl_processing): Add reflection_data field.
630
631 2006-07-07  Tom Tromey  <tromey@redhat.com>
632
633         * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
634         earlier.
635         (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
636
637 2006-07-07  Andrew Haley  <aph@redhat.com>
638
639         * jcf-parse.c (set_source_filename): Don't check for
640         CLASS_FROM_CURRENTLY_COMPILED_P.
641         Remove // comments.
642
643 2006-07-07  Andrew Haley  <aph@redhat.com>
644
645         * java-tree.h (java_read_sourcefilenames): Declare.
646         * lang.c (java_handle_option): Call java_read_sourcefilenames().
647         * lang.opt (fsource-filename): New opt.
648         * lang-specs.h: Add -fsource-filename.
649         * jcf-parse.c (num_files, filenames): New variables.
650         (reverse, cmpstringp, java_read_sourcefilenames,
651         find_sourcefile): New.
652         (set_source_filename): Call find_sourcefile to find the real name
653         of a source file.
654
655 2006-06-27  Tom Tromey  <tromey@redhat.com>
656
657         * jcf-reader.c (get_attribute): Handle EnclosingMethod,
658         Signature, LocalVariableTypeTable, annotation attributes.
659         * jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
660         (HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
661         (HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
662         (HANDLE_METHOD): Likewise.
663         (HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
664         (print_annotation): New function.
665         (print_element_value): Likewise.
666         (indent): Likewise.
667         (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
668         (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
669         (print_parameter_annotations): New function.
670         (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
671         (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
672         Likewise.
673         (HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
674         (print_annotations): New function.
675
676 2006-06-23  Tom Tromey  <tromey@redhat.com>
677
678         * lang-specs.h: Default -fsource and -ftarget to 1.5.  If
679         emitting class files, always use 1.5.
680         * gcj.texi (Input Options): Document -fsource.
681         (Code Generation): Document -ftarget.
682
683 2006-06-21  Tom Tromey  <tromey@redhat.com>
684
685         PR java/28089:
686         * expr.c (expand_java_field_op): Initialize field's declaring
687         class.
688
689 2006-06-20  Tom Tromey  <tromey@redhat.com>
690
691         * expr.c (push_value): Always flush quick stack.
692
693 2006-06-19  Tom Tromey  <tromey@redhat.com>
694
695         * expr.c (push_value): Also flush quick stack if value is a
696         component_ref.
697
698 2006-06-19  Tom Tromey  <tromey@redhat.com>
699
700         * expr.c (push_value): Flush quick stack if value has side
701         effects.
702
703 2006-06-13  Tom Tromey  <tromey@redhat.com>
704
705         * class.c (is_compiled_class): Explicitly check for current
706         class.
707
708 2006-06-09  Tom Tromey  <tromey@redhat.com>
709
710         * gjavah.c (decompile_method): Don't decompile a static field
711         accessor method.
712
713 2006-06-06  Tom Tromey  <tromey@redhat.com>
714
715         * lang-specs.h <jc1>: Add .jar file to command line if
716         -fsaw-java-file.  Also, remove -ffilelist-file in this case.
717
718 2006-06-05  Tom Tromey  <tromey@redhat.com>
719
720         * jcf-dump.c (print_access_flags): Handle varargs, bridge,
721         synthetic, enum, annotation.
722         * jcf.h (ACC_BRIDGE): New macro.
723         (ACC_VARARGS): Likewise.
724         (ACC_SYNTHETIC): Likewise.
725         (ACC_ENUM): Likewise.
726         (ACC_ANNOTATION): Likewise.
727
728 2006-06-04  Tom Tromey  <tromey@redhat.com>
729
730         * lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
731         * jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
732         and -ftarget.
733         (lang_specific_driver): Removed dead code.  Add -fsaw-java-file
734         when needed.  Handle classpath-setting.
735         * Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
736         * lang-specs.h: Rewrote.
737
738 2006-06-04  Tom Tromey  <tromey@redhat.com>
739
740         * jcf-io.c (find_class): Set source_ok to 0.
741         * jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
742         (parse_class_file): Don't call java_mark_class_local.
743         (java_parse_file): Skip .java files.  Call java_mark_class_local
744         before lowering any code.
745         (parse_zip_file_entries): Don't call duplicate_class_warning
746         here.
747         (process_zip_dir): ... call it here.
748         * class.c (add_field): Don't mark field external if it is being
749         compiled into this object.
750         (make_class_data): Handle situation where class_dtable_decl is
751         created before Class is compiled.
752         (is_compiled_class): Don't assume files in zip are compiled into
753         this object.
754         (layout_class_method): Don't mark method external if it is being
755         compiled into this object.
756
757 2006-06-04  Tom Tromey  <tromey@redhat.com>
758
759         * jcf-path.c (jcf_path_compute): New function.
760         * jcf.h (jcf_path_compute): Declare.
761
762 2006-10-23 Rafael Avila de Espindola  <rafael.espindola@gmail.com>
763
764         * decl.c: Include langhooks.h.
765         (builtin_function): Remove.
766         (java_init_decl_processing): Replace calls to builtin_function
767         with add_builtin_function.
768         * Make-lang.in (jc1$(exeext)): Depend on and link with attribs.o.
769         (java/decl.o): Depend on langhooks.h.
770         * java-tree.h (builtin_function): Remove.
771
772 2006-10-10  Brooks Moses  <bmoses@stanford.edu>
773
774         * Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
775
776 2006-09-12  Tom Tromey  <tromey@redhat.com>
777
778         * expr.c (push_value): Always flush quick stack.
779
780 2006-09-12  Tom Tromey  <tromey@redhat.com>
781
782         PR java/29013:
783         * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Always note
784         the push of the called method's return result.
785
786 2006-09-12  Tom Tromey  <tromey@redhat.com>
787
788         * jvspec.c (lang_specific_driver): Read spec file even if
789         -fsyntax-only.
790
791 2006-09-12  Tom Tromey  <tromey@redhat.com>
792
793         PR java/28754:
794         * expr.c (expand_java_field_op): Initialize field's declaring
795         interface if necessary.
796
797 2006-09-12  Tom Tromey  <tromey@redhat.com>
798
799         PR java/28892:
800         * expr.c (expand_java_field_op): No error for assignments not in
801         class initializer or constructor.
802
803 2006-08-22  Andrew Haley  <aph@redhat.com>
804
805         * decl.c (java_add_stmt): Give the statement list a type.
806
807 2006-08-16  Jakub Jelinek  <jakub@redhat.com>
808             Bryce McKinlay  <bryce@mckinlay.net.nz>
809
810         * jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
811
812 2006-08-10  Simon Martin  <simartin@users.sourceforge.net>
813
814         PR java/8923
815         * parse.y (build_incdec): Emit an error instead of an ICE if '++'
816         or '--' is used with a constant operand.
817         (java_complete_lhs): When processing a '++' or '--' expression,
818         don't call java_complete_tree but java_complete_lhs, so that a
819         static final variable operand is never replaced by its value. This
820         avoids an ICE later on.
821         (patch_unaryop): Fixed typo in comment.
822
823 2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
824
825         * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
826
827 2006-07-12  Bryce McKinlay  <mckinlay@redhat.com>
828
829         * builtins.c (check_for_builtin): If a builtin could result in a
830         direct call being generated, don't use it if flag_indirect_dispatch
831         is set.
832
833 2006-07-12  Bryce McKinlay  <mckinlay@redhat.com>
834
835         * gcj.texi (Invocation): Corrections for Invocation API example.
836
837 2006-07-04  Andrew Haley  <aph@redhat.com>
838
839         * class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
840         entry.
841
842 2006-06-21  Andrew Haley  <aph@redhat.com>
843
844         * java-tree.h (update_aliases): Remove
845         * expr.c (expand_iinc): Remove call to update_aliases().
846         (STORE_INTERNAL): Likewise.
847         * decl.c (update_aliases, initialize_local_variable) 
848         (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
849
850 2006-06-19  Andrew Haley  <aph@redhat.com>
851
852         PR java/1305
853         PR java/27908
854         * expr.c (java_modify_addr_for_volatile): New function.
855         (expand_java_field_op): Handle volatile fields.
856         * java-gimplify.c (java_gimplify_component_ref): Call
857         java_modify_addr_for_volatile to give the field_ref the correct
858         volatile type.
859         (java_gimplify_modify_expr): Likewise.
860         * java-tree.h (java_modify_addr_for_volatile): New decl.
861
862 2006-06-17  Karl Berry  <karl@gnu.org>
863
864         * gcj.texi (@dircategory): Use "Software development" instead
865         of "Programming", following the Free Software Directory.
866
867 2006-06-16  Andrew Haley  <aph@redhat.com>
868
869         * class.c (make_class_data): When using flag_indirect_classes,
870         don't initialize the vtable of Class instances.
871
872 2006-06-09  Andrew Haley  <aph@redhat.com>
873
874         PR java/1305
875         PR java/27908
876         * builtins.c (initialize_builtins): Add __sync_synchronize().
877         * class.c (add_field): Mark volatile fields.
878         * java-gimplify.c (java_gimplify_expr): Call new functions to
879         handle self-modifying exprs and COMPONENT_REFs.
880         (java_gimplify_component_ref): New.
881         (java_gimplify_modify_expr): Add handling for volatiles.
882
883 2006-06-08  Tom Tromey  <tromey@redhat.com>
884
885         * gcj.texi (libgcj Runtime Properties): Document
886         gnu.gcj.user.realname.
887
888 2006-06-08  Andrew Haley  <aph@redhat.com>
889
890         * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
891         get_symbol_table_index().
892         (maybe_rewrite_invocation): Set SPECIAL if we need to access a
893         private method.
894         (build_known_method_ref): New arg: special.  Pass it to
895         get_symbol_table_index.
896         (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
897         the method list.
898         (build_invokevirtual): New arg: special.  Pass it to
899         get_symbol_table_index.
900         (expand_invoke): New variable: special.
901         Pass it to maybe_rewrite_invocation().
902         Pass it to build_known_method_ref().
903         * class.c (build_symbol_entry): Add new arg: special.  Use it to
904         build the symbol table conbstructor.
905         (emit_symbol_table): Extract SPECIAL from the method list and pass
906         it to build_symbol_entry().
907         * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
908         special accordingly.
909
910 2006-06-06  David Daney  <ddaney@avtrex.com>
911
912         * gcj.texi (libgcj Runtime Properties): Document
913         gnu.gcj.runtime.NameFinder.show_raw and
914         gnu.gcj.runtime.NameFinder.remove_unknown.
915
916 2006-06-06  Tom Tromey  <tromey@redhat.com>
917
918         * jcf-dump.c (print_access_flags): Handle varargs, bridge,
919         synthetic, enum, annotation.
920         * jcf.h (ACC_BRIDGE): New macro.
921         (ACC_VARARGS): Likewise.
922         (ACC_SYNTHETIC): Likewise.
923         (ACC_ENUM): Likewise.
924         (ACC_ANNOTATION): Likewise.
925
926 2006-06-06  Mike Stump  <mrs@apple.com>
927
928         * Make-lang.in: Rename to htmldir to build_htmldir to avoid
929         installing during build.
930
931 2006-05-31  Thomas Fitzsimmons  <fitzsim@redhat.com>
932
933         * gcj.texi (Extensions): Document the new gcj-dbtool-based
934         classname-to-library resolution mechanism.
935         Declare the old gnu.gcj.runtime.VMClassLoader.library_control
936         mechanism deprecated.
937         (libgcj Runtime Properties): Document
938         gnu.gcj.runtime.VMClassLoader.library_control's new default.
939
940 2006-05-29  Jakub Jelinek  <jakub@redhat.com>
941
942         * javaop.h (int16, int32, int64): Define to exactly 16 (resp. 32, 64)
943         bit wide type.
944         (jword): Define to uint64 on 64-bit arches.
945         * jcf-dump.c (print_constant): Cast JPOOL_UINT to long.
946
947 2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
948
949         * class.c, except.c, expr.c, java-gimplify.c: Fix comment
950         typos.
951
952 2006-05-26  Tom Tromey  <tromey@redhat.com>
953
954         * expr.c (java_push_constant_from_pool): Handle 'ldc class'.
955         * verify-glue.c (vfy_class_type): New function.
956         * verify-impl.c (check_constant): Allow 'ldc class'.
957         * verify.h (vfy_class_type): Declare.
958
959 2006-05-25  Andrew Haley  <aph@redhat.com>
960
961         PR java/27756
962         * decl.c (maybe_pushlevels): When variable ranges are non-nested
963         update all lifetimes, not just the first one.
964
965 2006-05-24  Tom Tromey  <tromey@redhat.com>
966
967         * java-tree.h: Fixed flag documentation.
968
969 2006-05-24  Tom Tromey  <tromey@redhat.com>
970
971         PR libgcj/27729:
972         * jcf.h (ACC_INVISIBLE): Changed value.
973
974 2006-05-24  Andrew Haley  <aph@redhat.com>
975
976         PR java/27754
977         * decl.c (java_add_stmt): Use a STATEMENT_LIST rather than a
978         COMPOUND_EXPR.
979
980 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
981
982         * lang.opt (femit-class-file): Remove VarExists.
983
984 2006-05-16  Tom Tromey  <tromey@redhat.com>
985
986         * verify-impl.c (verify_instructions_0) <op_return>: Special case
987         for Object.<init>.
988
989 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
990
991         PR driver/26885
992         * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
993         $(GCC_OBJS).
994
995 2006-05-14  H.J. Lu  <hongjiu.lu@intel.com>
996
997         * Make-lang.in (java/decl.o): Add dependency on $(TARGET_H).
998         (java/expr.o): Replace target.h with $(TARGET_H).
999         (java/parse.o): Likewise.
1000
1001 2006-05-10  Andrew Haley  <aph@redhat.com>
1002
1003         * class.c (emit_indirect_register_classes): Fix comment.
1004
1005 2006-05-04  Tom Tromey  <tromey@redhat.com>
1006
1007         * java-tree.h (uses_jv_markobj_p): Declare.
1008         * class.c (uses_jv_markobj_p): Removed.
1009         * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): New define.
1010         (get_boehm_type_descriptor): Use it.
1011         (uses_jv_markobj_p): Moved from class.c.  Return bool.
1012
1013 2006-05-04  Tom Tromey  <tromey@redhat.com>
1014
1015         * java-tree.def (THIS_EXPR): Now a tcc_expression.
1016
1017 2006-05-04  Andrew Haley  <aph@redhat.com>
1018
1019         * class.c (make_field_value): Always build_address_of fdecl if
1020         there is an initializer.
1021
1022 2006-05-03  Andrew Haley  <aph@redhat.com>
1023
1024         PR libgcj/27352
1025         * expr.c (maybe_rewrite_invocation): New function.
1026         (rewrite_arglist_getclass): Likewise.
1027         (rules): New.
1028         (expand_invoke): Call maybe_rewrite_invocation.
1029         * parse.y (patch_invoke): Likewise.
1030         * java-tree.h: (maybe_rewrite_invocation): New function.
1031
1032 2006-04-21  Andrew Haley  <aph@redhat.com>
1033
1034         * lang.c (java_init): Handle flag_indirect_classes.
1035         * jvgenmain.c: Use "class$$" instead of "class$".
1036         * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
1037         DECLs.
1038         (mangle_class_field): Special case "class$$" as well as "class$".
1039         * constants.c (build_ref_from_constant_pool): If
1040         flag_indirect_classes, generate a ref into the heap.
1041         * decl.c (constants_field_decl_node,
1042         constants_data_field_decl_node): New.
1043         * class.c (build_static_class_ref): New.
1044         (build_classdollar_field): Factor out from build_class_ref().
1045         (make_field_value): Handle static fields in heap.
1046         (make_class_data): Make sure we get a static ref to class.
1047         Make class initializer const if flag_indirect_classes.
1048         (register_class): Build a class_ref for initialization if
1049         flag_indirect_classes.
1050         (emit_indirect_register_classes): New.
1051
1052 2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
1053
1054         * expr.c, gjavah.c: Fix comment typos.
1055
1056 2006-04-03  Andrew Haley  <aph@redhat.com>
1057
1058         PR java/26858
1059         * expr.c (build_field_ref): Don't check the field offset if
1060         flag_syntax_only.
1061
1062 2006-03-30  Andrew Haley  <aph@redhat.com>
1063
1064         PR java/26858
1065         * lang.c (java_attribute_table): New.
1066         (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
1067         * expr.c (build_field_ref): Add a null pointer check for all
1068         fields of offset > 4k.  Don't do so for accesses via the this
1069         pointer, which we know can never be null.
1070         * class.c (build_java_method_type): Mark arg 1 of all nonstatic
1071         methods nonnull.
1072
1073 2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
1074
1075         * Make-lang.in: Rename docdir to gcc_docdir.
1076
1077 2006-03-30  Tom Tromey  <tromey@redhat.com>
1078
1079         PR java/26042:
1080         * parse.y (java_reorder_fields): Reset superclass field's size as
1081         well.
1082
1083 2006-03-28  Tom Tromey  <tromey@redhat.com>
1084
1085         PR java/26390:
1086         * parse.y (find_most_specific_methods_list): Added 'class'
1087         argument.
1088         (lookup_method_invoke): Updated.
1089
1090 2006-03-15  Tom Tromey  <tromey@redhat.com>
1091
1092         * jcf-write.c (generate_bytecode_insns): Use qualifying type for
1093         non-static method calls.
1094
1095 2006-03-15  David Daney  <ddaney@avtrex.com>
1096
1097         * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
1098         declaration.
1099
1100 2006-03-15  David Daney  <ddaney@avtrex.com>
1101
1102         * lang.opt (-freduced-reflection): New option.
1103         * lang.c (java_post_options): Generate an error if
1104         -freduced-reflection used with -fjni or -findirect-dispatch.
1105         * java-tree.h (flag_reduced_reflection): Declare new variable.
1106         * boehm.c (get_boehm_type_descriptor): Indicate all pointers
1107         if bitmap overflows and flag_reduced_reflection set.
1108         * class.c (uses_jv_markobj_p): New function.
1109         (make_class_data): Moved generation of vtable to before
1110         reflection data, generate less reflection data if
1111         flag_reduced_reflection set.
1112         * gcj.texi: Document -freduced-reflection.
1113
1114 2006-03-15  Tom Tromey  <tromey@redhat.com>
1115
1116         PR java/26638:
1117         * class.c (get_interface_method_index): Don't put <clinit> into
1118         interface table.
1119
1120 2006-03-15  Tom Tromey  <tromey@redhat.com>
1121
1122         * parse.y (analyze_clinit_body): Ignore empty statements.
1123
1124 2006-03-08  David Daney  <ddaney@avtrex.com>
1125
1126         * gcj.texi: Document -static-libgcj option.
1127
1128 2006-02-20  Andrew Haley  <aph@redhat.com>
1129
1130         * jcf-parse.c (parse_class_file): Set input_location from
1131         current_class.
1132
1133 2006-02-15  Andrew Haley  <aph@redhat.com>
1134
1135         * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
1136         (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
1137         TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
1138
1139 2006-02-09  Andrew Haley  <aph@redhat.com>
1140
1141         PR java/26192
1142         * expr.c (expand_invoke): Allow methods in arrays to be resolved
1143         in their superclass.
1144
1145         * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
1146         array types.
1147         
1148 2006-02-08  Tom Tromey  <tromey@redhat.com>
1149
1150         PR java/22578:
1151         * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
1152         * builtins.c (convert_real): New function.
1153         (java_builtins): Handle Float.intBitsToFloat,
1154         Float.floatToRawIntBits, Double.longBitsToDouble,
1155         Double.doubleToRawLongBits.
1156
1157 2006-02-07  Andrew Haley  <aph@redhat.com>
1158
1159         * expr.c (expand_invoke): (BC mode.)  If we find a method in a
1160         class other than the one in which we expected to find it, ignore
1161         the result.
1162
1163         PR java/25535
1164         * constants.c (build_constants_constructor): move initializer into
1165         first halfword on a 64-bit big-endian machine.
1166
1167 2006-02-04  Tom Tromey  <tromey@redhat.com>
1168
1169         PR java/25676:
1170         * builtins.c (max_builtin): Skip floating point 'max'.
1171         (min_builtin): Skip floating point 'min'.
1172         (check_for_builtin): Never return NULL_TREE.
1173
1174 2006-02-04  Tom Tromey  <tromey@redhat.com>
1175
1176         PR java/26097:
1177         * expr.c (push_type): Avoid side effect in gcc_assert.
1178
1179 2006-02-04  Roger Sayle  <roger@eyesopen.com>
1180
1181         * decl.c (java_init_decl_processing): Create char_type_node as a
1182         regular INTEGER_TYPE node.
1183         (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
1184         * typeck.c (convert): No longer check for CHAR_TYPEs but instead
1185         test for char_type_node and promoted_char_type_node as special
1186         instances of INTEGER_TYPE tree codes.
1187         (promote_type,build_java_signature): Likewise.
1188         * jcf-write.c (adjust_typed_op): Likewise.
1189         * mangle.c (mangle_type): Likewise.
1190         * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
1191         * parse.h (JINTEGRAL_TYPE_P): Likewise.
1192
1193 2006-02-04  Andreas Tobler  <a.tobler@schweiz.ch>
1194
1195         * expr.c (java_stack_swap): Revert gcc_assert patch.
1196
1197 2006-02-03  Ben Elliston  <bje@au.ibm.com>
1198
1199         * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
1200         * typeck.c: Likewise.
1201         * verify-impl.c: Likewise.
1202         * class.c: Likewise.
1203         * decl.c: Likewise.
1204         * jcf-parse.c: Likewise.
1205         * constants.c: Likewise.
1206         * check-init.c: Likewise.
1207         * jcf-write.c: Likewise.
1208         * verify-glue.c: Likewise.
1209         * mangle.c: Likewise.
1210         * expr.c: Likewise.
1211         * lang.c: Likewise.
1212         * boehm.c: Likewise.
1213
1214 2006-02-01  Jan Hubicka  <jh@suse.cz>
1215
1216         * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
1217         * lang.c (java_init_options): Set no_unit_at_a_time_default.
1218
1219 2006-01-30  Andrew Haley  <aph@redhat.com>
1220
1221         PR java/21428
1222         * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
1223
1224 2006-01-21  Joseph S. Myers  <joseph@codesourcery.com>
1225
1226         * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
1227         Update copyright notice dates.
1228
1229 2006-01-16  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
1230
1231         * jvspec.c (lang_specific_spec_functions): Remove.
1232
1233 2006-01-06  Tom Tromey  <tromey@redhat.com>
1234
1235         * gcj.texi (Arrays): Added more documentation for
1236         JvNewObjectArray.
1237         (Primitive types): Correct information about primitive classes.
1238         (Reference types): New node.
1239         (Index): New node.
1240
1241 2005-12-16  Alexandre Oliva  <aoliva@redhat.com>
1242
1243         * jcf-parse.c (set_source_filename): Set the decl source location
1244         even when returning early.
1245
1246 2005-12-15  Tom Tromey  <tromey@redhat.com>
1247             Andrew Haley  <aph@redhat.com>
1248
1249         PR java/25429
1250         * parse.y (resolve_expression_name): Don't generate accessor
1251         methods for constant fields.
1252
1253 2005-12-13  Andrew Haley  <aph@redhat.com>
1254
1255         PR java/25366
1256         PR java/25368
1257         * class.c (maybe_layout_super_class): Update current_class before
1258         calling do_resolve_class.
1259
1260 2005-12-12  H.J. Lu  <hongjiu.lu@intel.com>
1261
1262         PR java/25330
1263         * jcf-write.c (write_classfile): Use PID in temporary class
1264         file. Save/restore errno when reporting error.
1265
1266 2005-12-10  Terry Laurenzo  <tlaurenzo@gmail.com>
1267
1268         PR java/9861
1269         * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
1270         to bare_function_type and including the return type
1271         * builtins.c (initialize_builtins) : Change builtin mangled name
1272         constants to conform to new mangling scheme
1273
1274 2005-12-08  Andrew Haley  <aph@redhat.com>
1275
1276         PR libgcj/25265
1277         * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
1278         (soft_abstractmethod_node): New.
1279         * expr.c (build_field_ref): Add in-line check for missing field.
1280         * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
1281
1282 2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
1283
1284         * Make-lang.in (java.all.build, java.install-normal): Remove.
1285
1286 2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
1287
1288         * Make-lang.in: Remove all dependencies on s-gtype, except for
1289         gt-java-parse.h.
1290
1291 2005-12-07  Richard Sandiford  <richard@codesourcery.com>
1292
1293         * class.c (build_utf8_ref, emit_register_classes): Use
1294         switch_to_section and get_section.
1295
1296 2005-12-06  Tom Tromey  <tromey@redhat.com>
1297
1298         PR java/25283:
1299         * parse.y (patch_new_array_init): Revert previous patch.
1300         (lookup_method_invoke): Use size-less array type when creating an
1301         anonymous constructor.
1302
1303 2005-12-05  Tom Tromey  <tromey@redhat.com>
1304
1305         * parse.y (patch_new_array_init): Don't set length on array.
1306
1307 2005-12-02  Richard Guenther  <rguenther@suse.de>
1308
1309         * java-gimplify.c (java_gimplify_labeled_block_expr): Use
1310         buildN instead of build.
1311         * class.c (finish_class): Likewise.
1312         * expr.c (java_create_object): Likewise.
1313
1314 2005-11-28  Tom Tromey  <tromey@redhat.com>
1315
1316         PR java/18278:
1317         * expr.c (build_jni_stub): Unwrap the return value.
1318         * java-tree.h (soft_unwrapjni_node): New define.
1319         (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
1320         * decl.c (java_init_decl_processing): Initialize
1321         soft_unwrapjni_node.
1322
1323 2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>
1324
1325         * gcj.texi (gij options): Add -Xss documentation.
1326
1327 2005-11-08  Wil Mahan  <wmahan@gmail.com>
1328
1329         PR java/23617
1330         * zextract.c (read_zip_archive): Fix out of memory error when
1331         reading jar files with zip-style comments.
1332
1333 2005-11-07   Terry Laurenzo   <tlaurenzo@gmail.com>
1334
1335         * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
1336         formats.
1337         * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
1338
1339 2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
1340             Wil Mahan <wmahan@gmail.com>
1341
1342         PR java/23620
1343         * class.c (make_class): Create empty binfo here.
1344         (set_super_info): Only create binfo if we have superclasses.
1345
1346 2005-10-03  Ranjit Mathew  <rmathew@gcc.gnu.org>
1347
1348         PR java/24127
1349         * parse.y (method_header): Make the result of the rule a NULL_TREE
1350         when a parsing error occurs.
1351
1352 2005-09-29  Tom Tromey  <tromey@redhat.com>
1353
1354         PR java/24120:
1355         * jcf-io.c (memoized_dirlist_hash): New function.
1356         (caching_stat): Use it.
1357
1358 2005-09-21  Ranjit Mathew  <rmathew@gcc.gnu.org>
1359
1360         PR java/21418
1361         * class.c (inherits_from_p): Try to lay out super class
1362         if it is not already laid out.
1363         (maybe_layout_super_class): Handle the case where SUPER_CLASS
1364         is a NULL_TREE.
1365
1366 2005-09-18  James A. Morrison  <phython@gcc.gnu.org>
1367
1368         * builtins.c (max_builtin, min_builtin, abs_builtin,
1369         java_build_function_call_expr): Use fold_buildN.
1370         * class.c (layout_class_method): Likewise.
1371         * expr.c (java_truthvalue_conversion, build_java_jsr,
1372         build_java_arrayaccess, expand_java_arrayload, expand_iinc,
1373         build_java_binop, build_field_ref, expand_compare,
1374         build_known_method_ref, build_invokevirtual,
1375         process_jvm_instruction): Likewise.
1376         * parse.y (patch_binop, patch_exit_expr): Likewise.
1377         * typeck.c (convert_ieee_real_to_integer): Likewise.
1378         (convert): Don't call fold after convert_ieee_real_to_integer.
1379
1380 2005-09-14  Bryce McKinlay  <mckinlay@redhat.com>
1381
1382         PR java/23891
1383         * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
1384         the newly created type. Set import lists here, not in create_class.
1385         (jdep_resolve_class): Set current_class.
1386         (do_resolve_class): Use current_class's TYPE_PACKAGE to determine 
1387         the current package context, not ctxp->package.
1388         (cicp_cache): Removed.
1389         (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
1390         * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
1391         * java-tree.h (TYPE_PACKAGE): New macro.
1392         (struct lang_type): New member 'package'.
1393
1394 2005-09-09  Andrew Haley  <aph@redhat.com>
1395
1396         PR libgcj/23182 
1397         * expr.c (pop_type_0): If the expected type is object or ptr
1398         (i.e. void*), return the type of the object we just popped from
1399         the stack.
1400
1401 2005-09-06  Andrew Pinski  <pinskia@physics.uc.edu>
1402
1403         * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
1404         BLOCK_EXPR_BODY before returning the new BIND_EXPR.
1405
1406 2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
1407
1408         * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
1409         jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
1410         typos.  Follow spelling conventions.
1411
1412 2005-09-05  Ranjit Mathew  <rmathew@hotmail.com>
1413
1414         PR java/23431
1415         * typeck.c (lookup_do): Look up interfaces for the original class,
1416         not the base class.
1417         * parse.y (java_check_regular_methods): Fix diagnostic message for
1418         more restrictive overriding of a method from an interface.
1419
1420 2005-08-16  Tom Tromey  <tromey@redhat.com>
1421
1422         * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
1423         class' initial state.
1424
1425 2005-08-16  Ranjit Mathew  <rmathew@hotmail.com>
1426
1427         PR java/22113
1428         * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
1429         `literal_token' for large numeric input tokens.
1430
1431 2005-08-16  Ranjit Mathew  <rmathew@hotmail.com>
1432
1433         PR java/19870
1434         * parse.y (nested_field_access_p): Rename to nested_member_access_p
1435         and expand to handle method accesses across nested classes.
1436         (build_outer_method_access_method): Rename to
1437         build_nested_method_access_method.  Minor adjustments to comments.
1438         (resolve_expression_name): Use the newly-renamed
1439         nested_member_access_p method.
1440         (resolve_qualified_expression_name): Likewise.
1441         (patch_method_invocation): Also consider static methods for access
1442         method generation.  Minor adjustments to comments.
1443         (maybe_use_access_method): Use the more general
1444         nested_memeber_access_p to determine access across nested class
1445         boundaries.  Allow THIS_ARG to be NULL (for static methods).
1446
1447 2005-08-15  Tom Tromey  <tromey@redhat.com>
1448
1449         PR java/23300.
1450         * expr.c (build_field_ref): Don't generate otable reference when
1451         DECL_FIELD_OFFSET is 0.
1452         * class.c (maybe_layout_super_class): Pass outer class to
1453         do_resolve_class.
1454
1455 2005-08-15  Tom Tromey  <tromey@redhat.com>
1456
1457         * java-tree.h (LABEL_IN_SUBR): Removed.
1458         (LABEL_IN_SUBR): Likewise.
1459         (LABEL_IS_SUBR_START): Likewise.
1460         (LABEL_SUBR_START): Likewise.
1461         (LABEL_SUBR_CONTEXT): Likewise.
1462         (LABEL_CHANGED): Likewise.
1463         (LABEL_RETURN_LABEL): Likewise.
1464         (LABEL_RETURN_TYPE_STATE): Likewise.
1465         (LABEL_RETURN_LABELS): Likewise.
1466         (RETURN_MAP_ADJUSTED): Likewise.
1467         (LABEL_PENDING_CHAIN): Likewise.
1468
1469 2005-08-15  Tom Tromey  <tromey@redhat.com>
1470
1471         * Make-lang.in (JAVA_OBJS): Removed verify.o
1472         (java/verify.o): Removed.
1473         * verify.c: Removed.
1474         * lang.c (flag_new_verifier): Removed.
1475         (java_post_options): Updated.
1476         * java-tree.h (flag_new_verifier): Removed.
1477         (verify_jvm_instructions): Removed.
1478         * expr.c (pop_type_0): Assume flag_new_verifier is true.
1479         (build_java_check_indexed_type): Likewise.
1480         (expand_java_arraystore): Likewise.
1481         (expand_java_arrayload): Likewise.
1482         (pop_arguments): Likewise.
1483         (expand_byte_code): Likewise.
1484         (process_jvm_instruction): Likewise.
1485
1486 2005-08-10  Andrew Haley  <aph@redhat.com>
1487
1488         * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
1489         type mismatches to make legal GIMPLE.
1490
1491 2005-08-10  Robin Green <greenrd@greenrd.org>
1492
1493         PR java/23230:
1494         * parse.y (maybe_use_access_method): Generalize check from
1495         java.lang.Object to any superclass of current_class
1496
1497 2005-08-08  Nathan Sidwell  <nathan@codesourcery.com>
1498
1499         * class.c (build_class_ref): Wrap the primary class type in a
1500         NOP_EXPR.
1501         * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
1502         primary class type from the NOP_EXPR in which it was placed.
1503
1504 2005-07-28  Diego Novillo  <dnovillo@redhat.com>
1505
1506         * expr.c (expand_load_internal): Fix missing parens in
1507         predicate.
1508
1509 2005-07-28  Andrew Haley  <aph@redhat.com>
1510
1511         * expr.c (expand_load_internal): Convert to destination type.
1512
1513 2005-07-22  Manfred Hollstein  <mh@suse.com>
1514
1515         * verify-impl.c (check_class_constant): Fix uninitialised warnings.
1516         (check_constant): Likewise.
1517         (check_wide_constant): Likewise.
1518
1519 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
1520
1521         Make CONSTRUCTOR use VEC to store initializers.
1522         * check-init.c (check_init): Update to cope with VEC in
1523         CONSTRUCTOR_ELTS.
1524         * class.c (make_field_value, make_method_value, get_dispatch_table,
1525         make_class_data, emit_symbol_table, emit_catch_table,
1526         emit_assertion_table): Use build_constructor_from_list instead of
1527         build_constructor.
1528         * constants.c (build_constants_constructor): Likewise.
1529         * java-gimplify.c (java_gimplify_new_array_init): Update to cope with
1530         VEC in CONSTRUCTOR_ELTS.
1531         * java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
1532         PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
1533         of a TREE_LIST.
1534         * jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
1535         CONSTRUCTOR_ELTS.
1536         * parse.y (build_new_array_init): Use build_constructor_from_list
1537         instead of build_constructor.
1538         (patch_new_array_init): Update to cope with VEC in
1539         CONSTRUCTOR_ELTS.
1540         (array_constructor_check_entry): Likewise.
1541
1542 2005-07-12  Tom Tromey  <tromey@redhat.com>
1543
1544         * jvspec.c (lang_specific_driver): Put filelist_filename first on
1545         command line.
1546
1547 2005-07-12  Tom Tromey  <tromey@redhat.com>
1548
1549         PR java/19674:
1550         * parse-scan.y (interface_member_declaration): Added
1551         empty_statement.
1552
1553 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
1554         
1555         * java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
1556         (LABEL_PENDING_CHAIN): Ditto.
1557         (LABEL_PC): Ditto.
1558         (DECL_BIT_INDEX): Ditto.        
1559
1560 2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>
1561
1562         PR java/18119
1563         * parse.y (inner_class_accessible): New function. Logic moved from
1564         check_inner_class_access.
1565         (check_inner_class_access): Use inner_class_accessible.
1566         (resolve_inner_class): Simplify arguments. Create circularity hash
1567         here. Keep looking for classes if we found one that was inaccessible. 
1568         Return the inaccessible class only if there is no other match.
1569         (do_resolve_class): Update for new resolve_inner_class arguments.
1570         Don't create circularity_hash here.
1571
1572 2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>
1573
1574         PR java/21045
1575         * parse.y (add_exception_to_throws): New function.
1576         (purge_unchecked_exceptions): Removed.
1577         (get_constructor_super): Renamed from verify_constructor_super. Now
1578         returns the super constructor after verification.
1579         (java_complete_expand_method): Don't use purge_unchecked_exceptions
1580         or save/restore the exception list.
1581         (check_thrown_exceptions): Add uncaught exceptions in anonymous
1582         class initializers and constructors to the throws clause of the method. 
1583
1584 2005-07-05  Bryce McKinlay  <mckinlay@redhat.com>
1585
1586         PR java/19674
1587         * parse.y (interface_member_declaration): Allow empty statements in
1588         interface declarations.
1589
1590 2005-07-05  Paolo Bonzini  <bonzini@gnu.org>
1591
1592         * Makefile.in (parse.o): Adjust dependencies.
1593         * parse.y: Include tree-dump.h.
1594
1595 2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
1596
1597         * class.c, decl.c, expr.c: Use '+' flag instead of %J.  Use 'q'
1598         flag for quoting.
1599
1600 2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
1601
1602         * parse.y (issue_warning_error_from_context): Call
1603         pp_output_formatted_text to be able to get the buffer.
1604
1605 2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
1606
1607         * parse.y (issue_warning_error_from_context): Update for the
1608         renaming of pp_format_text to pp_format.
1609
1610 2005-06-28  Paul Brook  <paul@codesourcery.com>
1611
1612         * decl.c (java_init_decl_processing): Call
1613         default_init_unwind_resume_libfunc.
1614
1615 2005-06-27  Tom Tromey  <tromey@redhat.com>
1616
1617         PR java/21540, PR java/13788:
1618         * parse.y (java_complete_lhs) <CASE_EXPR>: Use
1619         fold_constant_for_init.
1620         (patch_binop): Added 'folding' argument.  Updated all callers.
1621         (patch_unaryop) <NOP_EXPR>: New case.
1622         (fold_constant_for_init) <NOP_EXPR>: Likewise.
1623         (fold_constant_for_init) <COND_EXPR>: Fix sense of test.
1624
1625 2005-06-25  Jan Hubicka  <jh@suse.cz>
1626
1627         * builtins.c (define_builtin): Accept new flags parameter.
1628         (initialize_builtins): Mark the builtins const and nothrow accordingly.
1629
1630 2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
1631
1632         * all files: Update FSF address in copyright headers.
1633
1634 2005-06-24  Tom Tromey  <tromey@redhat.com>
1635
1636         * verify-impl.c (verify_instructions_0): Correctly handle
1637         situation where PC falls off end.
1638
1639 2005-06-23  Bryce McKinlay  <mckinlay@redhat.com>
1640
1641         PR java/20697
1642         * parse.y (find_most_specific_methods_list): Remove special case for
1643         inner classes.
1644
1645 2005-06-15  Tom Tromey  <tromey@redhat.com>
1646
1647         PR libgcj/21906:
1648         * class.c (make_method_value): Use soft_abstractmethod_node for
1649         abstract method.
1650         * java-tree.h (soft_abstractmethod_node): New define.
1651         (JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
1652         * decl.c (java_init_decl_processing): Initialize
1653         soft_abstractmethod_node.
1654
1655 2005-06-13  Geoffrey Keating  <geoffk@apple.com>
1656
1657         * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
1658
1659 2005-06-13  Per Bothner  <per@bothner.com>
1660
1661         * expr.c (int highest_label_pc_this_method,
1662         start_label_pc_this_method): New globals.
1663         (lookup_label): Add start_label_pc_this_method to pc for label, and
1664         update highest_label_pc_this_method.  This prevents conflicts between
1665         labels from different methods.
1666         * java-tree.h: Declare new globals.
1667         * jcf-parse.c (parse_class_file): If needed bump
1668         start_label_pc_this_method and reset highest_label_pc_this_method.
1669
1670 2005-06-13  Tom Tromey  <tromey@redhat.com>
1671
1672         PR java/21844:
1673         * parse.y (nested_field_access_p): Handle case where outer field
1674         is inherited by enclosing class.
1675
1676 2005-06-12  Per Bothner  <per@bothner.com>
1677
1678         * class.c (inherits_from_p): Do load_class if needed.
1679
1680 2005-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1681
1682         * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
1683         * java-tree.h (parse_error_context): Move...
1684         * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
1685         * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
1686         * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
1687
1688 2005-06-08  Roger Sayle  <roger@eyesopen.com>
1689
1690         * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
1691
1692 2005-06-06  Jakub Jelinek  <jakub@redhat.com>
1693
1694         * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
1695         msgid for argument name.
1696         * gjavah.c (error): Likewise.
1697         * java-tree.h (parse_error_context): Likewise.
1698         * parse.y (parse_error_context, parse_warning_context,
1699         issue_warning_error_from_context): Likewise.
1700
1701 2005-06-01  Tom Tromey  <tromey@redhat.com>
1702
1703         PR java/21722:
1704         * class.c (build_static_field_ref): Don't fold constant fields if
1705         current class is from a .class file and we're using indirect
1706         dispatch.
1707
1708 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1709
1710         * java/verify-glue.c: Don't include errors.h and include toplev.h.
1711         * java/Make-lang.in: Updates dependencies.
1712
1713 2005-05-26  Ranjit Mathew  <rmathew@hotmail.com>
1714
1715         PR java/19870.
1716         * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
1717         NESTED_FIELD_ACCESS_IDENTIFIER_P.
1718         (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
1719         (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
1720         * jcf-write.c (generate_classfile): Use
1721         NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1722         OUTER_FIELD_ACCESS_IDENTIFIER_P.
1723         * parse.y (build_outer_field_access): Rename to
1724         build_nested_field_access. Support static fields and outer-to-inner
1725         class accesses.
1726         (outer_field_access_p): Rename to nested_field_access_p. Support
1727         static fields and generalise to outer-to-inner class and sibling
1728         inner class accesses.
1729         (outer_field_expanded_access_p): Rename to
1730         nested_field_expanded_access_p and support static fields.
1731         (outer_field_access_fix): Rename to nested_field_access_fix and
1732         support static fields.
1733         (build_outer_field_access_expr): Rename to
1734         build_nested_field_access_expr and support static fields.
1735         (build_outer_field_access_methods): Rename to
1736         build_nested_field_access_methods and support static fields. For
1737         static fields, generate accessors without class instance parameters.
1738         (build_outer_field_access_method): Rename to
1739         build_nested_field_access_method and support static fields.
1740         (build_outer_method_access_method): Use
1741         NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
1742         OUTER_FIELD_ACCESS_IDENTIFIER_P.
1743         (resolve_expression_name): Consider static field accesses across
1744         nested classes.
1745         (resolve_qualified_expression_name): Likewise.
1746         (java_complete_lhs): Use nested_field_access_fix instead of
1747         outer_field_access_fix.
1748         (patch_unary_op): Rename outer_field_flag to nested_field_flag.
1749         Use nested_field_expanded_access_p instead of
1750         outer_field_expanded_access_p. Use nested_field_access_fix instead
1751         of outer_field_access_fix.
1752         (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
1753         instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
1754
1755 2005-05-26  Bryce McKinlay  <mckinlay@redhat.com>
1756
1757         * decl.c (GCJ_BINARYCOMPAT_ADDITION, 
1758         GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
1759         (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
1760         MINOR_BINARYCOMPAT_ABI_VERSION): New.
1761         (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
1762         (parse_version): Calculate version ID using new method. Use bit-flags
1763         for flag_indirect_dispatch and flag_bootstrap_classes.
1764
1765 2005-05-25  Richard Henderson  <rth@redhat.com>
1766
1767         PR libgcj/21692
1768         * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
1769         * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
1770         DECL_CONTEXT; avoid pushdecl_top_level.
1771         (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
1772         (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
1773         (layout_class_method): Likewise.
1774         * decl.c (java_mark_cni_decl_local): New.
1775         (java_mark_class_local): Use it.
1776         * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
1777         (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
1778         (struct lang_decl_func): Add local_cni;
1779         (struct lang_decl_var): Add class_field, vtable.
1780         (java_mangle_decl): Declare.
1781         * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
1782         * mangle.c: Remove dup obstack.h; include langhooks-def.h.
1783         (mangle_obstack_1): New.
1784         (java_mangle_decl): Remove obstack argument.  Call mangle_class_field,
1785         mangle_vtable, and mangle_local_cni_method_decl.  Fall back to
1786         lhd_set_decl_assembler_name for things that don't need mangling.
1787         (mangle_class_field): Rename from java_mangle_class_field, make
1788         static, don't call init_mangling or finish_mangling.
1789         (mangle_vtable): Similarly.
1790         (mangle_local_cni_method_decl): New.
1791         (init_mangling): Remove obstack argument.  Use &mangle_obstack_1,
1792         gcc_assert, and MANGLE_RAW_STRING.
1793         (finish_mangling): Use gcc_assert, remove if 0 debugging code.
1794
1795 2005-05-25  DJ Delorie  <dj@redhat.com>
1796
1797         * class.c (set_constant_value): Move warning control from if() to
1798         warning(OPT_*).
1799
1800 2005-05-24  Richard Henderson  <rth@redhat.com>
1801
1802         * builtins.c (define_builtin): Don't call make_decl_rtl.
1803         * constants.c (build_constant_data_ref): Likewise.
1804         * class.c (build_utf8_ref): Likewise.
1805         (build_fieldref_cache_entry, build_static_field_ref): Likewise.
1806         (get_dispatch_table, layout_class_method): Likewise.
1807         (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
1808         by hand.
1809         (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
1810         (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
1811         to determine if we need a non-zero address.
1812         * decl.c (builtin_function): Don't call make_decl_rtl.
1813         (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
1814         * expr.c (build_known_method_ref): Don't call make_decl_rtl.
1815         * resource.c (compile_resource_data): Likewise.
1816         * parse.y (resolve_field_access): Re-word comment to avoid
1817         building DECL_RTL.
1818
1819 2005-05-24  Richard Henderson  <rth@redhat.com>
1820
1821         * class.c (registered_class): Take it out of class_roots; turn into
1822         a vec of trees.
1823         (register_class): Make static.  Don't duplicate decl node.  Use
1824         VEC_safe_push.
1825         (emit_register_classes): Use VEC_iterate.  Use output_constant
1826         instead of assemble_integer.  Don't call mark_decl_referenced
1827         directly.
1828         * java-tree.h (register_class): Remove decl.
1829
1830 2005-05-19  Paolo Bonzini  <bonzini@gnu.org>
1831
1832         PR java/17845
1833
1834         * parse.y (register_package, package_list): Remove.
1835         (package_declaration): Do not call register_package.
1836         (do_resolve_class): Do not use package_list.
1837
1838 2005-05-15  Gerald Pfeifer  <gerald@pfeifer.com>
1839
1840         * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
1841         unused variable.
1842
1843 2005-05-15  Tom Tromey  <tromey@redhat.com>
1844
1845         PR java/21519:
1846         * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
1847         NOTE_PUSH.
1848
1849 2005-05-12  Aaron Luchko <aluchko@redhat.com>
1850
1851         * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
1852
1853 2005-05-11  Tom Tromey  <tromey@redhat.com>
1854
1855         * gcj.texi (Code Generation): Document -fbootstrap-classes.
1856         * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
1857         (parse_version): Use it.
1858         * lang.opt (-fbootstrap-classes): New option.
1859
1860 2005-05-10  Paolo Bonzini  <bonzini@gnu.org>
1861
1862         PR java/21436
1863         * class.c (maybe_layout_super_class): Look for imports in this_class.
1864         * parse.h (ctxp_for_generation_last): New.
1865         (do_resolve_class): Add a parameter.
1866         * parse.y (ctxp_for_generation_last): New.
1867         (java_pop_parser_context): Add at end of list.
1868         (find_in_imports, find_in_imports_on_demand): Look in ctxp
1869         if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
1870         the given type are NULL.
1871         (do_resolve_class): Look into the imports of the new second parameter.
1872         Adjust recursive calls.
1873         (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
1874         calls to do_resolve_class.
1875         (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
1876         (java_complete_class): Do not do that here.
1877
1878 2005-05-03  Thomas Fitzsimmons  <fitzsim@redhat.com>
1879
1880         PR java/20309
1881         * Make-lang.in (java): Add gjnih.
1882         (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
1883         (GJNIH_OBJS): New variable.
1884         (gjnih$(exeext)): New target.
1885         (JAVA_MANFILES): Add gjnih.1.
1886         (java.uninstall): Add gjnih.1.
1887         (java.mostlyclean): Add gjnih.
1888         (java.maintainer-clean): Add gjnih.1.
1889         (java/gjavah-jni.o): New target.
1890         (.INTERMEDIATE): Add gjnih.pod.
1891         (gjnih.pod): New target.
1892         * config-lang.in (stagestuff): Add gjnih.
1893         * gcj.texi (Top): Add gjnih node.
1894         (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
1895         -bootclasspath options.
1896         (Invoking gjnih): New node.
1897         * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
1898         (TOOLNAME): New macro.
1899         (error): Replace hard-coded gcjh with TOOLNAME.
1900         (process_file): Likewise.
1901         (usage): Likewise.
1902         (version): Likewise.
1903         (help): Likewise.  Add help output for -force, -old, -trace and -J
1904         options.
1905         (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
1906         (options): Add force, old, trace and J fields.
1907         (main): Handle -force, -old, -trace and -J options.
1908
1909 2005-05-03  Tom Tromey  <tromey@redhat.com>
1910
1911         PR java/21245:
1912         * gjavah.c (main): Unlink output file on error.
1913
1914 2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
1915
1916         * constants.c, jvgenmain.c, lang.opt, resource.c: Update
1917         copyright.
1918
1919 2005-04-29  Tom Tromey  <tromey@redhat.com>
1920
1921         * expr.c (build_jni_stub): Updated for change to build_block.
1922
1923 2005-04-29  Andrew Pinski  <pinskia@gcc.gnu.org>
1924
1925         * expr.c (force_evaluation_order): Declare 'saved' earlier.
1926
1927 2005-04-28  Andrew Haley  <aph@redhat.com>
1928
1929         PR java/19285
1930         * java-tree.h (soft_resolvepoolentry_node): New.
1931         (alloc_constant_fieldref): Declare.
1932         * expr.c (expand_java_field_op): Don't call class_init for
1933         accesses to static fields with indirect dispatch.
1934         * builtins.c (initialize_builtins): Add "__builtin_expect".
1935         * decl.c (soft_resolvepoolentry_node): New variable.
1936         (java_init_decl_processing): Create a decl for
1937         "_Jv_ResolvePoolEntry".
1938         * class.c (build_fieldref_cache_entry): New function.
1939         (build_static_field_ref): Rewrite for indirect dispatch.
1940         * constants.c (find_name_and_type_constant_tree): New function.
1941         (alloc_constant_fieldref): Likewise.
1942         (build_constants_constructor): Handle CONSTANT_Fieldref and
1943         CONSTANT_NameAndType.
1944
1945         PR java/21115
1946         * expr.c (force_evaluation_order): Convert outgoing args smaller
1947         than integer.
1948
1949 2005-04-27  Bryce McKinlay  <mckinlay@redhat.com>
1950
1951         * gcj.texi (libgcj Runtime Properties): Remove obsolete
1952         gnu.gcj.runtime.NameFinder.* system properties. Update documentation 
1953         for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
1954
1955 2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1956
1957         * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
1958         to `unlock_stream' with `unlock_std_streams'.
1959
1960 2005-04-25  Jakub Jelinek  <jakub@redhat.com>
1961
1962         * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
1963         instead of just expr.h.
1964
1965 2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1966
1967         * gjavah.c (main): Unlock the stdio streams.
1968         * jcf-dump.c (main): Likewise.
1969         * jv-scan.c (main): Likewise.
1970         * jvgenmain.c (main): Likewise.
1971
1972 2005-04-23  DJ Delorie  <dj@redhat.com>
1973
1974         * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
1975         parse.y: Adjust warning() callers.
1976
1977 2005-04-21  Bryce McKinlay  <mckinlay@redhat.com>
1978
1979         * gcj.texi (Object fields): Change "Integer" to "Int" in example
1980         contructor.
1981
1982 2005-04-20  Bryce McKinlay  <mckinlay@redhat.com>
1983
1984         * gcj.texi: Fix typos and bogus example.
1985
1986 2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
1987
1988         * except.c: Fix a comment typo.
1989
1990 2005-04-19  Julian Brown  <julian@codesourcery.com>
1991
1992         * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
1993         indirect dispatch with PIC.
1994
1995 2005-04-18  Andrew Haley  <aph@redhat.com>
1996
1997         * java-except.h (struct eh_range.handler): Remove unused field.
1998         (handle_nested_ranges): Remove function declaration.
1999         (sanity_check_exception_range): Add function declaration.       
2000         * verify.c (verify_jvm_instructions): Remove call to
2001         handle_nested_ranges.
2002         * verify-glue.c (verify_jvm_instructions_new): Call
2003         sanity_check_exception_range.
2004         * except.c (link_handler, eh_range_freelist, link_handler,
2005         handle_nested_ranges): Remove.
2006         (add_handler): Rewrite.
2007         (sanity_check_exception_range): New function.
2008         (print_ranges): New function.
2009
2010 2005-04-13  Julian Brown  <julian@codesourcery.com>
2011
2012         * decl.c (finish_method): Give methods once-only linkage.
2013
2014 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
2015
2016         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2017
2018 2005-04-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2019
2020         * java-tree.h: Don't use PARAMS().
2021
2022 2005-04-07  Per Bothner  <per@bothner.com>
2023
2024         * class.c (push_class): By default, suppress debug output.
2025         (finish_class): Enable debug output for classes we're emitting.
2026
2027 2005-04-07  Andrew Haley  <aph@redhat.com>
2028
2029         * gcj.texi: Correct gcj-dbtool instructions.
2030
2031 2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
2032
2033         * gcj.texi: Fix a typo.
2034         * lang.c: Fix a comment typo.
2035
2036 2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>
2037
2038         * gcj.texi (Invoking gij): Add descriptions of new -X options.
2039         Mention recognized-and-ignored compatibility options.
2040         (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
2041         JvFree.
2042         (About CNI): Add Memory allocation section.
2043
2044 2005-04-01  Tom Tromey  <tromey@redhat.com>
2045
2046         * decl.c (java_init_decl_processing): Fix types of
2047         _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
2048         _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
2049         _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
2050
2051 2005-03-31  Jan Hubicka  <jh@suse.cz>
2052
2053         * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
2054         * class.c: Include cgraph.h
2055         (make_local_functoin_alias): Mark aslias as needed.
2056         * resource.c: Include cgraph.h
2057         (compile_resource_data): Go via cgraph interface.
2058
2059 2005-03-30  Ian Lance Taylor  <ian@airs.com>
2060
2061         * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
2062
2063 2005-03-30  Tom Tromey  <tromey@redhat.com>
2064
2065         * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
2066         inner_class_info_index==0 or outer_class_info_index==0.
2067
2068 2005-03-29  Tom Tromey  <tromey@redhat.com>
2069
2070         * gcj.texi (libgcj Runtime Properties): Document
2071         gnu.gcj.runtime.endorsed.dirs.
2072
2073 2005-03-24  Anthony Green  <green@redhat.com>
2074
2075         * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
2076         'gcj-dbtool -p'.
2077
2078 2005-03-23  Tom Tromey  <tromey@redhat.com>
2079
2080         * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
2081         (parse_version): Use it.
2082
2083 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
2084
2085         * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2086
2087 2005-03-18  Andrew Haley  <aph@redhat.com>
2088
2089         PR java/20522
2090         * decl.c (update_aliases): Don't update variables that are about
2091         to die.
2092         (maybe_poplevels): Add comment.
2093
2094 2005-03-17  Bryce McKinlay  <mckinlay@redhat.com>
2095
2096         PR java/20502
2097         * jcf-parse.c (duplicate_class_warning): New function.
2098         (java_parse_file): Call duplicate_class_warning if 
2099         CLASS_FROM_CURRENTLY_COMPILED_P is already set.
2100         (parse_zip_file_entries): Likewise. Also set
2101         CLASS_FROM_CURRENTLY_COMPILED_P.
2102
2103 2005-03-16  Andrew Haley  <aph@redhat.com>
2104
2105         * expr.c (expand_java_arrayload): Don't generate a
2106         NullPointerException based on the type of the node.
2107         (build_java_array_length_access): Likewise.
2108
2109 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
2110
2111         * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
2112
2113 2005-03-11  Tom Tromey  <tromey@redhat.com>
2114
2115         * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
2116         (libgcj Runtime Properties): Document the default .db.
2117
2118 2005-03-10  Ranjit Mathew  <rmathew@hotmail.com>
2119
2120         PR java/20312
2121         * parse.y (checks_throws_clauses): Check exceptions list even when
2122         the base class does not come from a source file being compiled.
2123         (java_complete_lhs): Remove unused variable 'wfl'.
2124
2125 2005-03-09  Ranjit Mathew  <rmathew@hotmail.com>
2126
2127         PR java/20338
2128         * decl.c (finish_method): Emit _Jv_InitClass for private static
2129         methods inside inner classes as well.
2130
2131 2005-03-08  Julian Brown  <julian@codesourcery.com>
2132         * Revert patch from 2005-03-08 for causing bootstrap failure on
2133         ppc-darwin.
2134
2135 2005-03-08  Julian Brown  <julian@codesourcery.com>
2136
2137         * decl.c (finish_method): Give methods once-only linkage.
2138
2139 2005-03-07  Ranjit Mathew  <rmathew@hotmail.com>
2140
2141         * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
2142
2143 2005-03-07  Bryce McKinlay  <mckinlay@redhat.com>
2144
2145         * verify-glue.c (vfy_is_assignable_from): Perform static check using
2146         can_widen_reference_to if the C++ ABI is in use.
2147         (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
2148         * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
2149         type_isresolved, init_state, set_pc, state_get_pc,
2150         _Jv_BytecodeVerifier): Clean up unused and disabled functions.
2151         (verify_fail): Report the current PC from the verifier context.
2152         (free_state): Remove #if 0 block to enable this function.
2153         (free_verifier_context): Call free_state on state_list iterator
2154         values before freeing them.
2155         * expr.c (pop_type_0): Pop correct type for error message when stack
2156         contains a multi-word type.
2157
2158 2005-03-07  Ranjit Mathew  <rmathew@hotmail.com>
2159
2160         * expr.c (build_java_array_length_access): Remove !flag_new_verifier
2161         for known NULL array length access.
2162
2163 2005-03-07  Tom Tromey  <tromey@redhat.com>
2164
2165         * gcj.texi (Invoking gcj-dbtool): Document '-f'.
2166
2167 2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
2168
2169         * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
2170         typeck.c: Update copyright.
2171
2172 2005-03-06  Ranjit Mathew  <rmathew@hotmail.com>
2173
2174         Remove xref code.
2175         * xref.c, xref.h: Remove file.
2176         * Make-lang.in (java/xref.o): Remove.
2177         * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
2178         * lang.c (flag_emit_xref): Remove definition.
2179         * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
2180         * typeck.c (convert): Remove use of do_not_fold.
2181         * parse.y (do_not_fold): Remove definition.
2182         (parser grammar): Remove xref code.
2183         (maybe_create_class_interface_decl, create_class): Likewise.
2184         (register_fields, method_header, finish_method_declaration): Likewise.
2185         (declare_local_variables, source_end_java_method): Likewise.
2186         (java_complete_expand_classes): Do not set do_not_fold.
2187         (java_complete_expand_method): Remove xref code.
2188         (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
2189         (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
2190         (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
2191         (patch_synchronized_statement, patch_throw_statement): Likewise.
2192         (maybe_build_class_init_for_field): Likewise.
2193
2194 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
2195
2196         * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
2197         instead of IS_NON_TYPE_CODE_CLASS.
2198
2199 2005-03-04  Andrew Haley  <aph@redhat.com>
2200
2201         PR java/18362
2202         * class.c (set_method_index): Don't set method_index if it is
2203         NULL_TREE.
2204         (layout_class_method): Don't complain about "non-static method foo
2205         overrides static method" in the case of indirect dispatch.
2206
2207 2005-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2208
2209         * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
2210         warning.
2211         * Make-lang.in: Don't elide warnings in jcf-io.c.
2212
2213 2005-03-01  Per Bothner  <per@bothner.com>
2214
2215         PR java/8608
2216         * check-init.c (wfl): Remove static.
2217         (final_assign_error, check_init): Replace calls to parse_error_context
2218         by plain error.
2219         (check_init): Save, set, and restore input_location for each exp.
2220
2221 2005-03-01  Per Bothner  <per@bothner.com>
2222
2223         * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
2224         if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
2225         * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
2226
2227 2005-03-01  Per Bothner  <per@bothner.com>
2228
2229         * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2230
2231 2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>
2232
2233         PR libgcj/16923
2234         * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
2235         JvVMOption.
2236
2237 2005-02-22  Tom Tromey  <tromey@redhat.com>
2238
2239         PR java/20056:
2240         * verify-impl.c (EITHER): New define.
2241         (types_compatible): Handle it.
2242         (check_field_constant): Use it.
2243
2244 2005-02-18  Tom Tromey  <tromey@redhat.com>
2245
2246         PR java/20056:
2247         * verify-impl.c (types_equal): Fixed test.
2248
2249         PR java/20056:
2250         * verify-glue.c (vfy_class_has_field): New function.
2251         * verify.h (vfy_class_has_field): Declare.
2252         * verify-impl.c (check_field_constant): Added 'putfield'
2253         argument.
2254         (verify_instructions_0): Updated.
2255         (types_equal): New function.
2256
2257 2005-02-14  Tom Tromey  <tromey@redhat.com>
2258
2259         PR java/19921:
2260         * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
2261         stack effect of multianewarray.
2262
2263 2005-02-14  Andrew Haley  <aph@redhat.com>
2264
2265         PR java/19907
2266         * expr.c (expand_byte_code): Call promote_arguments().
2267         (promote_arguments): New function.
2268         * decl.c (check_local_unnamed_variable): Remove special case for
2269         new verifier.
2270         (find_local_variable): Promote all boolean types to int
2271         when searching for local variable decls.
2272
2273 2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
2274
2275         * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
2276         parse-scan.y: Update copyright.
2277
2278 2005-02-11  Per Bothner  <per@bothner.com>
2279
2280         PR java/15543
2281         * parse-scan.y (input_location): Remove variable.
2282         (main_input_filename): New - replaces input_filename, which isn't
2283         settable if USE_MAPPED_LOCATION.
2284         * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
2285         so we don't reference input_location or wfl_operator in that case.
2286         * jv-scan.c (expand_location): Remove - no longer used.
2287         (main): Set main_input_filename rather than input_filename.
2288
2289 2005-02-09  Richard Henderson  <rth@redhat.com>
2290
2291         * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
2292         * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
2293
2294 2005-02-08  Marcin Dalecki  <martin@dalecki.de>
2295
2296         * expr.c (add_type_assertion): Use the proper enumeration type,
2297         since this is what htab_find_slot() is expecting.
2298
2299 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
2300
2301         * gcj.texi: Update copyright dates.
2302
2303 2005-02-02  Tom Tromey  <tromey@redhat.com>
2304
2305         * gcj.texi (libgcj Runtime Properties): Default library_control
2306         to 'cache'.
2307
2308 2005-02-02  Ranjit Mathew  <rmathew@hotmail.com>
2309
2310         PR java/15543
2311         * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
2312         (modifiers) when square brackets are present in a declaration for
2313         a final paramter.
2314         * jv-scan.c (main): Set input_filename and input_line.
2315
2316 2005-02-01  Tom Tromey  <tromey@redhat.com>
2317
2318         PR java/19742:
2319         * gjavah.c (get_field_name): Don't override name for JNI header.
2320
2321 2005-02-01  Roger Sayle  <roger@eyesopen.com>
2322
2323         * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
2324         of unsigned types using iushr and lushr JVM bytecodes.
2325
2326 2005-02-01  Ranjit Mathew  <rmathew@hotmail.com>
2327
2328         PR java/19738
2329         * gjavah.c (jni_print_float): Do not emit floating-point
2330         initialiser for a static final field.
2331         (jni_print_double): Likewise.
2332
2333 2005-02-01  Mark Mitchell  <mark@codesourcery.com>
2334
2335         Revert:
2336         2005-01-31  Mark Mitchell  <mark@codesourcery.com>
2337         * gjavah.c (print_field_info): Mark static data members of
2338         floating-point type with "__extension__".
2339
2340 2005-01-31  Mark Mitchell  <mark@codesourcery.com>
2341
2342         * gjavah.c (print_field_info): Mark static data members of
2343         floating-point type with "__extension__".
2344
2345 2005-02-01  Ranjit Mathew  <rmathew@hotmail.com>
2346
2347         PR java/9157
2348         * parse.y (build_string_concatenation): Remove redundant if.
2349         (patch_conditional_expr): Attempt to patch_string() the condition
2350         of a ?: as well, in addition to its other operands.
2351
2352 2005-01-25  Tom Tromey  <tromey@redhat.com>
2353
2354         * Make-lang.in (java/java-tree-inline.o): Removed.
2355
2356 2005-01-25  Ranjit Mathew  <rmathew@hotmail.com>
2357
2358         PR java/19070
2359         * parse.y (patch_binop): Allow comparisons against NULL only
2360         if the other operand is of a reference type.
2361
2362 2005-01-24  Tom Tromey  <tromey@redhat.com>
2363
2364         * java-tree.h (gcj_abi_version): Declare.
2365         * class.c (make_class_data): Push gcj_abi_version into "next"
2366         field.  Renamed field.
2367         * decl.c (gcj_abi_version): New global.
2368         (parse_version): New function.
2369         (java_init_decl_processing): Call it.  Renamed 'next' field.
2370         Include version.h.
2371         (GCJ_BINARYCOMPAT_ADDITION): New define.
2372
2373 2005-01-24  Roger Sayle  <roger@eyesopen.com>
2374
2375         PR java/19295
2376         * jcf-write.c (generate_bytecode_insns): Conversions between
2377         integer types of the same precision shouldn't generate widening
2378         or narrowing conversion bytecodes.
2379
2380 2005-01-22  Kazu Hirata  <kazu@cs.umass.edu>
2381
2382         * java-except.h, java-tree.h: Remove unused prototypes.
2383
2384 2005-01-20  Andrew Pinski  <pinskia@gcc.gnu.org>
2385
2386         PR java/18091:
2387         * jcf-write.c (perform_relocations): Don't call memcpy if source
2388         and destination are the same.
2389
2390 2005-01-17  Tom Tromey  <tromey@redhat.com>
2391
2392         * verify-impl.c (get_short): Sign extend.
2393         (get_int): Likewise.
2394
2395 2005-01-12  Ranjit Mathew  <rmathew@hotmail.com>
2396
2397         * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
2398         with TYPE_SIZE.
2399
2400 2005-01-10  Ranjit Mathew  <rmathew@hotmail.com>
2401
2402         * verify.c: Revert to the version before the BC-ABI merge.
2403
2404 2005-01-10  Ranjit Mathew  <rmathew@hotmail.com>
2405
2406         PR java/19277
2407         * check-init.c (check_init): Take care of references that do not
2408         have an explicit final variable declaration (e.g. array length
2409         access) for pre/post in/de-crement operators.
2410
2411 2005-01-08  Mark Wielaard  <mark@klomp.org>
2412
2413         * parse.y (process_imports): Allocate (and free) original_name only
2414         when not already defined.
2415         * jcf-parse.c (read_class): Free results of find_class() and
2416         lrealpath().
2417         (java_parse_file): Keep pointer to head of file_list and free when
2418         done. Free result of lrealpath().
2419
2420 2005-01-05  Tom Tromey  <tromey@redhat.com>
2421
2422         * gcj.texi (Standard Properties): java.ext.dirs is now used.
2423
2424 2004-12-20  Andrew Haley  <aph@redhat.com>
2425
2426         * typeck.c: Use fold_convert for ints and booleans.
2427
2428 2004-12-17  Andrew Haley  <aph@redhat.com>
2429
2430         PR java/18931
2431         * typeck.c (convert): Use a CONVERT_EXPR when converting to
2432         BOOLEAN_TYPE or CHAR_TYPE.
2433         (convert_to_boolean, convert_to_char) : Remove.
2434         * convert.h (convert_to_boolean, convert_to_char) : Remove.
2435         * expr.c (expand_load_internal): Do type conversion if type is not
2436         as required.
2437
2438 2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
2439
2440         PR target/18459
2441         * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
2442         Update comment.
2443
2444 2004-12-07  Andrew Haley  <aph@redhat.com>
2445
2446         PR java/18811:
2447         * jcf-parse.c (load_class): Remove sanity test for missing inner
2448         class file.
2449
2450 2004-12-06  Tom Tromey  <tromey@redhat.com>
2451
2452         * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
2453         (java.uninstall): Likewise.
2454         (java.maintainer-clean): Likewise.
2455         (.INTERMEDIATE): Likewise.
2456         (java.install-man): Likewise.
2457         (gcj-dbtool.pod): New target.
2458         * gcj.texi (Code Generation): Document -findirect-dispatch.
2459         (libgcj Runtime Properties): Document
2460         gnu.gcj.precompiled.db.path.
2461         (Top): Link to "Invoking gcj-dbtool".
2462
2463 2004-12-06  Tom Tromey  <tromey@redhat.com>
2464
2465         PR java/14853:
2466         * java-tree.h (extract_field_decl): Declare.
2467         * parse.y (extract_field_decl): Renamed from
2468         strip_out_static_field_access_decl.  No longer static.
2469         * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
2470
2471 2004-12-03  Tom Tromey  <tromey@redhat.com>
2472
2473         * lang.c (flag_new_verifier): Define.
2474         (java_post_options): Set flag_new_verifier if indirect dispatch
2475         is being used.
2476         * lang.opt (fnew-verifier): Removed.
2477
2478 2004-12-03  Tom Tromey  <tromey@redhat.com>
2479
2480         PR bootstrap/14614:
2481         * Make-lang.in (java.install-common): Only install transformed
2482         gcjh if gcj-cross exists.
2483
2484 2004-12-03  Andrew Haley  <aph@redhat.com>
2485
2486         PR java/18812
2487         * except.c (link_handler): Patch 'outer' field of siblings of the
2488         range we're demoting.
2489
2490 2004-12-03  Andrew Haley  <aph@redhat.com>
2491
2492         PR java/18697
2493         * class.c (layout_class_method): Don't fail to override a method
2494         simply because it has DECL_ARTIFICIAL set.
2495
2496 2004-12-02  Tom Tromey  <tromey@redhat.com>
2497
2498         PR java/16675:
2499         * parse.y (craft_constructor): Special case null_pointer_node.
2500
2501 2004-12-02  Tom Tromey  <tromey@redhat.com>
2502
2503         PR java/18741:
2504         * java-gimplify.c (java_gimplify_expr): Don't call
2505         SET_EXPR_LOCATION unless wrapped tree is an expression.
2506
2507 2004-11-27  Per Bothner  <per@bothner.com>
2508
2509         * jcf-parse.c (set_source_filename):  Improvement to Andrew's fix:
2510         Fix fencepost error in 'i', which got executed one too many times.
2511         Also, fold memcpy into explicit loop, as originally intended.
2512         Also, free temporary 'buf' which otherwise leaks.
2513
2514 2004-11-27  Per Bothner  <per@bothner.com>
2515
2516         * expr.c (build_expr_wfl): Only declare last_file and last_filenode
2517         local static variables if not USE_MAPPED_LOCATION.
2518
2519 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2520
2521         * class.c, decl.c, expr.c: Fix comment typos.
2522
2523 2004-11-26  Andrew Pinski  <pinskia@physics.uc.edu>
2524
2525         PR java/18305
2526         * decl.c (end_java_method): Call
2527         attach_init_test_initialization_flags on all the init_decls.
2528         * parse.y (attach_init_test_initialization_flags): Move to ...
2529         * expr.c (attach_init_test_initialization_flags): here and
2530         support BIND_EXPR also.
2531         * java-tree.h (attach_init_test_initialization_flags): Prototype.
2532         * jcf-parse.c (parse_class_file): Don't disable class init
2533         optimization.
2534
2535 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
2536
2537         * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
2538         in diagnostics.
2539
2540 2004-11-24  Richard Henderson  <rth@redhat.com>
2541
2542         * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
2543         vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
2544
2545 2004-11-24  Tom Tromey  <tromey@redhat.com>
2546
2547         * verify.c (defer_merging): Don't use C++-style comment.
2548         * verify.h (java_opcode): Added java_opcode_end.
2549         * class.c (build_class_ref): Remove C++ comment and old FIXME.
2550
2551         * verify-impl.c (vfy_push_type): Removed bogus "return".
2552         (initialize_stack): Use vfy_alloc and vfy_free.
2553         (verify_instructions_0): Likewise.
2554
2555         * Merged gcj-abi-2-dev-branch to trunk.
2556
2557 2004-11-24  Andrew Haley  <aph@redhat.com>
2558
2559         * jcf-parse.c (parse_class_file): Set file_start_location.
2560
2561 2004-11-10  Tom Tromey  <tromey@redhat.com>
2562
2563         * class.c (make_field_value): Don't call build_static_field_ref.
2564         (build_static_field_ref): Don't emit direct references when using
2565         indirect dispatch.
2566
2567         * gcj.texi (Invoking gij): Document -verbose.  Put -verbose and
2568         -verbose:class into man page synopsis.
2569
2570 2004-11-09  Tom Tromey  <tromey@redhat.com>
2571
2572         * expr.c (build_java_arraystore_check): Still generate check if
2573         element type is itself an array.
2574
2575 2004-11-08  Tom Tromey  <tromey@redhat.com>
2576
2577         * java-tree.h (soft_check_assignment_node): Removed.
2578         (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
2579         * decl.c (java_init_decl_processing): Don't initialize
2580         soft_check_assignment_node.
2581
2582 2004-11-05  Tom Tromey  <tromey@redhat.com>
2583
2584         * class.c (layout_class_methods): Don't add Miranda methods when
2585         using indirect dispatch.
2586
2587 2004-11-05  Bryce McKinlay  <mckinlay@redhat.com>
2588
2589         * class.c (make_class_data): Call emit_assertion_table to set the
2590         'assertion_table' field.
2591         (build_signature_for_libgcj): Move here from expr.c.
2592         (add_assertion_table_entry): New function. Callback for assertion
2593         hashtable traversal.
2594         (emit_assertion_table): New. Take class argument, and generate
2595         assertion table DECL based on the TYPE_ASSERTIONS hashtable.
2596         * decl.c (init_decl_processing): Define assertion_entry_type record.
2597         Push 'assertion_table' class field instead of 'verify'.
2598         * expr.c (type_assertion_eq): Compare 'assertion_code' field.
2599         (type_assertion_hash): Include 'assertion_code' in hash.
2600         (add_type_assertion): Rewritten. Take class and assertion_code
2601         arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
2602         (can_widen_reference_to): Use new add_type_assertion() arguments.
2603         * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
2604         JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
2605         (verify_identifier_node): Removed.
2606         (assertion_entry_type, assertion_table_type): New.
2607         (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
2608         assertion code definitions.
2609         (struct type_assertion): Add assertion_code. Rename 'source_type' and
2610         'target_type' to 'op1' and 'op2'.
2611         (add_type_assertion): Declare.
2612         (lang_printable_name_wls): Remove unused definition.
2613         * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
2614         to emit runtime assertion.
2615         (vfy_note_stack_type): Clean up non-C90 declarations.
2616         (vfy_note_local_type): Likewise.
2617         * verify.h (vfy_is_assignable_from): Declare.
2618         * verify-impl.c (is_assignable_from_slow): Remove unused function.
2619         (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
2620         instead of is_assignable_from_slow().
2621         (types_compatible): Reinstate ref_compatible() call.
2622
2623 2004-11-04  Tom Tromey  <tromey@redhat.com>
2624
2625         * class.c (build_static_field_ref): Reverted previous patch.
2626
2627         * class.c (build_static_field_ref): Don't emit direct references
2628         when using indirect dispatch.
2629
2630 2004-11-03  Tom Tromey  <tromey@redhat.com>
2631
2632         * expr.c (expand_java_arrayload): Set lhs_type_node.
2633         (expand_java_arraystore): Set rhs_type_node.
2634
2635 2004-11-02  Tom Tromey  <tromey@redhat.com>
2636
2637         * jcf-parse.c (compute_class_name): Use filename length from zip
2638         directory, not strlen.
2639
2640         * expr.c (expand_invoke): Mark new interface methods as abstract.
2641
2642 2004-11-01  Tom Tromey  <tromey@redhat.com>
2643
2644         * verify-impl.c (push_jump): Removed check for uninitialized
2645         objects.
2646         (push_exception_jump): Likewise.
2647         (handle_ret_insn): Likewise.
2648         (handle_jsr_insn): Likewise.
2649         (state_check_no_uninitialized_objects): Removed.
2650
2651         * decl.c (check_local_unnamed_variable): Recognize
2652         promoted-to-int parameters when using the new verifier.
2653         * expr.c (expand_java_arraystore): Explicitly request array type
2654         when using new verifier.
2655         (expand_java_arrayload): Likewise.
2656         (invoke_build_dtable): Don't pass object_type_node as
2657         expression argument to build_java_indirect_ref.
2658         (build_java_check_indexed_type): Do nothing.
2659         (build_java_arraystore_check): Handle case where array doesn't
2660         have array type.
2661         (build_java_array_length_access): Likewise.
2662         (expand_invoke): Handle case where interface overrides a method
2663         from Object.
2664         (pop_type_0): Always succeed for reference types.
2665         (process_jvm_instruction): Don't pop a value in a dead
2666         exception handler.
2667         (pop_arguments): Convert arguments to correct types.
2668
2669 2004-10-29  Andrew Haley  <aph@redhat.com>
2670
2671         * jcf-parse.c (give_name_to_class): Remove line that was
2672         incorrectly merged.
2673
2674 2004-10-29  Andrew Haley  <aph@redhat.com>
2675
2676         * jcf-parse.c (set_source_filename): Add code to build new sfname.
2677
2678 2004-10-20  Andrew Haley  <aph@redhat.com>
2679
2680         * decl.c (end_java_method): Don't expand if flag_syntax_only.
2681
2682 2004-10-26  Tom Tromey  <tromey@redhat.com>
2683
2684         * verify.h (vfy_notify_verified): Removed.
2685         * verify-glue.c (vfy_notify_verified): Removed.
2686
2687 2004-10-26  Tom Tromey  <tromey@redhat.com>
2688
2689         * verify-impl.c (debug_print_state): Declare `i' before code.
2690         (merge_types): Modify `t' when it is null_type.
2691
2692 2004-10-26  Tom Tromey  <tromey@redhat.com>
2693
2694         * verify-impl.c (type_print): Renamed from print.  Now static and
2695         takes an argument.
2696         (debug_print_state): Use type_print.
2697
2698 2004-10-25  Tom Tromey  <tromey@redhat.com>
2699
2700         * expr.c (build_invokeinterface): Compute correct offset for
2701         index into interface methods.
2702
2703 2004-10-20  Tom Tromey  <tromey@redhat.com>
2704
2705         * java-tree.h (verify_jvm_instructions_new): Declare.
2706
2707         * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
2708         command line.
2709
2710         * verify-impl.c (verify_instructions): Correctly handle wide
2711         types on the stack.
2712         * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
2713         (vfy_get_component_type): Strip pointer types.
2714         (vfy_find_class): Use get_type_from_signature.  Strip pointer
2715         types.
2716         Include java-except.h.
2717
2718 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
2719
2720         * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
2721         vfy_push_type_t, set_variable, add_new_state, merge_into,
2722         handle_jsr_insn, branch_prepass, check_class_constant,
2723         check_wide_constant, get_one_type, compute_static_types,
2724         verify_instructions_0): Clean up C99 declarations after statements.
2725
2726 2004-10-20  Tom Tromey  <tromey@redhat.com>
2727
2728         * verify-impl.c (merge_refs): Compare reference against iterator,
2729         not ref2.
2730
2731         * verify-glue.c (vfy_tag): Mask off resolved flag.
2732
2733 2004-10-19  Tom Tromey  <tromey@redhat.com>
2734
2735         * verify-impl.c (verify_instructions): Call vfy_note_local_type.
2736         (init_state_with_stack): Initialize `this_type' in state.
2737         (verify_method): Use debug_print.
2738         * verify-glue.c (vfy_is_primitive): Removed debugging print.
2739         (vfy_note_stack_depth): Reverted last patch.
2740         (vfy_note_stack_type): Note pointer to Object, not Object.
2741         (vfy_note_local_type): Likewise.
2742
2743         * verify.h (vfy_note_instruction_seen): Declare.
2744         * verify-glue.c (verify_jvm_instructions_new): Set
2745         BCODE_EXCEPTION_TARGET on target instruction.
2746         (vfy_note_instruction_seen): New function.
2747         * verify-impl.c (FLAG_INSN_SEEN): New define.
2748         (verify_instructions_0): Set flag on instruction.  Save state for
2749         PC=0 later.
2750         (verify_instructions): Call vfy_note_instruction_seen.
2751
2752         * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
2753         (verify_jvm_instructions_new): Call method_init_exceptions,
2754         add_handler, and handle_nested_ranges.
2755         * verify-impl.c (verify_method): Return 1 on success.
2756         (verify_instructions_0): Save the state at PC=0.
2757
2758         * verify-impl.c (init_type_from_class): Set is_resolved and
2759         ref_next on new ref_intersection.
2760         (init_type_from_string): Likewise.
2761
2762 2004-10-15  Bryce McKinlay  <mckinlay@redhat.com>
2763
2764         * expr.c (expand_bytecode): Use verify_jvm_instructions_new
2765         if flag_new_verifier is set.
2766         * java-tree.h (flag_new_verifier): Declare.
2767         * lang.opt (fnew-verifier): New option.
2768         * verify-impl.c: Work around namespace pollution by undef'ing
2769         'current_class'.
2770         (struct verifier_context): Make 'bytecode' const.
2771         (verify_fail_pc): Pass -1 PC argument to vfy_fail.
2772         (types_compatible): For the BC-ABI, always consider reference types
2773         compatible.
2774         (check_class_constant): Use vfr->current_class.
2775         (check_constant): Likewise.
2776         (check_wide_constant): Likewise.
2777         (check_field_constant): Check for 'L' at start of type name.
2778         (get_one_type): Return pointer instead of type. Set type result in
2779         caller via passed type pointer.
2780         (compute_argument_types): Update to use new get_one_type arguments.
2781         (compute_return_type): Likewise.
2782         (make_verifier_context): New. Allocate and initialize 'vfr'.
2783         (free_verifier_context): New. Free 'vfr' and its contents.
2784         (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
2785         and free_verifier_context.
2786
2787 2004-10-15  Tom Tromey  <tromey@redhat.com>
2788
2789         * verify-glue.c (vfy_note_local_type): Mark argument as unused.
2790         * verify.h (vfy_fail): Fixed formatting.
2791
2792         * verify-impl.c (vfr): Fixed comment formatting.
2793         (collapse_type): New function.
2794         (verify_instructions): Notify compiler about type map.
2795         * verify.h (vfy_note_stack_depth): Updated.
2796         (vfy_note_stack_type): Likewise.
2797         (vfy_note_local_type): Likewise.
2798         (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
2799         Declare.
2800         * verify-glue.c (vfy_note_stack_depth): Correctly size type
2801         state.  Added `method' argument.
2802         (vfy_note_stack_type): Renamed from vfy_note_type.  Added `method'
2803         argument.
2804         (vfy_note_local_type): New function.
2805         (vfy_unsuitable_type): Likewise.
2806         (vfy_return_address_type): Likewise.
2807         (vfy_null_type): Likewise.
2808
2809         * verify.h (VFY_IN_GCC): Removed.
2810         (VFY_WANT_TYPEMAP): Removed.
2811         * verify-impl.c (verify_instructions_0): Removed useless "\".
2812         (struct state) <next>: Uncomment.
2813
2814 2004-10-13  Bryce McKinlay  <mckinlay@redhat.com>
2815
2816         * verify-impl.c: Formatting fixes. Reformat C++-style comments to
2817         C-style.
2818
2819 2004-10-06  Bryce McKinlay  <mckinlay@redhat.com>
2820
2821         * Make-lang.in (verify.o): Re-enabled this target.
2822         * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
2823         (vfy_get_interface): Likewise.
2824         (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
2825         * verify.h (verify_jvm_instructions_new): Declare.
2826         * verify-impl.c (free_state): Temporarily comment out unused
2827         function.
2828
2829 2004-10-06  Tom Tromey  <tromey@redhat.com>
2830
2831         * java-tree.h (JV_STATE_READ): New enum value.
2832
2833 2004-10-06  Bryce McKinlay  <mckinlay@redhat.com>
2834
2835         * verify.h: New file.
2836
2837 2004-10-05  Bryce McKinlay  <mckinlay@redhat.com>
2838
2839         * verify-impl.c, verify-glue.c, verify.h: New files.
2840         * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
2841
2842 2004-09-24  Andrew Haley  <aph@redhat.com>
2843
2844         * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
2845         for a slot if it's of pointer type.
2846
2847 2004-09-14  Tom Tromey  <tromey@redhat.com>
2848
2849         * class.c (make_class_data): Correctly initialize "state" field.
2850         Initialize "engine" field.
2851         * decl.c (java_init_decl_processing): Add "engine" field.
2852
2853 2004-09-10  Andrew Haley  <aph@redhat.com>
2854
2855         PR java/12760
2856         * expr.c (build_invokeinterface): Use fast method for interface
2857         dispatch.
2858         * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
2859         JTI_ITABLE_PTR_TYPE.
2860         (struct lang_type): Add  itable_methods, itable_decl, itable_syms_decl.
2861         (emit_symbol_table): Add new arg, element_size.
2862         * decl.c (java_init_decl_processing): Initialize Class.itable.
2863         * class.c (GEN_TABLE): New macro.
2864         (gen_indirect_dispatch_tables): Use it.  Add itable.
2865         (make_class_data): Add new arg for emit_symbol_table().
2866         Emit itable.
2867         (add_miranda_methods): Make sure search_class has been parsed.
2868         (emit_symbol_table): Add new arg, element_size.
2869
2870 2004-09-06  Andrew Haley  <aph@redhat.com>
2871
2872         * verify.c (merge_types): Return Object for all merges of
2873         interfaces.
2874         * expr.c (add_type_assertion): Don't generate assertions when
2875         source type is array of Object.
2876
2877 2004-09-03  Andrew Haley  <aph@redhat.com>
2878
2879         * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
2880
2881         * lang.c (java_post_options): Force flag_verify_invocations if
2882         we're not using indirect dispatch.
2883
2884         * expr.c (pop_type_0): Move test for interfaces before call to
2885         can_widen_reference_to().
2886         (build_signature_for_libgcj): Remove generation of canonical array
2887         type.
2888         (add_type_assertion): Canonicalize both arrays.
2889         Don't assert that type X can be assigned to Object.
2890         Don't assert that type X an be assigned to type X.
2891         Don't assert that Object can be assigned to type X.
2892         (can_widen_reference_to): Warn whenever we generate an assertion.
2893         (process_jvm_instruction): Use throwable_type_node for the type of
2894         an exception class.
2895
2896 2004-09-01  Andrew Haley  <aph@redhat.com>
2897
2898         * decl.c (java_init_decl_processing): Change
2899         verify_identifier_node to "__verify".
2900         * expr.c (add_type_assertion): Use verify_identifier_node for name.
2901         * java-tree.h (verify_identifier_node): Change to "__verify".
2902
2903         * expr.c (build_signature_for_libgcj): New function.
2904         (add_type_assertion): Use it to construct signatures for
2905         source_type and target_type.
2906
2907 2004-08-27  Andrew Haley  <aph@redhat.com>
2908
2909         * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
2910         (verify_identifier_node): New.
2911         (TYPE_VERIFY_METHOD): New.
2912         (struct type_assertion): New type.
2913         * expr.c (type_assertion_eq): New function.
2914         (type_assertion_hash): New function.
2915         (add_type_assertion): New function.
2916         (can_widen_reference_to): Call add_type_assertion().
2917         * decl.c (java_init_decl_processing): Add verify_identifier_node.
2918         * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
2919         (finish_class): Output TYPE_VERIFY_METHOD (type).
2920
2921         * decl.c (end_java_method): Nullify unused fields.
2922
2923 2004-08-17  Andrew Haley  <aph@redhat.com>
2924
2925         * verify.c (defer_merging): Quieten.
2926         * jcf-parse.c (load_class): Only try to open a class file if it's
2927         java.lang.Object or if it's part of the current compilation.
2928         Check that the class we just tried to load is the class we just
2929         loaded.  Quieten.
2930         (java_parse_file): Set flag_verify_invocations off if we're
2931         compiling from .class.
2932         (parse_zip_file_entries): Abort if we try to read a dummy class.
2933         * expr.c (can_widen_reference_to): Quieten.
2934         (build_invokevirtual): Abort if we try to invokevirtual an
2935         interface.
2936         (expand_invoke): Don't build a non-interface call to an interface.
2937         (build_instanceof): Don't do premature optimization if
2938         flag_verify_invocations is not set.
2939         * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
2940         from superclass.
2941         (build_static_field_ref): Add correct type conversion for
2942         field_address.
2943         (add_miranda_methods): Disable generation of Miranda methods for
2944         dummy classes.
2945         (layout_class_method): Don't complain about non-static method
2946         overrides static method with dummy classes.
2947
2948 2004-08-13  Tom Tromey  <tromey@redhat.com>
2949
2950         * class.c (build_static_field_ref): Re-enable atable lookups for
2951         static fields.
2952
2953         * parse.y (strip_out_static_field_access_decl): Indentation fix.
2954
2955 2004-08-11  Tom Tromey  <tromey@redhat.com>
2956
2957         * gcj.texi (libgcj Runtime Properties): Document new properties.
2958
2959 2004-08-06  Andrew Haley  <aph@redhat.com>
2960
2961         * jcf-parse.c (load_class): Check that we really have loaded the
2962         class we're looking for.
2963
2964 2004-07-19  Andrew Haley  <aph@redhat.com>
2965
2966         * verify.c (verify_jvm_instructions): Comment change only.
2967
2968         * typeck.c (build_java_array_type): Add size field to array name.
2969
2970         * java-tree.h (LOCAL_SLOT_P): New.
2971         (update_aliases): Add PC argument.
2972         (pushdecl_function_level): New function.
2973
2974         * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
2975         MODIFY_EXPR, and SAVE_EXPR.
2976         (java_gimplify_modify_expr): New function.
2977
2978         * expr.c (push_type_0): Call find_stack_slot() to create temporary.
2979         (expand_iinc): Pass PC to update_aliases().
2980         (STORE_INTERNAL): Likewise.
2981         (process_jvm_instruction): Likewise.
2982
2983         * decl.c (base_decl_map): New variable.
2984         (uniq): New variable.
2985         (update_aliases): Rewrite with more thorough checking.
2986         (debug_variable_p): New function.
2987         (push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
2988         (check_local_named_variable): Delete whole function.
2989         (initialize_local_variable): New function.
2990         (check_local_unnamed_variable): Add checks and comments.
2991         (find_local_variable): Rewrite.
2992         (java_replace_reference): New function.
2993         (function_binding_level): New variable.
2994         (pushdecl_function_level): New function.
2995         (maybe_pushlevels): Set DECL_LOCAL_END_PC.
2996         (maybe_pushlevels): Call pushdecl() on each of the new decls.
2997         (start_java_method): Reset uniq.  Create base_decl_map.  Set
2998         function_binding_level.
2999         (end_java_method): Null unused fields to save memory.
3000
3001 2004-06-29  Andrew Haley  <aph@redhat.com>
3002
3003         * except.c (expand_start_java_handler): Push a new binding level.
3004         Don't build a TRY_CATCH_EXPR now, we'll do it later.  Call
3005         register_exception_range() to register where we'll do it.
3006         (expand_end_java_handler): Remove old bogus code.  Replace with
3007         new logic that simply builds TRY_CATCH_EXPRs and inserts them at
3008         the top of the expression we're curently building.
3009         (maybe_end_try): Delete.
3010         * decl.c (binding_level.exception_range): New field.
3011         (clear_binding_level): Add field exception_range.  Reformat.
3012         (poplevel): Call expand_end_java_handler().
3013         (poplevel): Call java_add_stmt only if functionbody is false.
3014         (maybe_poplevels): Don't call maybe_end_try() from here.
3015         (end_java_method): Clear no longer used trees in function decl.
3016         (register_exception_range): New function.
3017         * java-tree.h (register_exception_range, struct eh_range): Declare.
3018
3019 2004-06-22  Andrew Haley  <aph@redhat.com>
3020
3021         * class.c (gen_indirect_dispatch_tables): Set the DECL_OWNER of
3022         the otable.
3023         * check-init.c (get_variable_decl): Teach check-init about
3024         FIELD_DECLs addressed via the otable.
3025         * jcf-parse.c (load_class): Check CLASS_LOADED_P, not
3026         CLASS_PARSED_P.
3027
3028 2004-05-28  Andrew Haley  <aph@redhat.com>
3029
3030         * jcf-parse.c (load_class): Don't try to read a class that we've
3031         already read.
3032
3033         * expr.c (build_invokeinterface): Use the old-fashioned way of
3034         doing indirect dispatch: look up interfaces by name.
3035         * java-tree.h (enum java_tree_index): Add
3036         JTI_SOFT_LOOKUPINTERFACEMETHODBYNAME_NODE
3037         * decl.c (java_init_decl_processing): Add
3038         soft_lookupinterfacemethodbyname_node.
3039
3040         * gjavah.c (print_method_info): Final methods have vtable entries,
3041         so gjavah needs to output them.
3042         * class.c (layout_class_method): Generate vtable entries for final
3043         methods.
3044         * parse.y (invocation_mode): Use INVOKE_VIRTUAL for indirect
3045         dispatch, even if a method is final.
3046
3047 2004-05-25  Andrew Haley  <aph@redhat.com>
3048
3049         * class.c (build_symbol_entry): Convert the names of constructors
3050         to init_identifier_node when generating an entry for the indirect
3051         dispatch table.
3052
3053         * expr.c (build_known_method_ref): Generate indirect calls for
3054         all methods marked DECL_EXTERNAL or TREE_PUBLIC.
3055
3056 2004-05-24  Andrew Haley  <aph@redhat.com>
3057
3058         * expr.c (build_known_method_ref): Make sure ARRAY_REF access to
3059         atable element is of the right type.
3060
3061         * class.c (build_static_field_ref): Cast pointer to correct type
3062         for field.
3063
3064 2004-04-20  Bryce McKinlay  <mckinlay@redhat.com>
3065
3066         * Merged with HEAD as of 20040514. Diff against
3067         gcj-abi-2-merge-20040514.
3068
3069 2004-04-16  Andrew Haley  <aph@redhat.com>
3070
3071         * verify.c (check_pending_block): Disable subroutine checks.
3072         (defer_merging): New function.
3073         (merge_types): If types are dummy, use defer_merging to combine them.
3074         (verify_jvm_instructions): If invocation is invokeinterface and
3075         target is dummy, assume target really is an interface.
3076
3077         * parse.y (patch_invoke): Break out call to java_create_object.
3078
3079         * lang.c (flag_verify_invocations): New.
3080
3081         * jcf-parse.c (load_class): If we've already failed to load a
3082         class, don't try again.
3083         (load_class): If we can't find a .class file, don't fail, but emit
3084         a warning.
3085         (parse_class_file): Don't act on dummy methods.
3086
3087         * java-tree.h (flag_verify_invocations): New.
3088         (TYPE_DUMMY): New.
3089         (lang_type.dummy_class): New field.
3090         (java_create_object): New function.
3091         (METHOD_DUMMY): New.
3092
3093         * expr.c (build_field_ref): Widen field offset.
3094         (pop_type_0): If the type in stack_type_map is a TREE_LIST, check
3095         that each of its elements is compatible with the one we're
3096         popping.
3097         (pop_type_0): Issue a warning to say that we need to generate a
3098         runtime check.
3099         (java_create_object): New function.
3100         (build_field_ref): Only generate hard refs if we're not using
3101         indirect dispatch.
3102         (expand_java_field_op): If we're using !verify_invocations and we
3103         see a missing field, generate a decl for it.
3104
3105         (expand_invoke): If a class doesn't have the method we seek and
3106         we're using !flag_verify_invocations, generate a decl for the
3107         method now.
3108
3109         (build_known_method_ref): Always use indirect dispatch via the
3110         atable for static methods.
3111
3112         (expand_java_NEW): Break out object creation into new function,
3113         java_create_object.
3114
3115         (can_widen_reference_to): Issue a warning to say that we need to
3116         generate a runtime check.
3117
3118         * class.c (set_super_info): Inherit TYPE_DUMMY from sureclass.
3119         (make_method_value): Also use index for interfaces.
3120         (make_class_data): Skip dummy field for inherited data.
3121         Don't build method array for dummy methods.
3122         Set size_in_byte to -1 when using inirect dispatch
3123         Don't build a hard class ref if we don't have a hard ref to our
3124         superclass, or if we're using inirect dispatch.
3125         Null out dispatch tables.
3126
3127         (layout_class_method): Don't complain about non-static method
3128         overrides static method is method is artificial.
3129
3130         (build_static_field_ref): Disable atable references to static
3131         fields for the time being.
3132
3133         (layout_class_methods): Check for CLASS_INTERFACE as
3134         well as CLASS_ABSTRACT.
3135
3136 2004-11-24  Steven Bosscher  <stevenb@suse.de>
3137
3138         * class.c (make_class_data): Don't check flag_inline_functions.
3139         * lang.c (flag_really_inline): Remove unused flag.
3140         (java_handle_option): Don't set it here.  Remove special handling
3141         of flag_inline_functions for Java.
3142         (java_init): Don't set flag_inline_trees here.  Already done...
3143         (java_post_options): ...here.  Don't clear flag_inline_functions.
3144
3145 2004-11-24  Steven Bosscher  <stevenb@suse.de>
3146
3147         * java-gimplify.c (java_gimplify_labeled_block_expr): New function.
3148         (java_gimplify_exit_block_expr): New function.
3149         (java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
3150         LABELED_BLOCK_EXPR.
3151         * java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
3152         (EXIT_BLOCK_EXPR): Likewise.
3153         * java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
3154         (LABELED_BLOCK_BODY): Likewise.
3155         (EXIT_BLOCK_LABELED_BLOCK): Likewise.
3156         * jcf-write.c (generate_bytecode_insns): Don't handle the unused
3157         EXIT_BLOCK_RETURN operand.  Use EXIT_BLOCK_LABELED_BLOCK instead of
3158         TREE_OPERAND.
3159         * lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
3160         (java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
3161         EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND.  Don't handle the
3162         second operand of EXIT_BLOCK_EXPR.
3163         * parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
3164         TREE_OPERAND.
3165         (build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
3166
3167 2004-11-23  Ben Elliston  <bje@au.ibm.com>
3168
3169         * xref.h (xref_flag_value): Remove.
3170         (xref_set_data, xref_get_data): Likewise.
3171         (xref_set_current_fp): Likewise.
3172         (XREF_NONE): Likewise.
3173         (XREF_GET_DATA): Likewise.
3174         * xref.c (xref_flag_value): Remove.
3175         (xref_set_data, xref_get_data): Likewise.
3176         (xref_set_current_fp): Likewise.
3177
3178 2004-11-23  Ben Elliston  <bje@au.ibm.com>
3179
3180         * gjavah.c (output_directory): Make static.
3181         (temp_directory): Likewise.
3182
3183 2004-11-15  Tom Tromey  <tromey@redhat.com>
3184
3185         * decl.c (instn_ptr_type_node): Removed.
3186         (lineNumbers_ptr_type_node): Removed.
3187         (jint_type): Removed.
3188         (jint_ptr_type): Removed.
3189
3190 2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
3191
3192         PR java/15576
3193         * check-init.c (check_init): Ignore DECL_EXPR.
3194         * expr.c (always_initialize_class_p): Reenable.
3195         (build_class_init): Use a variable to store the decl.  Also use
3196         boolean_false_node instead of integer_zero_node.
3197         * parse.y (attach_init_test_initialization_flags): Add a decl_expr
3198         to the block.
3199
3200 2004-11-08  Tom Tromey  <tromey@redhat.com>
3201
3202         PR java/16843:
3203         * gjavah.c (HANDLE_END_FIELD): Call print_field_info when
3204         generating a JNI header.
3205         (print_field_info): Handle JNI headers.
3206         (jni_print_float): Likewise.
3207         (jni_print_double): Likewise.
3208
3209 2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
3210
3211         * decl.c (end_java_method): Remove duplicated code.
3212
3213 2004-11-06  Zack Weinberg  <zack@codesourcery.com>
3214             Gerald Pfeifer  <gerald@pfeifer.com>
3215
3216         * lex.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
3217         as well.
3218
3219 2004-11-02  Bryce McKinlay  <mckinlay@redhat.com>
3220
3221         PR java/17265
3222         * class.c: Reinstate 2004-08-18 patch.
3223         (make_local_function_alias): Don't create an alias for extern (native)
3224         functions.
3225
3226 2004-10-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
3227
3228         PR java/17265
3229         * class.c (make_local_function_alias): Revert 2004-08-18 change.
3230         (make_method_value): Likewise.
3231
3232 2004-10-21  Andrew Haley  <aph@redhat.com>
3233
3234         PR java/18091:
3235         * jcf-parse.c (set_source_filename): Add code to build new sfname.
3236
3237 2004-10-20  Andrew Haley  <aph@redhat.com>
3238
3239         * decl.c (end_java_method): Don't expand if flag_syntax_only.
3240         Remove duplicated code block.
3241
3242 2004-10-18  Steven Bosscher  <stevenb@suse.de>
3243
3244         * Make-lang.in (java/parse.o-warn, java/parse-scan.o-warn):
3245         New rules to work around old Bison warnings.
3246
3247 2004-10-17  Steven Bosscher  <stevenb@suse.de>
3248
3249         * class.c (ident_subst): Always alloca buffer.
3250         * java-opcodes.h (LAST_AND_UNUSED_JAVA_OPCODE): Add this dummy
3251         opcode after including javaop.def.
3252         * jcf-dump.c (CHECK_PC_IN_RANGE): Return 0 from the arm of the
3253         conditional expression that exits, to avoid warnings.
3254         * verify.c (CHECK_PC_IN_RANGE): Mark the __GNUC__ definition as
3255         a user of an extension.
3256         * win32-host.c: Move check down to have non-empty file when
3257         WIN32 is not defined.
3258
3259         * Make-lang.in (java-warn): Add STRICT_WARN.
3260         (java/jcf-io.o-warn): Don't have Werror for this file.
3261         * jcf-io.c (caching_stat): Add FIXME for non-POSIX scandir use.
3262
3263 2004-10-16  Hans-Peter Nilsson  <hp@bitrange.com>
3264
3265         * expr.c (expr_add_location): Move declaration to before all
3266         statements.
3267         * parse.y (java_expand_classes): Ditto.
3268         * lex.c (java_peek_unicode): Ditto.
3269
3270 2004-10-16  Ranjit Mathew  <rmathew@hotmail.com>
3271
3272         * check-init.c: Use %<, %> and %q for quoting in diagnostics,
3273         if possible, else convert `foo' to 'foo'.
3274         * class.c: Likewise.
3275         * decl.c: Likewise.
3276         * expr.c: Likewise.
3277         * jcf-io.c: Likewise.
3278         * jcf-parse.c: Likewise.
3279         * lang.c: Likewise.
3280         * lex.c: Likewise.
3281         * parse.h: Likewise.
3282
3283 2004-10-16  Ranjit Mathew  <rmathew@hotmail.com>
3284
3285         * parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and
3286         rename parameter 'msg' to 'msgid' in function declaration.
3287         (issue_warning_error_from_context): Likewise.
3288         (yyerror): Rename parameter 'msg' to 'msgid'.
3289         (all over): Use new quoting style for diagnostics.
3290
3291 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
3292
3293         * boehm.c, builtins.c, java-except.h, jcf-io.c, jcf-path.c,
3294         jcf.h, lang-specs.h, lex.c, lex.h, resource.c, win32-host.c:
3295         Update copyright.
3296
3297 2004-10-14  Matt Austern  <austern@apple.com>
3298
3299         * lang.c (java_tree_inlining_walk_subtrees): Last arg is struct
3300         pointer_set_t* now.
3301
3302 2004-10-13  Tom Tromey  <tromey@redhat.com>
3303
3304         PR java/15578:
3305         * lang.opt (--extdirs): Document.
3306         * jvspec.c (lang_specific_driver): Recognize -encoding and
3307         -extdirs.
3308
3309 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3310
3311         * parse.y (issue_warning_error_from_context): Use va_list *
3312         instead of va_list parameter.
3313         (parse_error_context): Update call.
3314         (parse_warning_context): Likewise.
3315
3316 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
3317
3318         * parse.y, parse-scan.y: Add list of diagnostic messages to
3319         insulate translation template from version of yacc/bison used
3320         to compile the grammar.
3321
3322 2004-10-05  Ranjit Mathew  <rmathew@hotmail.com>
3323
3324         Prepare for %q, %< and %> in diagnostic message strings.
3325         * java-tree.h (parse_error_context): remove ATTRIBUTE_PRINTF_2.
3326         Name second parameter 'msgid'.
3327         * parse.y: Additionally include pretty-print.h and diagnostic.h.
3328         (issue_warning_error_from_context): Use pretty-printer functions
3329         instead of vsprintf for constructing formatted messages. Rename
3330         parameter 'msg' to 'msgid'.
3331         (parse_error_context): Rename parameter 'msg' to 'msgid'.
3332         (parse_warning_context): Likewise.
3333
3334 2004-10-05  Andrew Haley  <aph@redhat.com>
3335
3336         PR java/17779
3337         * jcf-parse.c (parse_zip_file_entries): If a class has a
3338         superclass and a TYPE_SIZE of zero, lay it out.
3339
3340 2004-09-30  Andrew Haley  <aph@redhat.com>
3341
3342         PR java/17733
3343         * jcf-parse.c (compute_class_name): Rewrite.
3344
3345 2004-10-01  Jan Hubicka  <jh@suse.cz>
3346
3347         * java.c (java_expand_body): Update call of tree_rest_of_compilation.
3348
3349 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
3350
3351         * lex.c: Fix a comment typo.
3352
3353 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
3354
3355         * java-tree.h: Fix a comment typo.
3356
3357 2004-09-30  Per Bothner  <per@bothner.com>
3358
3359         Simplify lexer.  Implement --enable-mapped-location support.
3360         * jcf-parse.c (parse_class_file):  Use linemap_line_start.
3361         (parse_source_file_1): Pass filename as extra parameter, so we can call
3362         linemap_add and set input_location here, rather than in both callers.
3363         (read_class): Pass copied filename to parse_source_file_1.
3364         Don't initialize wfl_operator - only needed for source compilation.
3365         (read_class, jcf_parse):  Call linemap_add with LC_LEAVE.
3366         * lex.h:  Remove a bunch of debugging macros.
3367         * lex.h (struct_java_line, struct java_error):  Remove types.
3368         (JAVA_COLUMN_DELTA):  Remove - use java_lexer.next_colums instead.
3369         (struct java_lc_s):  Remove prev_col field.
3370         (struct java_lexer):  New fields next_unicode, next_columns, and
3371         avail_unicode.  New position field, and maybe token_start field.
3372         Don't need hit_eof field - use next_unicode == -1 instead.
3373         (JAVA_INTEGERAL_RANGE_ERROR):  Rename to JAVA_RANGE_ERROR.
3374         (JAVA_RANGE_ERROR, JAVA_FLOAT_ANGE_ERROR):  Update accordingly.
3375         * parse.h:  Various changes for USE_MAPPED_LOCATION.
3376         (EXPR_WFL_EMIT_LINE_NOTE): XXX
3377         (BUILD_EXPR_WFL, EXPR_WFL_ADD_COL): Remove no-longer-used macros.
3378         (struct parser_ctxt):  New file_start_location field.
3379         Remove p_line, c_line fields since we no longer save lines.
3380         Remove elc, lineno, and current_jcf fields - no longer used.
3381         * parse.y:  Updates for USE_MAPPED_LOCATION and new lexer.
3382         Don't use EXPR_WFL_ADD_COL since that isn't trivial with
3383         source_location and is probably not needed anymore anyway.
3384         Use new expr_add_Location function.
3385         (SET_EXPR_LOCATION_FROM_TOKEN):  New convenience macro.
3386         (java_pop_parser_context):  Minor cleanup.
3387         (java_parser_context_save_global, java_parser_context_restore_global,
3388         java_pop_parser_context):  Save/restore input_location as a unit.
3389         (issue_warning_error_from_context):  If USE_MAPPED_LOCATION take
3390         a source_location instead of a wfl context node.
3391         (check_class_interface_creation):  input_filename is not addressable.
3392         (create_artificial_method):  Calling java_parser_context_save_global
3393         and java_parser_context_restore_global is overkill.  Instead,
3394         temporarily set input_location from class decl.
3395         (java_layout_seen_class_methods): Set input_location from method decl.
3396         (fix_constructors): Make more robust if no EXPR_WITH_FILE_LOCATION.
3397         (finish_loop_body):  Likewise.
3398         * lex.c: Updates for USE_MAPPED_LOCATION.  Use build_unknwon_wfl.
3399         (java_sprint_unicode):  Take a character, not index in line.
3400         (java_sneak_uncode):  Replaced by java_peek_unicode.
3401         (java_unget_unicode):  No longer used.
3402         (java_allocate_new_line. java_store_unicode):  Removed, since we
3403         no longer remember "lines".
3404         (java_new_lexer):  Update for new data structures.
3405         (java_read_char):  Move unget_value checking to java_read_unicode.
3406         (java_get_unicode, java_peek_unicode, java_next_unicode): New more
3407         efficient functions that are used directly when lexing.
3408         (java_read_unicode_collapsing_terminators):  No longer needed.
3409         (java_parse_end_comment, java_parse_escape_sequence, do_java_lex):
3410         Re-organize to use java_peek_unicode to avoid java_unget_unicode.
3411         (java_parse_escape_sequence):  Rewrite to be simpler / more efficient.
3412         (do_java_lex):  Lots of movings around to avoid java_unget_unicode,
3413         combine switch branches, and test for common token kinds earlier.
3414         (java_lex_error):  Rewrite.
3415         * jv-scan.c (expand_location): New function, copied from tree.c.
3416         (main): Set ctxp->filename instead of setting input_filename directly.
3417
3418 2004-09-30  Per Bothner  <per@bothner.com>
3419
3420         More cleanup for --enable-mapped-location.
3421         * class.c (push_class):  If USE_MAPPED_LOCATION don't set
3422         input_location here.  Instead do it in give_name_to_class.
3423         (build_class_ref):  Set DECL_ARTIFICIAL, for the sake of dwarf2out.
3424         * expr.c (expand_byte_code): Call linemap_line_start.
3425         * expr.c (build_expr_wfl):  If USE_MAPPED_LOCATION, change final
3426         parameters to a source_location.  Don't need EXPR_WFL_FILENAME_NODE.
3427         (expr_add_location):  New function, if USE_MAPPED_LOCATION.
3428         * class.c (maybe_layout_super_class):  Adjust build_expr_wfl call
3429         to USE_MAPPED_LOCATION case.
3430
3431         * java-tree.h (JAVA_FILE_P, ZIP_FILE_P):  Remove unused macros.
3432         * jcf-parse.c (java_parse_file): Don't set input_filename.
3433         Use IS_A_COMMAND_LINE_FILENAME_P to check for duplicate filenames.
3434         Create a list of TRANSLATION_UNIT_DECL.
3435         (current_file_list):  Is now a TRANSLATION_UNIT_DECL chain.  The
3436         reason is so we can set a DECL_SOURCE_LOCATION for each file.
3437         (java_parse_file):  Don't set unused ZIP_FILE_P, JAVA_FILE_P..
3438         Create line-map LC_ENTER/LC_LEAVE entries for archive itself.
3439         (file_start_location):  New static.
3440         (set_source_filename):  Avoid extra access to input_filename macro.
3441         Concatenate new name with class's package prefix.
3442         (set_source_filename, give_name_to_class): Update.
3443         (give_name_to_class):  Set class's "line 0" input_location here.
3444         (parse_class_file):  Set input_location as a unit.
3445
3446         * jcf-parse.c (load_class): Sanity test if missing inner class file.
3447
3448 2004-09-29  Per Bothner  <per@bothner.com>
3449
3450         * java-tree.h:  Redefine some macros and add some declaration
3451         to handle the USE_MAPPED_LOCATION case.
3452         * parse.h (EXPR_WFL_QUALIFICATION):  Use operand 1, not 2.
3453         * java-tree.h (EXPR_WFL_FILENAME_NODE):  Use operand 2, not 1.
3454         * java-tree.def (EXPR_WITH_FILE_LOCATION): Only need two operands in
3455         USE_MAPPED_LOCATION case, since EXPR_WFL_FILENAME_NODE is gone.
3456
3457         * check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
3458         * decl.c (finish_method, java_add_stmt): Likewise.
3459         * java-gimplify.c (java-gimplify.c):  Likewise.
3460         * jcf-write.c (generate_bytecode_insns):  Likewise.
3461         * lang.c (java_post_options): Likewise - call linemap_add.
3462
3463 2004-09-29  Andrew Haley  <aph@redhat.com>
3464
3465         PR java/17007
3466         * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
3467         result of TRUNC_MOD_EXPR.
3468         (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
3469         * decl.c (java_init_decl_processing): Mark
3470         soft_lookupinterfacemethod_node and soft_instanceof_node pure.
3471
3472 2004-09-28  Tom Tromey  <tromey@redhat.com>
3473
3474         PR java/15710:
3475         * class.c (add_miranda_methods): Load superinterface if not
3476         already loaded.
3477
3478 2004-09-28  Andrew Haley  <aph@redhat.com>
3479
3480         PR java/17586
3481         * jcf-parse.c (load_class): Don't try to read a class that we've
3482         already read.
3483
3484 2004-09-28  Andrew Haley  <aph@redhat.com>
3485
3486         * jcf-parse.c (load_class): Back out previous broken patch.
3487
3488 2004-09-28  Andrew Haley  <aph@redhat.com>
3489
3490         PR java/17586
3491         * jcf-parse.c (load_class): Don't try to read a class that we've
3492         already read.
3493         Check that we really did read the right class.
3494
3495 2004-09-25  Tom Tromey  <tromey@redhat.com>
3496
3497         PR java/17500:
3498         * parse.y (create_artificial_method): Use add_method_1.
3499
3500 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
3501
3502         * expr.c, jcf-dump.c, parse-scan.y, parse.y: Fix
3503         comment typos.
3504         * gcj.texi: Fix typos.
3505
3506 2004-09-24  Tom Tromey  <tromey@redhat.com>
3507
3508         PR java/15656:
3509         * parse.y (class_instance_creation_expression): Set `$$' to NULL
3510         in error parts of rule.
3511         (unary_expression): Don't call error_if_numeric_overflow when $1
3512         is NULL.
3513
3514 2004-09-24  Tom Tromey  <tromey@redhat.com>
3515
3516         PR java/16789:
3517         * parse.y (resolve_qualified_expression_name): Set
3518         CAN_COMPLETE_NORMALLY on first call when chaining static calls.
3519         * expr.c (force_evaluation_order): Check for empty argument list
3520         after stripping COMPOUND_EXPR.
3521
3522 2004-09-23  Andrew Haley  <aph@redhat.com>
3523
3524         PR java/16927:
3525         * parse.y (java_complete_lhs): Call patch_string() on Operand 1 of
3526         COND_EXPRs.
3527
3528 2004-09-23  Tom Tromey  <tromey@redhat.com>
3529
3530         PR java/17329:
3531         * java-gimplify.c (java_gimplify_expr) <SAVE_EXPR>: Ignore case
3532         where operand is null.
3533
3534 2004-09-23  Tom Tromey  <tromey@redhat.com>
3535
3536         PR java/17380:
3537         * parse.y (not_accessible_p): Allow access to protected members
3538         even when class is not static.
3539
3540 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
3541
3542         * Make-lang.in: Revert the gcc-none.o change.
3543
3544 2004-09-22  Nathan Sidwell  <nathan@codesourcery.com>
3545
3546         * parse.y (patch_anonymous_class): VEC_space returns true if there
3547         is space.
3548
3549 2004-09-21  Matt Austern  <austern@apple.com>
3550
3551         Fix bootstrap.
3552         * gjavah.c (free_method_name_list): Fix function definition so
3553         it's a proper C prototype.
3554
3555 2004-09-21  Tom Tromey  <tromey@redhat.com>
3556
3557         PR java/17575:
3558         * gjavah.c (free_method_name_list): New method.
3559         (main): Call it.
3560
3561 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
3562             Zack Weinberg  <zack@codesourcery.com>
3563
3564         * java-tree.def: Use tree_code_class enumeration constants
3565         instead of code letters.
3566         * java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
3567         new tree-class enumeration constants.
3568
3569 2004-09-13  Tom Tromey  <tromey@redhat.com>
3570
3571         PR java/17216:
3572         * class.c (layout_class_method): Put synthetic methods into the
3573         vtable.
3574
3575 2004-09-11  Andrew Pinski  <apinski@apple.com>
3576
3577         * Make-lang.in (java/ggc-none.c): Change dependency
3578         for ggc.h into $(GGC_H).
3579
3580 2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
3581
3582         * Make-lang.in (java/win32-host.o): Add dependency on
3583         coretypes.h.
3584         * win32-host.c: Add includes for coretypes.h, jcf.h
3585
3586 2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
3587
3588         * Make-lang.in (GCJH_OBJS): Change dependency from
3589         ggc-none.o to java/ggc-none.o
3590         (JCFDUMP_OBJS): Likewise.
3591         (java/ggc-none.o): New target.
3592
3593 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
3594
3595         * boehm.c (get_boehm_type_descriptor):  Adjust build_int_cst calls.
3596         * class.c (build_utf8_ref, build_static_field_ref,
3597         make_field_value, make_method_value, get_dispatch_table,
3598         make_class_data, emit_symbol_table, emit_catch_table): Likewise.
3599         * constants.c (get_tag_node, build_ref_from_constant_pool,
3600         build_constants_constructor): Likewise.
3601         * decl.c (java_init_decl_processing): Likewise.
3602         * expr.c (build_java_array_length_access, build_newarray,
3603         expand_java_multianewarray, expand_java_pushc, expand_iinc,
3604         build_java_binop, build_field_ref, expand_java_add_case,
3605         expand_java_call, build_known_method_ref, build_invokevirtual,
3606         build_invokeinterface, build_jni_stub): Likewise.
3607         * java-gimplify.c (java_gimplify_new_array_init): Likewise.
3608         * jcf-parse.c (get_constant): Likewise.
3609         * lex.c (do_java_lex): Likewise.
3610         * parse.y (patch_binop, patch_unaryop, patch_cast,
3611         build_newarray_node, patch_newarray): Likewise.
3612         * resource.c (compile_resource_data): Likewise.
3613         * typeck.c (build_prim_array_type): Likewise.
3614
3615 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
3616
3617         * decl.c (java_init_decl_processing): Adjust
3618         initialize_sizetypes call.
3619
3620 2004-08-23  Nathan Sidwell  <nathan@codesourcery.com>
3621
3622         * jv-scan.c (fancy_abort): Add.
3623
3624 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
3625
3626         * expr.c (build_java_arrayaccess): Use convert to change
3627         len's type.
3628
3629 2004-08-19  Bryce McKinlay  <mckinlay@redhat.com>
3630
3631         * class.c (make_local_function_alias): Allocate extra space for 'L'
3632         in name buffer. Reported by Thomas Neumann.
3633
3634 2004-08-19  Nathan Sidwell  <nathan@codesourcery.com>
3635
3636         * parse.h (JAVA_RADIX10_FLAG): Rename to ...
3637         (JAVA_NOT_RADIX10_FLAG): ... here.  Invert meaning.
3638         * lex.c (do_java_lex): Adjust.
3639         (error_if_numeric_overflow): Likewise.
3640
3641 2004-08-18  Andrew Pinski  <apinski@apple.com>
3642
3643         * class.c (make_local_function_alias): Only make a new decl if we
3644         support alias attribute on all decls.
3645
3646 2004-08-18  Bryce McKinlay  <mckinlay@redhat.com>
3647
3648         * class.c (make_local_function_alias): New function. Create local
3649         alias for public method DECL.
3650         (make_method_value): Use make_local_function_alias.
3651         * parse.y (craft_constructor): Don't special-case anonymous classes.
3652         Always set ctor_name to init_identifier_node.
3653         (lookup_method_invoke): Call layout_class_method when creating
3654         anonymous class constructor.
3655
3656 2004-08-18  Richard Henderson  <rth@redhat.com>
3657
3658         * java-gimplify.c (java_gimplify_expr): Move '2' handling into
3659         default case.  Treat '<' similarly.  Update for
3660         is_gimple_formal_tmp_var name change.
3661
3662 2004-08-17  Andrew Haley  <aph@redhat.com>
3663
3664         * lang.c (lang_printable_name): Obey verbose flag.
3665         * parse.y (constructor_circularity_msg): Set VERBOSE arg for
3666         lang_printable_name().
3667         (verify_constructor_circularity, get_printable_method_name,
3668         check_abstract_method_definitions, java_check_regular_methods,
3669         java_check_abstract_methods, check_inner_class_access,
3670         fix_constructors, patch_method_invocation, patch_return):
3671         Likewise.
3672         * expr.c (pop_type_0): Likewise.
3673
3674         * java-tree.h (lang_printable_name_wls): Delete.
3675
3676 2004-08-16  Tom Tromey  <tromey@redhat.com>
3677
3678         PR java/8473:
3679         * parse.y (primary): Changed for initialized and uninitialized
3680         array creations.
3681         (array_access): Handle array_creation_initialized.
3682         (array_creation_expression): Split into
3683         array_creation_initialized and array_creation_uninitialized.
3684
3685 2004-08-16  Andrew Haley  <aph@redhat.com>
3686
3687         * jcf-write.c (find_constant_index): Canonicalize NaNs when
3688         generating bytecode.
3689
3690 2004-08-16  Elliot Lee <sopwith@redhat.com>
3691
3692         PR java/9677
3693         * jcf-parse.c (java_parse_file): Handle filenames with embedded
3694         spaces, and quoted filelists.
3695
3696 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
3697
3698         * boehm.c (get_boehm_type_descriptor): Use build_int_cst.
3699         * class.c (build_utf8_ref, build_static_field_ref,
3700         make_field_value, make_method_value, get_dispatch_table,
3701         make_class_data, emit_symbol_table, emit_catch_table): Likewise.
3702         * constants.c (get_tag_node,  build_ref_from_constant_pool,
3703         build_constants_constructor): Likewise.
3704         * decl.c (java_init_decl_processing): Likewise.
3705         * expr.c (build_java_array_length_access, build_newarray,
3706         expand_java_multianewarray, expand_java_pushc, expand_iinc,
3707         build_java_binop, build_field_ref, expand_java_add_case,
3708         expand_java_call, build_known_method_ref, build_invokevirtual,
3709         build_invokeinterface, build_jni_stub): Likewise.
3710         * java-gimplify.c (java_gimplify_new_array_init): Likewise.
3711         * jcf-parse.c (get_constant): Likewise.
3712         * lex.c (do_java_lex): Likewise.
3713         * parse.y (patch_binop, patch_unaryop, patch_cast,
3714         build_null_of_type, patch_newarray): Likewise.
3715         * resource.c (compile_resource_data): Likewise.
3716         * typeck.c (build_prim_array_type): Likewise.
3717
3718 2004-08-10  Bryce McKinlay  <mckinlay@redhat.com>
3719
3720         * java-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var.
3721         Don't create BLOCK here or call java_gimplify_block.
3722
3723 2004-08-09  H.J. Lu  <hongjiu.lu@intel.com>
3724
3725         * java-tree.h (flag_deprecated): Removed.
3726         * lang.opt (Wdeprecated): Use existing Var(warn_deprecated).
3727         * parse.y (check_deprecation): Check warn_deprecated instead of
3728         flag_deprecated.
3729
3730 2004-08-06  Kelley Cook  <kcook@gcc.gnu.org>
3731
3732         * lang.c (flag_emit_class_files, flag_filelist_file, flag_redundant,
3733         flag_use_divide_subroutine, flag_use_boehm_gc, flag_store_check,
3734         flag_hash_synchronization, flag_assert, flag_jni, flag_newer,
3735         flag_check_references, flag_extraneous_semicolon, flag_deprecated,
3736         flag_force_classes_archive_check, flag_optimize_sci,
3737         flag_indirect_dispatch): Remove explicit declarations.
3738         * lang.opt: Add implicit declare/define/assign.  Remove obsolete
3739         final comment.
3740
3741 2004-08-05  Michael Chastain  <mec.gnu@mindspring.com>
3742
3743         PR bootstrap/14893
3744         * Make-lang.in (java.install-man): Install from either build
3745         tree or source tree, whichever has the file first.
3746
3747 2004-08-05  Nathan Sidwell  <nathan@codesourcery.com>
3748
3749         * jcf-parse.c (get_constant): Adjust force_fit_type call.
3750         * lex.h (SET_LVAL_NODE_TYPE): Remove.
3751         * lex.c (java_perform_atof): Use SET_LVAL_NODE directly.
3752         (do_java_lex): Likewise. Adjust force_fit_type call.
3753
3754 2004-08-04  Roger Sayle  <roger@eyesopen.com>
3755             Andrew Haley  <aph@redhat.com>
3756
3757         * typeck.c (convert_ieee_real_to_integer): Call fold on the range
3758         checking trees as they're being built.
3759         (convert): Call convert_ieee_real_to_integer if we're
3760         converting a constant, even if we're writing a class file.
3761
3762 2004-08-02  Bryce McKinlay  <mckinlay@redhat.com>
3763
3764         PR java/16701
3765         * parse.y (fold_constant_for_init): Call resolve_field_access with
3766         correct current_class context.
3767
3768 2004-08-01  Roger Sayle  <roger@eyesopen.com>
3769
3770         * decl.c (update_aliases, initialize_local_variable): Replace calls
3771         to build with calls to buildN.
3772         * java-gimplify.c (java_gimplify_modify_expr): Likewise.
3773         * java-tree.h (BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Likewise.
3774         * parse.h (BUILD_THROW): Likewise.
3775         * parse.y (switch_expression, synchronized_statement,
3776         catch_clause_parameter, array_creation_expression,
3777         conditional_expression, make_qualified_name,
3778         resolve_qualified_expression_name, patch_method_invocation,
3779         patch_invoke, build_method_invocation, build_new_invocation,
3780         build_assignment, patch_assignment, build_binop, patch_binop,
3781         build_string_concatenation, build_incdec, patch_unaryop,
3782         patch_cast, build_array_ref, build_newarray_node, patch_newarray,
3783         patch_return, build_if_else_statement, build_labeled_block,
3784         build_new_loop, build_loop_body, build_bc_statement,
3785         build_assertion, encapsulate_with_try_catch, build_try_statement,
3786         build_try_finally_statement, patch_synchronized_statement,
3787         emit_test_initialization): Likewise, replace build with buildN.
3788
3789 2004-07-28  Eric Christopher  <echristo@redhat.com>
3790
3791         * lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
3792         (java_unsafe_for_reeval): Ditto.
3793
3794 2004-07-26    <hp@bitrange.com>
3795
3796         * parse.y (build_super_invocation): Adjust declaration order to
3797         avoid declaration after statement.
3798
3799 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
3800
3801         * decl.c: Rename all identifiers named `class' to `cl'.
3802
3803 2004-07-25  Richard Henderson  <rth@redhat.com>
3804
3805         * decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P.
3806
3807 2004-07-23  Mike Stump  <mrs@apple.com>
3808
3809         * boehm.c (set_bit): Improve type safety wrt unsignedness.
3810         * gjavah.c (throwable_p, decode_signature_piece,
3811         print_full_cxx_name, print_include, add_namelet, add_class_decl,
3812         process_file): Likewise.
3813         * jcf-dump.c (main): Likewise.
3814         * jcf-io.c (read_zip_member): Likewise.
3815         * jcf-parse.c (HANDLE_CONSTANT_Utf8, get_constant,
3816         give_name_to_class, get_class_constant): Likewise.
3817         * jcf-write.c (find_constant_wide, push_long_const,
3818         generate_classfile): Likewise.
3819         * lex.c (java_new_lexer, java_read_char, cxx_keyword_p): Likewise.
3820         * parse.y (read_import_dir): Likewise.
3821         * typeck.c (parse_signature_type): Likewise.
3822         * verify.c (verify_jvm_instructions): Likewise.
3823         * zextract.c (find_zip_file_start, read_zip_archive): Likewise.
3824
3825 2004-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>
3826
3827         * Make-lang.in: Replace rmic and rmiregistry references with
3828         grmic and grmiregistry.
3829         * gcj.texi: Likewise.
3830
3831 2004-07-20  Andrew Haley  <aph@redhat.com>
3832
3833         PR java/16431.
3834         * verify.c (verify_jvm_instructions): Comment change only.
3835
3836         * typeck.c (build_java_array_type): Add size field to array name.
3837
3838         * java-tree.h (LOCAL_SLOT_P): New.
3839         (update_aliases): Add PC argument.
3840         (pushdecl_function_level): New function.
3841
3842         * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
3843         MODIFY_EXPR, and SAVE_EXPR.
3844         (java_gimplify_modify_expr): New function.
3845
3846         * expr.c (push_type_0): Call find_stack_slot() to create temporary.
3847         (expand_iinc): Pass PC to update_aliases().
3848         (STORE_INTERNAL): Likewise.
3849         (process_jvm_instruction): Likewise.
3850
3851         * decl.c (base_decl_map): New variable.
3852         (uniq): New variable.
3853         (update_aliases): Rewrite with more thorough checking.
3854         (debug_variable_p): New function.
3855         (push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
3856         (check_local_named_variable): Delete whole function.
3857         (initialize_local_variable): New function.
3858         (check_local_unnamed_variable): Add checks and comments.
3859         (find_local_variable): Rewrite.
3860         (java_replace_reference): New function.
3861         (function_binding_level): New variable.
3862         (pushdecl_function_level): New function.
3863         (maybe_pushlevels): Set DECL_LOCAL_END_PC.
3864         (maybe_pushlevels): Call pushdecl() on each of the new decls.
3865         (start_java_method): Reset uniq.  Create base_decl_map.  Set
3866         function_binding_level.
3867         (end_java_method): Null unused fields to save memory.
3868
3869 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
3870
3871         * class.c (add_interface_do): Remove.
3872         (set_super_info, interface_of_p, maybe_add_interface,
3873         add_interface, make_class_data, layout_class,
3874         add_miranda_methods): Adjust BINFO accessors and addition.
3875         * expr.c (can_widen_reference_to, lookup_field): Adjust BINFO
3876         accessors.
3877         * jcf-write.c (generate_classfile): Likewise.
3878         * parse.y (patch_anonymous_class, check_inner_circular_reference,
3879         check_circular_reference, java_complete_class,
3880         check_abstract_method_definitions,
3881         java_check_abstract_method_definitions,
3882         check_interface_throws_clauses, java_check_abstract_methods,
3883         lookup_java_interface_method2,
3884         find_applicable_accessible_methods_list): Adjust BINFO accessors
3885         and addition.
3886         * typeck.c (find_method_in_interfaces): Adjust BINFO accessors.
3887
3888 2004-07-18  Roger Sayle  <roger@eyesopen.com>
3889
3890         * builtins.c (max_builtin, min_builtin,
3891         java_build_function_call_expr): Replace calls to build with buildN.
3892         * class.c (build_class_ref, build_static_field_ref,
3893         get_dispatch_table, make_class_data, layout_class_method): Likewise.
3894         * constants.c (build_ref_from_constant_pool): Likewise.
3895         * decl.c (update_aliases, push_jvm_slot, poplevel, finish_method,
3896         add_stmt_to_compound): Likewise.
3897         * except.c (build_exception_object_ref, expand_end_java_handler):
3898         Likewise.
3899         * java-gimplify.c (java_gimplify_case_expr,
3900         java_gimplify_default_expr, java_gimplify_block,
3901         java_gimplify_new_array_init, java_gimplify_try_expr): Likewise.
3902         * jcf-write.c (generate_bytecode_insns): Likewise.
3903         * typeck.c (convert_ieee_real_to_integer): Likewise.
3904
3905 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
3906
3907         * java-tree.h (builtin_function): Declare.
3908
3909 2004-07-16  Steven Bosscher  <stevenb@suse.de>
3910
3911         * parse.y (java_complete_expand_methods, java_expand_classes): Don't
3912         abuse restore_line_number_status.
3913
3914 2004-07-15  Frank Ch. Eigler  <fche@redhat.com>
3915
3916         g++/15861
3917         * jcf-parse.c (java_emit_static_constructor): Specify default
3918         priority.
3919
3920 2004-07-13  Per Bothner  <per@bothner.com>
3921
3922         * java-tree.h (all_class_filename):  Remove useless macro.
3923         (enum java_tree_index):  Remove JTI_ALL_CLASS_FILENAME constant.
3924         (BUILD_FILENAME_IDENTIFIER_NODE):  Remove useless macro.
3925         * parse.y (java_parser_context_restore_global):  Replace
3926         BUILD_FILENAME_IDENTIFIER_NODE by plain get_identifier.
3927         * jcf-parse.c (read_class, java_parse_file):  Likewise.
3928
3929 2004-07-12  Bryce McKinlay  <mckinlay@redhat.com>
3930
3931         PR java/16474
3932         gjavah.c (print_field_info): Emit constant only if field is static.
3933
3934 2004-07-11  Roger Sayle  <roger@eyesopen.com>
3935
3936         * expr.c (java_truthvalue_conversion, flush_quick_stack,
3937         java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr,
3938         build_java_ret, build_java_throw_out_of_bounds_exception,
3939         build_java_array_length_access, java_check_reference,
3940         build_java_arrayaccess, build_java_arraystore_check, build_newarray,
3941         build_anewarray, expand_java_multianewarray, expand_java_arraystore,
3942         expand_java_arrayload, build_java_monitor, expand_java_return,
3943         expand_load_internal, expand_java_NEW, build_get_class,
3944         build_instanceof, expand_java_CHECKCAST, expand_iinc,
3945         build_java_soft_divmod, build_java_binop, build_field_ref,
3946         expand_compare, expand_java_goto, expand_java_switch,
3947         expand_java_add_case, build_class_init, build_known_method_ref,
3948         invoke_build_dtable, build_invokevirtual, build_invokeinterface,
3949         expand_invoke, build_jni_stub, expand_java_field_op,
3950         java_expand_expr, expand_byte_code, STORE_INTERNAL,
3951         force_evaluation_order, emit_init_test_initialization): Convert
3952         calls to "build" into calls to the prefered "buildN" functions.
3953
3954 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
3955
3956         * java-tree.h (set_block): Remove.
3957         * lang.c (java_clear_binding_stack): New.
3958         (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
3959         * decl.c (struct binding_level): Remove this_block.
3960         (clear_binding_level): Likewise.
3961         (poplevel): Don't handle this_block.
3962         (set_block): Remove.
3963
3964 2004-07-10  Bryce McKinlay  <mckinlay@redhat.com>
3965
3966         * class.c (common_enclosing_context_p): Remove statement with no
3967         side-effects.
3968
3969 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
3970
3971         PR java/8618
3972         * parse.y (create_anonymous_class): Remove 'location' argument. Use
3973         the WFL from TYPE_NAME to get line number for the decl. Fix comment.
3974         (craft_constructor): Inherit access flags for implicit constructor
3975         from the enclosing class.
3976         (create_class): Fix comment typo.
3977         (resolve_qualified_expression_name): Pass type of qualifier to
3978         not_accessible_p, not the type in which target field was found.
3979         (not_accessible_p): Handle inner classes. Expand protected
3980         qualifier-subtype check to enclosing instances, but don't apply this
3981         check to static members. Allow protected access to inner classes
3982         of a subtype. Allow private access within common enclosing context.
3983         (build_super_invocation): Get WFL line number info from current
3984         class decl.
3985         (build_incomplete_class_ref): Update for new create_anonymous_class
3986         signature.
3987         * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Use
3988         common_enclosing_instance_p.
3989         * class.c (common_enclosing_context_p): New. Determine if types
3990         share a common enclosing context, even across static contexts.
3991         (common_enclosing_instance_p): Renamed from
3992         common_enclosing_context_p. Determines if types share a common
3993         non-static enclosing instance.
3994         * java-tree.h (common_enclosing_instance_p): Declare.
3995         * jcf-write.c (get_method_access_flags): New. Surpress private flag
3996         for inner class constructors.
3997         (generate_classfile): Use get_method_access_flags.
3998
3999 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
4000
4001         * class.c (interface_of_p): Check for null TYPE_BINFO.
4002
4003 2004-07-09  Nathan Sidwell  <nathan@codesourcery.com>
4004
4005         * class.c (make_class): Do not create binfo here.
4006         (set_super_info): Create it here.
4007         * java-tree.h (CLASS_HAS_SUPER): Cope with lack of a binfo.
4008
4009 2004-07-08  Richard Henderson  <rth@redhat.com>
4010
4011         * expr.c (case_identity, get_primitive_array_vtable,
4012         java_expand_expr, emit_init_test_initialization): Remove.
4013         * java-tree.h (java_expand_expr): Remove.
4014         * lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
4015
4016 2004-07-07  Per Bothner  <per@bothner.com>
4017
4018         * class.c (build_static_field_ref):  Add a NOP_EXPR; otherwise we
4019         get internal error due to mismatched types.
4020
4021         * gcj.texi (Invoking gij):  Document new -verbose:class flag.
4022
4023