OSDN Git Service

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