OSDN Git Service

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