OSDN Git Service

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