OSDN Git Service

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