OSDN Git Service

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