OSDN Git Service

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