OSDN Git Service

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