OSDN Git Service

* tree-alias-common.h (struct tree_alias_ops): Change ip and
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
1 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
2
3         * jcf.h (struct JCF): Change java_source, right_zip and finished
4         to unsigned int.
5         * lex.h (struct java_lexer): Change hit_eof, read_anything,
6         byte_swap and use_fallback to unsigned int.
7         * parse.h (struct _jdep): Change flag0 to unsigned int.
8
9 2004-06-17  Ranjit Mathew  <rmathew@hotmail.com>
10
11         Fixes PR java/13948
12         * parse.y (java_layout_seen_class_methods): Ensure class is loaded
13         before trying to lay out its methods.
14         * jcf-parse.c (read_class): Track parsed files using canonical paths
15         obtained via lrealpath from libiberty.
16         (java_parse_file): Likewise.
17         (parse_source_file_1): Rename formal parameter to reflect its
18         modified purpose. Minor formatting fix.
19
20 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
21
22         * class.c (emit_register_classes): Make the function uninlinable,
23         do not set current_function_cannot_inline.
24         * resource.c (write_resource_constructor): Do not reset
25         flag_inline_functions around rest_of_compilation.
26         
27 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
28
29         PR java/15769
30         * expr.c (java_truthvalue_conversion): Handle
31         UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
32         ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
33         i.e. return the expression.
34
35 2004-06-03 Mark G. Adams  <mark.g.adams@sympatico.ca>
36
37         * gjavah.c: Include version.h
38
39 2004-05-31  Bryce McKinlay  <mckinlay@redhat.com>
40
41         * jcf-write.c (generate_bytecode_conditional): Correct handling
42         of unordered conditionals. Add comment.
43
44 2004-05-29  Ranjit Mathew  <rmathew@hotmail.com>
45             Per Bothner  <per@bothner.com>
46
47         * java-tree.h (DECL_LOCAL_FINAL_IUD): New macro to test if a
48         local variable was initialised upon declaration.
49         * parse.y (declare_local_variables): Set DECL_LOCAL_FINAL_IUD if
50         variable was final and initialised upon declaration.
51         * check-init.c (check_final_reassigned): Give error only if a blank
52         final is not definitely unassigned or if an initialised final is
53         reassigned.
54         (check_bool_init): Respect JLS2 16.1.7 requirements for boolean
55         assignment expressions. Remove case MODIFY_EXPR, label do_default.
56         (check_init): Perform initialised-variable-removing-optimisation
57         only on non-final local variables.
58
59 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
60
61         * jcf-write.c (generate_bytecode_conditional): Handle binops 
62         UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, 
63         and LTGT_EXPR.
64         (generate_bytecode_insns): Likewise.
65
66 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
67
68         * check-init.c (check_init): Handle binops UNLT_EXPR, UNLE_EXPR,
69         UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, and LTGT_EXPR.
70
71 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
72
73         * gcj.texi (Object allocation): Remove _Jv_AllocBytes.
74         (Mixing with C++): Document JvAllocBytes and RawDataManaged.
75
76 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
77
78         * decl.c (struct binding_level): Add GTY marker. Compile
79         binding_depth unconditionally.
80         (current_binding_level, free_binding_level, global_binding_level):
81         Likewise.
82         (clear_binding_level): Unconditionally set binding_depth.
83         (make_binding_level): Use ggc_alloc_cleared, not xmalloc.
84
85 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
86
87         * lex.c (java_new_lexer): Set 'encoding'.
88         (java_read_char): Improve error message for unrecognized characters.
89         * lex.h (struct java_lexer): New field 'encoding'.
90
91 2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
92
93         * Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
94
95 2004-05-21  Mark Wielaard  <mark@klomp.org>
96
97         * gjavah.c (print_stub_or_jni): Mark functions only JNIEXPORT, not
98         extern.
99
100 2004-05-19  Paolo Bonzini  <bonzini@gnu.org>
101
102         * typeck.c: Remove non-printable character 160.
103
104 2004-05-17  Ranjit Mathew  <rmathew@hotmail.com>
105
106         * check-init.c: Correct minor typos.
107
108 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
109
110         * Make-lang.in, expr.c, java-gimplify.c: Rename
111         tree-simple.[ch] to tree-gimple.[ch].
112
113 2004-05-14  Ranjit Mathew  <rmathew@hotmail.com>
114
115         * java-gimplify.c (java_gimplify_expr): Correct minor typos.
116
117 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
118
119         Merge from tree-ssa-20020619-branch.  See
120         ChangeLog.tree-ssa for details.
121
122         * Make-lang.in, builtins.c, check-init.c, class.c,
123         constants.c, decl.c, except.c, expr.c, java-except.h,
124         java-tree.def, java-tree.h, jcf-parse.c, jcf-write.c,
125         lang.c, lang.opt, parse.y, resource.c: Merged.
126         * java-gimplify.c: New file.
127
128 2004-05-10  Andrew Haley  <aph@redhat.com>
129
130         * parse.y (create_class): Set TYPE_VFIELD.
131         * decl.c (java_init_decl_processing): Likewise.
132
133         * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
134         * class.c (make_method_value): Replace DECL_VINDEX with call to
135         get_method_index().
136         (get_dispatch_vector): Likewise.
137         (layout_class_method): Likewise.
138         Replace set of DECL_VINDEX with call to set_method_index().
139         (set_method_index): New function.
140         (get_method_index): New function.
141         * java-tree.h (set_method_index): New function decl.
142         (get_method_index): New function decl.
143
144 2004-05-10  Andrew Pinski  <pinskia@physics.uc.edu>
145
146         * parse.y (check_pkg_class_access): Add new argument
147         and use it when cl is NULL to call lookup_cl on it.
148         (parser_check_super_interface): Do not call lookup_cl.
149         Pass this_decl to check_pkg_class_access and NULL
150         instead of lookup_cl.
151         (parser_check_super): Update for change in
152         check_pkg_class_access.
153         (do_resolve_class): Likewise.
154         (process_imports): Likewise.
155         (find_in_imports_on_demand): Likewise.
156         (resolve_qualified_expression_name): Likewise.
157
158 2004-05-06  Ranjit Mathew  <rmathew@hotmail.com>
159
160         Fixes PR java/9685, PR java/15073
161         * parse.y (accessibility_string): New method.
162         (not_accessible_field_error): Use accessibility_string()
163         instead of java_accstring_lookup().
164         (resolve_qualified_expression_name): Check with
165         check_pkg_class_access() before allowing access using
166         qualified names.
167         Fix comment typo.
168         Use check_pkg_class_access() instead of not_accessible_p()
169         for unqualified types.
170         (not_accessible_p): Use DECL_CONTEXT (member) instead of 
171         REFERENCE for package-private access checking.
172         (patch_method_invocation): Use accessibility_string() instead
173         of java_accstring_lookup().
174
175 2004-04-30  Ranjit Mathew  <rmathew@hotmail.com>
176
177         Fixes PR java/15133
178         * gjavah.c (struct method_name): Add member is_native.
179         (overloaded_jni_method_exists_p): Match candidate method only if
180         it is native.
181         (print_method_info): Initialise is_native flag from the method's
182         access flags.
183
184 2004-04-30  Roger Sayle  <roger@eyesopen.com>
185
186         * builtins.c (java_builtins): Add acos, asin, ceil and floor.
187         (initialize_builtins): Likewise, define acos, asin, ceil and floor.
188
189 2004-04-22  Roger Sayle  <roger@eyesopen.com>
190
191         * resource.c (write_resource_constructor): Guard call to possibly
192         NULL targetm.asm_out.constructor with targetm.have_ctors_dtors.
193
194 2004-04-19  Bryce McKinlay  <mckinlay@redhat.com>
195
196         * class.c (make_class_data): Add new field aux_info.
197         * decl.c (java_init_decl_processing): Push type and decl for 
198         `aux_info'.
199
200 2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>
201
202         * expr.c (expand_java_NEW): Don't use size argument for 
203         _Jv_AllocObject calls.
204         * parse.y (patch_invoke): Likewise.
205
206 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
207
208         * expr.c (build_invokeinterface): Remove unused variables to
209         fix warnings.
210
211 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
212
213         * class.c (get_interface_method_index): New function. Return dispatch 
214         index for interface method.
215         (make_method_value): For interface methods, set index field to
216         iface dispatch index, not DECL_VINDEX.
217         * expr.c (build_invokeinterface): Use get_interface_method_index.
218
219 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
220
221         * jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
222
223 2004-03-31  Andrew Haley  <aph@redhat.com>
224
225         PR java/14104
226         * jcf-io.c (opendir_in_zip): Tidy up error handling.
227
228 2004-03-30  Zack Weinberg  <zack@codesourcery.com>
229
230         * builtins.c, expr.c, jcf.h, parse.h: Use new shorter
231         form of GTY markers.
232
233 2004-03-25  Marcus Meissner  <meissner@suse.de>
234
235         PR java/14689:
236         * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
237
238 2004-03-23  Tom Tromey  <tromey@redhat.com>
239
240         PR java/14315:
241         * jcf-write.c (make_class_file_name): Don't report if mkdir
242         failed with EEXIST.
243
244 2004-03-23  Tom Tromey  <tromey@redhat.com>
245
246         * gcj.texi (Extensions): Document GCJ_PROPERTIES.
247
248 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
249
250         * class.c, gjavah.c, lang.c: Fix comment typos.
251         * gcj.texi: Fix typos.
252
253 2004-03-19  Per Bothner  <per@bothner.com>
254
255         * gcj.texi (Code Generation):  Document new flags and assert defaults.
256
257         * class.c (assume_compiled_node_struct):  Rename type to
258         class_flag_node_struct, as it is now also used for enable_assertions.
259         Rename assume_compiled_node typedef.  Rename excludep field to value.
260         (find_assume_compiled_node):  Rename function to find_class_flag_node.
261         Minor optimization - avoid needless strlen.
262         (add_assume_compiled):  Some tweaking and optimization.
263         Rename and generalize to add_class_flag takem an extra parameter.
264         (add_assume_compled):  New just calls add_class_flag.
265         (add_enable_assert, enable_assertions):  New functions.
266         (enable_assert_tree):  New static.
267         * java-tree.h (add_enable_assert, enable_assertions): New declarations.
268         * lang.opt (fenable-assertions, fenable-assertions=,
269         fdisable-assertions, fdisable-assertions=):  New options.
270         * lang.c (java_handle_option):  Handle new options.
271         * parse.y (build_incomplete_class_ref):  Handle class$ in an inner
272         class in an interface - create helper class nested in outer interface.
273         (build_assertion):  Short-circuit if enable_assertions is false.
274
275 2004-03-18  Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
276
277         * java-tree.h: Changes throughout to add checking to macros
278         and numerous whitespace changes.
279         (VAR_OR_FIELD_CHECK): New macro.
280         * jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC,
281         FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL.
282
283 2004-03-16  Per Bothner  <per@bothner.com>
284
285         * jcf-jump.c (options):  New --print-constants option.
286         * gcj.texi (Invoking jcf-dump):  Document --print-constants.
287
288         * jcf-dump.c (flag_print_constant_pool):  Default to off.
289         (print_constant_terse_with_index):  New helper function.
290         (various places):  Check flag_print_constant_pool where missing.
291         (main):  If verbose set flag_print_constant_pool.
292         (HANDLE_INNERCLASSES_ATTRIBUTE):  Null inner class name is anonymous.
293
294 2004-03-15  Andrew Haley  <aph@redhat.com>
295
296         PR java/14581
297         * parse.y (java_complete_lhs): Check that final variable has an
298         initializer.
299
300 2004-03-12  Andrew Haley  <aph@redhat.com>
301
302         PR java/14551
303         * typeck.c (convert): Clear TREE_OVERFLOW after an integer
304         conversion.
305
306 2004-02-29  Roger Sayle  <roger@eyesopen.com>
307
308         * jcf-parse.c (java_parse_file): Handle the case that input_filename
309         is NULL.
310
311 2004-02-27  Per Bothner  <per@bothner.com>
312
313         * parse.y (build_assertion):  Re-do 02-25 change following Jeff Sturm
314         suggestion:  Use build_incomplete_class_ref.
315         This fixes PR java/13508, java/11714.
316
317 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
318
319         * java/parse.h: Update copyright.
320
321 2004-02-26  Andrew Haley  <aph@redhat.com>
322
323         PR java/14231:
324         * parse.y (check_interface_throws_clauses): Check for
325         !METHOD_INVISIBLE (iface_method).
326         * class.c (layout_class_methods): Check for CLASS_INTERFACE as
327         well as CLASS_ABSTRACT.
328
329 2004-02-25  Per Bothner  <per@bothner.com>
330
331         * parse.y (build_assertion):  If we're in an inner class, create the
332         class$ helper routine in the outer class.
333
334 2004-02-19  Richard Henderson  <rth@redhat.com>
335
336         * parse.y (switch_label): Use make_node for DEFAULT_EXPR.
337
338 2004-02-16  Geoffrey Keating  <geoffk@apple.com>
339
340         * Make-lang.in (java.install-man): Add extra dependencies.
341
342 2004-02-13  Geoffrey Keating  <geoffk@apple.com>
343
344         * Make-lang.in: Install man pages under the same names
345         (possibly transformed) as the program they document.
346
347 2004-02-10  Joseph S. Myers  <jsm@polyomino.org.uk>
348
349         * gjavah.c: Include "intl.h".
350         (error): New function.
351         (main): Call gcc_init_libintl.
352         (get_field_name, throwable_p, print_c_decl, print_full_cxx_name,
353         print_stub_or_jni, process_file, main): Use error rather than
354         fprintf.
355         (print_method_info, usage, help, version, main): Mark strings for
356         translation with _.  Avoid splitting up sentences.  Send
357         information messages to stdout.
358         * jcf-dump.c: Include "intl.h".
359         (main): Call gcc_init_libintl.
360         (process_class, usage, help, version, main, CHECK_PC_IN_RANGE):
361         Mark error, usage and version messages for translation with _.
362         Avoid splitting up sentences.
363         * jv-scan.c: Include "intl.h".
364         (fatal_error, warning): Change parameter s to msgid.  Translate
365         messages.
366         (main): Call gcc_init_libintl.
367         (usage, help, version): Mark error, usage and version messages for
368         translation with _.  Avoid splitting up sentences.
369         * jvgenmain.c: Include "intl.h".
370         (main): Call gcc_init_libintl.
371         (usage, main): Mark error messages for translation with _.
372         * Make-lang.in (GCJH_OBJS, JVSCAN_OBJS, JCFDUMP_OBJS,
373         JVGENMAIN_OBJS): Add intl.o.
374         (java/jcf-dump.o, java/gjavah.o, java/jv-scan.o,
375         java/jvgenmain.o): Update dependencies.
376
377 2004-02-08  Per Bothner  <per@bothner.com>
378
379         * parse.y (resolve_qualified_expression_name):  In case of inaccessible
380         class don't use not_accessible_field_error, which can get confused.
381
382 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
383
384         Make-lang.in (po-generated):  Delete.
385
386 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
387
388         * Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
389         Depend on target.h.
390         * decl.c: Include target.h.
391         (start_java_method): Replace PROMOTE_PROTOTYPES with
392         targetm.calls.promote_prototypes.
393         * expr.c: Include target.h.
394         (pop_arguments): Replace PROMOTE_PROTOTYPES with
395         targetm.calls.promote_prototypes.
396         * parse.y: Include target.h.
397         (start_complete_expand_method): Replace PROMOTE_PROTOTYPES
398         with targetm.calls.promote_prototypes.
399
400 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
401
402         * typeck.c: Update copyright.
403
404 2004-02-02  Tom Tromey  <tromey@redhat.com>
405
406         * decl.c (java_init_decl_processing): Remove duplicate
407         gnu/gcj/RawData.
408
409 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
410
411         * Make-lang.in (doc/gcj.dvi): Use $(abs_docdir).
412
413 2004-01-28  Andrew Pinski  <pinskia@physics.uc.edu>
414
415         * expr.c (build_field_ref): Move variable
416         definition up.
417
418 2004-01-28  Andrew Haley  <aph@redhat.com>
419
420         * expr.c (build_field_ref): Widen field offset.
421
422 2004-01-27  Andrew Haley  <aph@redhat.com>
423
424         java/13273
425         * parse.y (check_interface_throws_clauses): Make sure class_decl
426         has been loaded.
427
428 2004-01-22  Jeff Sturm  <jsturm@one-point.com>
429
430         PR java/13733
431         * parse.y (patch_assignment): Don't modify lhs_type for
432         reference assignments.
433
434 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
435
436         * Make-lang.in: Replace $(docdir) with doc.
437         (java.info, java.srcinfo, java.man, java.srcman): New rules.
438         (java.install-man): Revamp rule.
439
440 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
441
442         * Make-lang.in (JAVA_INSTALL_NAME, JAVA_TARGET_INSTALL_NAME,
443         GCJH_TARGET_INSTALL_NAME): Define via a immediate $(shell)
444         instead of deferred backquote.
445
446 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
447
448         * typeck.c (find_method_in_interfaces): Move variable
449         definition up.
450
451 2004-01-16  Andrew Haley  <aph@redhat.com>
452
453         PR java/13273:
454         * typeck.c (shallow_find_method): New.
455         (find_method_in_superclasses): New.
456         (find_method_in_interfaces): New.
457         (lookup_do): Rewrite.
458         * java-tree.h (SEARCH_ONLY_INTERFACE): Delete.
459
460         * jcf-parse.c (read_class): Save and restore output_class.
461         * decl.c (java_expand_body): Set output_class from fndecl.
462
463 2004-01-15  Michael Chastain  <mec.gnu@mindspring.com>
464
465         * class.c (gen_indirect_dispatch_tables): Fix string length
466         calculations.
467
468 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
469
470         * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
471         (java.srcextra): Copy above back to source directory if requested.
472         (po-generated): Delete reference to $(parsedir).
473         (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
474         Use implicit rule.
475
476 2004-01-14  Jan Hubicka  <jh@suse.cz>
477
478         * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
479         estimation.
480
481 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
482
483         * java-tree.h (java_expand_expr): Change prototype.
484         * expr.c (java_expand_expr): Add alt_rtl parameter.
485
486 2004-01-09  Andrew Haley  <aph@redhat.com>
487
488         PR java/12755:
489         * parse.y (java_fix_constructors):  Set output_class.
490         (java_reorder_fields): Likewise.
491         (java_layout_classes): Likewise.
492         (java_expand_classes): Generate indirect dispatch tables.
493         (java_expand_classes): Set output_class.
494         (java_finish_classes): Likewise.
495         * lang.c (java_init): Turn on always_initialize_class_p if we're
496         using indirect dis[atch.
497         (java_decl_ok_for_sibcall): Use output_class, not current_class.
498         (java_get_callee_fndecl): Use class local atable.
499         * jcf-parse.c
500         (always_initialize_class_p): Decl moved to java-tree.h.
501         (HANDLE_CLASS_INFO): Set output_class.
502         (read_class): Likewise.
503         (parse_class_file): Call gen_indirect_dispatch_tables.
504         (parse_zip_file_entries): Set output_class.
505         (java_parse_file): Set output_class.  Don't emit symbol tables.
506         * java-tree.h (output_class): New.
507         Remove global declarations for otable, atable, and ctable.
508         (always_initialize_class_p): moved here from decl.c.
509         (DECL_OWNER): New.
510         (TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL,
511         TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL,
512         TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New.
513         (struct lang_type): Add otable_methods, otable_decl,
514         otable_syms_decl, atable_methods, atable_decl, atable_syms_decl,
515         ctable_decl, catch_classes, type_to_runtime_map.
516         * expr.c (build_field_ref): Make otable, atable, and ctable class
517         local rather than global.
518         (build_known_method_ref): Likewise.
519         (build_invokeinterface): Likewise.
520         (java_expand_expr): Pass runtime type (rather than actual type) to
521         expand_start_catch.
522         * except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for
523         this class.  Look up each class in that map to delete duplicates.
524         (expand_end_java_handler): Pass runtime type (rather than actual
525         type) to expand_start_catch.
526         * decl.c: (always_initialize_class_p): Decl moved to java-tree.h.
527         (do_nothing): New.
528         (java_init_decl_processing): Rearrange things.  Remove global
529         declarations of otable, atable, and ctable.
530         (java_init_decl_processing): Make lang_eh_runtime_type do_nothing.
531         (java_expand_body): Set output_class.
532         * constants.c (build_constant_data_ref): Use output_class, not
533         current_class.
534         (alloc_name_constant): Likewise.
535         * class.c (gen_indirect_dispatch_tables): New.
536         (build_class_ref): Generate hard reference to superclass, even if
537         using indirect dispatch.
538         (build_static_field_ref): Use class local atable.
539         (make_class_data): Generate hard reference to superclass, even if
540         using indirect dispatch.
541         Generate symbolic references to interfaces when using indirect
542         dispatch.
543         (make_class_data): Emit otable, atable, and ctable.
544         Make otable, atable, and ctable class local rather than global.
545         (emit_catch_table): Make otable, atable, and ctable class local
546         rather than global.
547
548 2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
549
550         * parse.y (catch_clause_parameter): Fix typo.
551
552         PR java/13404
553         * parse.y: (catch_clause_parameter): Return early if $3, aka
554         formal_parameter, is null.
555
556 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
557
558         * class.c: Remove uses of "register" specifier in
559         declarations of arguments and local variables.
560         * decl.c: Likewise.
561         * expr.c: Likewise.
562         * gjavah.c: Likewise.
563         * jcf-dump.c: Likewise.
564         * jcf-io.c: Likewise.
565         * jcf-parse.c: Likewise.
566         * jcf-write.c: Likewise.
567         * keyword.h: Likewise.
568         * parse.y: Likewise.
569         * typeck.c: Likewise.
570         * verify.c: Likewise.
571
572 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
573
574         * Make-lang.in (GCJ_CROSS_NAME): Delete.
575         (java.install_common, java.install-man): Adjust for above.
576         (java.uninstall): Likewise.
577
578 2003-12-03  Michael Koch  <konqueror@gmx.de>
579
580         * class.c (make_class_data):
581         Push field value to 'hack_signers' instead of 'signers'.
582         * decl.c (java_init_decl_processing):
583         Push field 'hack_signers' instead of 'signers'.
584
585 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
586
587         * lex.h: Check both HAVE_ICONV and HAVE_ICONV_H before
588         including iconv.h.
589
590 2003-12-03  Ralph Loader  <rcl@ihug.co.nz>
591
592         PR java/12374:
593         * parse.y (qualify_ambiguous_name): Remove lots of broken
594         field access processing - there's no need to do that here,
595         because we have resolve_field_access.  Remove
596         RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
597         * java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
598         used.
599
600 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
601
602         Fix PR java/13237
603         * parse.y (java_complete_lhs): Save location prior to patching
604         CALL_EXPR.
605
606 2003-11-25  Mohan Embar  <gnustuff@thisiscool.com>
607
608         PR java/12548
609         * resource.c (write_resource_constructor): Append
610         "_resource" to constructor identifier name.
611
612 2003-11-25  Jeff Sturm  <jsturm@one-point.com>
613
614         Fix PR java/13183.
615         * constants.c (cpool_for_class): New function.
616         (outgoing_cpool): Remove global variable.
617         (alloc_name_constant): Use cpool_for_class.
618         (build_constants_constructor): Likewise.
619         * decl.c (java_expand_body): Set current_class.
620         * java-tree.h (outgoing_cpool) Remove declaration.
621         (init_outgoing_cpool): Likewise.
622         * jcf-parse.c (init_outgoing_cpool): Remove function.
623         (parse_class_file): Don't call init_outgoing_cpool.
624         * parse.y (java_complete_expand_methods): Don't call
625         init_outgoing_cpool.  Don't save outgoing_cpool.
626         (java_expand_classes): Don't restore outgoing_cpool.
627         (java_finish_classes): Likewise.
628
629 2003-11-24  Mohan Embar  <gnustuff@thisiscool.com>
630
631         * Make-lang.in: (java.install-common) Add
632         symlink for $(target_noncanonical)-gcjh for
633         native builds.
634
635 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
636
637         * Make-lang.in (java.extraclean): Delete.
638
639 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
640
641         * Make-lang.in (check-java): Add.
642
643 2003-11-19  Jeff Sturm  <jsturm@one-point.com>
644
645         Fix PR java/13024.
646         * except.c (prepare_eh_table_type): Allocate variable-sized
647         buffer `buf' with alloca.
648
649 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
650
651         Fix PR java/12857.
652
653         decl.c (java_init_decl_processing): Don't initialize
654         class_not_found_type_node, no_class_def_found_type_node.
655
656         java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE,
657         JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index.
658         (class_not_found_type_node, no_class_def_found_type_node):
659         Don't define.
660
661         parse.y (build_dot_class_method_invocation): Add this_class
662         argument.  Qualify method invocations to a different class.
663         (create_new_parser_context): Initialize saved_data_ctx to 0.
664         (java_parser_context_save_global): Initialize saved_data_ctx to 1.
665         (build_dot_class_method): Don't load classes.  Register
666         incomplete types.
667         (build_incomplete_class_ref): Special cases for interfaces
668         and inner classes.  Move build_dot_class_method call to here...
669         (patch_incomplete_class_ref): ...from here.  Pass current_class
670         to build_dot_class_method_invocation.
671         (build_assertion): Pass class_type to
672         build_dot_class_method_invocation.
673         (encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node.
674
675 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
676
677         Fix PR java/12739.
678         * java-tree.h (BLOCK_EMPTY_P): Define.
679         * parse.y (java_complete_lhs): Check for empty blocks
680         in TRY_FINALLY_EXPR case.
681
682 2003-11-17  Andrew Haley  <aph@redhat.com>
683
684         * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
685         (struct lang_decl_var:freed): New variable.
686         * decl.c (poplevel): Mark local vars that have gone out of scope.
687         (push_jvm_slot): Don't use the RTL of a var that has gone out of
688         scope.
689
690 2003-11-16  Jason Merrill  <jason@redhat.com>
691
692         * Make-lang.in (java.tags): Create TAGS.sub files in each directory
693         and TAGS files that include them for each front end.
694
695 2003-11-15  Tom Tromey  <tromey@redhat.com>
696
697         * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
698
699 2003-11-12  Jason Merrill  <jason@redhat.com>
700
701         PR optimization/12547
702         * lang.c (java_tree_inlining_walk_subtrees): Just walk
703         BLOCK_EXPR_BODY directly.
704
705 2003-11-12  Andrew Haley  <aph@redhat.com>
706
707         PR java/11045
708         * parse.y (fold_constant_for_init): Check that we really do have a
709         constant.
710
711         PR java/11533
712         * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
713         init_test_decls being inlined.
714
715         PR java/12890:
716         * parse.y (do_resolve_class): Check return value from
717         breakdown_qualified().
718
719 2003-11-11  Tom Tromey  <tromey@redhat.com>
720
721         PR java/12915:
722         * parse.y (merge_string_cste): Handle case where we have a
723         pointer that happens to be zero, not null_pointer_node.
724
725 2003-11-10  Tom Tromey  <tromey@redhat.com>
726
727         * jcf-parse.c (classify_zip_file): Correctly compare
728         filename_length against length of manifest file's name.
729
730 2003-11-08  Tom Tromey  <tromey@redhat.com>
731
732         PR java/12894:
733         * jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.
734
735 2003-11-06  Andrew Haley  <aph@redhat.com>
736
737         * expr.c (java_stack_swap): Make sure destination stack slots are
738         of the correct type.
739
740 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
741
742         * Make-lang.in (dvi): Move targets to $(docobjdir).
743         (gcj.dvi): Simplify rule and adjust target.
744         (gcj.info): Simplify rule.
745         (gcj.pod): New intermediate rule.
746         (gcjh.pod): Likewise.
747         (jv-scan.pod): Likewise.
748         (jcf-dump.pod): Likewise.
749         (gij.pod): Likewise.
750         (jv-convert.pod): Likewise.
751         (rmic.pod): Likewise.
752         (rmiregistry.pod): Likewise.
753         (gcj.1): Delete.
754         (gcjh.1): Delete.
755         (jv-scan.1): Delete.
756         (jcf-dump.1): Delete.
757         (gij.1): Delete.
758         (jv-convert.1): Delete.
759         (rmic.1): Delete.
760         (rmiregistry.1): Delete.
761
762 2003-11-02  Jeff Sturm  <jsturm@one-point.com>
763
764         Fixes PR java/12866.
765         * parse.y (resolve_qualified_expression_name): Move test
766         for outer field access methods from here...
767         (check_thrown_exceptions) ...to here.
768
769 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
770
771         * .cvsignore: Delete.
772
773 2003-10-28  Frank Ch. Eigler  <fche@redhat.com>
774
775         * verify.c (verify_jvm_instructions): Don't warn about legal
776         eh binding regions generated for example by jdk 1.4.1.
777
778 2003-10-24  David S. Miller  <davem@redhat.com>
779
780         * jcf-parse.c (jcf_parse): Fix args to fatal_error().
781
782 2003-10-22  Andrew Haley  <aph@redhat.com>
783
784         * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
785         (java_get_callee_fndecl): New.
786
787         * jcf-parse.c (java_parse_file): Call emit_catch_table().
788
789         * java-tree.h (ctable_decl): New.
790         (catch_classes):  New.
791         (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
792
793         * decl.c (java_init_decl_processing): Add catch_class_type.
794         Add ctable_decl.
795         Add catch_classes field.
796
797         * class.c (build_indirect_class_ref): Break out from
798         build_class_ref.
799         (make_field_value): Check flag_indirect_dispatch.
800         (make_class_data): Ditto.
801         Tidy uses of PUSH_FIELD_VALUE.
802         Add field catch_classes.
803         (make_catch_class_record): New.
804
805         * java-tree.h (PUSH_FIELD_VALUE): Tidy.
806
807 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
808
809         * jcf-write.c: Follow spelling conventions.
810         * parse.y: Likewise.
811
812 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
813
814         * ChangeLog: Fix typos.
815         * expr.c: Fix comment typos.
816         * jcf-write.c: Likewise.
817         * lang.c: Likewise.
818         * lex.c: Likewise.
819         * mangle.c: Likewise.
820         * parse-scan.y: Likewise.
821         * parse.y: Likewise.
822
823 2003-10-22  Tom Tromey  <tromey@redhat.com>
824
825         * expr.c (expand_byte_code): Only warn about dead bytecode when
826         extra_warnings is set.
827
828 2003-10-22  Bryce McKinlay  <bryce@mckinlay.net.nz>
829
830         Fix for PR java/12586.
831         * mangle.c (find_compression_record_match): Don't iterate through
832         package namespace elements unless they all match compression_table
833         entries.
834
835 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
836
837         * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
838         (generate-manpages): Likewise.
839         (java.maintainer-clean): Likewise.
840         (gcj.info): Likewise.
841         (gcj.1): Likewise.
842         (gcjh.1): Likewise.
843         (jv-scan.1): Likewise.
844         (jcf-dump.1): Likewise.
845         (gij.1): Likewise.
846         (jv-convert.1): Likewise.
847         (rmic.1): Likewise.
848         (rmiregistry.1): Likewise.
849         (java.install-man): Likewise.
850         (parse-scan.o): Move and define complete compile line.
851         (parse.o): Likewise.
852         (jcf-tree-inline.o): Move.
853
854 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
855
856         * Make-lang.in (info): Update dependencies.
857         (java.install-info): Remove.
858         ($(srcdir)/java/gcj.info): Replace with ...
859         ($(docobjdir)/gcj.info): ... this.
860
861 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
862
863         * Make-lang.in: Replace uses of $(target_alias) with
864         $(target_noncanonical).
865
866 2003-10-09  Tom Tromey  <tromey@redhat.com>
867
868         * decl.c (java_init_decl_processing): Declare signers field.
869         * class.c (make_class_data): Set signers field.
870
871 2003-10-09  Jason Merrill  <jason@redhat.com>
872
873         * parse.y (patch_assignment): Use make_node to create a BLOCK.
874         * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
875         POINTER_TYPE.
876
877 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
878
879         * Make-lang.in (java.info): Replace with ...
880         (info): ... this.
881         (java.dvi): Replace with ...
882         (dvi): ... this.
883         (java.generated-manpages): Replace with ...
884
885 2003-10-03  Kelley Cook  <kelleycook@wideopenwest.com>
886
887         * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
888
889 2003-10-01  Andrew Haley  <aph@redhat.com>
890
891         * jcf-parse.c (java_parse_file): Write otable and atable.
892         * java-tree.h (atable_methods): New.
893         (atable_decl): New.
894         (atable_syms_decl): New.
895         (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
896         JTI_ATABLE_SYMS_DECL.  Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
897         (symbol_*type): Rename method_symbol* to symbol*type.
898         (emit_offset_symbol_table): Delete.
899         (emit_symbol_table): New.
900         (get_symbol_table_index): New.
901         (atable_type): New.
902         * expr.c (build_field_ref): Handle flag_indirect_dispatch.
903         (build_known_method_ref): Likewise.
904         (get_symbol_table_index): Rename from get_offset_table_index.
905         Parameterize to allow re-use by differing types of symbol table.
906         (build_invokevirtual): Pass table to get_offset_table_index.
907         * decl.c (java_init_decl_processing): Push types and decls for
908         atable and atable_syyms.
909         * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
910         (make_class_data): Add new fields atable and atable_syms.
911         (emit_symbol_table): Rename from emit_offset_symbol_table.
912         Parameterize to allow re-use by different types of symbol table.
913         (build_symbol_entry): Renamed from build_method_symbols_entry.
914
915 2003-09-30  Roger Sayle  <roger@eyesopen.com>
916
917         * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
918         semantics for SAVE_EXPR, by caching the result in a temporary.
919
920 2003-09-28  Richard Henderson  <rth@redhat.com>
921
922         * check-init.c (check_init): Save and restore input_location
923         instead of file and line separately.
924         * decl.c (java_expand_body): Likewise.
925         * jcf-write.c (generate_bytecode_insns): Likewise.
926         * parse.y (safe_layout_class): Likewise.
927         * jcf-parse.c (read_class, parse_class_file): Likewise.
928         (java_parse_file): Use %H for warning locator.
929
930 2003-09-28  Roger Sayle  <roger@eyesopen.com>
931
932         * expr.c (java_check_reference): Use the semantics of COND_EXPRs
933         with void-type branches instead of using a COMPOUND_EXPR.
934
935 2003-09-28  Jeff Sturm  <jsturm@one-point.com>
936
937         * decl.c (java_optimize_inline, dump_function): Remove.
938         * java-tree.h (java_optimize_inline): Remove declaration.
939         * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
940         * parse.y (source_end_java_method, java_expand_classes):
941         Likewise.  Remove dead code.
942
943 2003-09-27  Roger Sayle  <roger@eyesopen.com>
944
945         * lang.c (java_init_options): Set flag_evaluation_order.
946         * expr.c (force_evaluation_order): Don't attempt to force
947         evaluation order of binary operations using save_expr.
948         * parse.y (java_complete_lhs): No longer need to call
949         force_evaluation_order when constructing binary operators.
950
951 2003-09-27  Alexandre Petit-Bianco  <apbianco@redhat.com>
952             Bryce McKinlay  <bryce@mckinlay.net.nz>
953
954         PR java/1333:
955         * parse.y (not_accessible_field_error): New function.
956         (resolve_expression_name): Check field access permissions.
957         (resolve_qualified_expression_name): Use
958         not_accessible_field_error.
959         (resolve_qualified_expression_name): Likewise.
960
961 2003-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
962
963         * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
964
965 2003-09-23  Roger Sayle  <roger@eyesopen.com>
966
967         * jcf-write.c (generate_bytecode_insns): Optimize binary operations
968         with equal operands without side-effects.
969
970 2003-09-22  Jeff Sturm  <jsturm@one-point.com>
971
972         * decl.c (java_init_decl_processing): Don't emit otable decls
973         if flag_indirect_dispatch is not set.
974
975 2003-09-21  Richard Henderson  <rth@redhat.com>
976
977         * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
978         resource.c: Revert.
979
980 2003-09-21  Richard Henderson  <rth@redhat.com>
981
982         * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
983         resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
984
985 2003-09-20  Richard Henderson  <rth@redhat.com>
986
987         * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
988
989 2003-09-18  Roger Sayle  <roger@eyesopen.com>
990
991         * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
992         * check-init.c (check_init): Likewise.
993
994 2003-09-18  Roger Sayle  <roger@eyesopen.com>
995
996         * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
997
998 2003-09-16  Andrew Haley  <aph@redhat.com>
999
1000         * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
1001
1002 2003-09-17  Ranjit Mathew  <rmathew@hotmail.com>
1003
1004         Fixes PR java/9577
1005         * mangle.c (find_compression_record_match): Skip
1006         over a "6JArray" (the array template mangled string)
1007         IDENTIFIER_NODE.
1008         (mangle_array_type): Correct minor typo.
1009         (atms): Move definition to the beginning.
1010
1011 2003-09-16  Bryce McKinlay  <bryce@mckinlay.net.nz>
1012
1013         * class.c (add_miranda_methods): Ensure super-interfaces are laid
1014         out. Fix for PR java/12254.
1015
1016 2003-09-11  Richard Henderson  <rth@redhat.com>
1017
1018         * parse.y (source_end_java_method): Update for new
1019         cgraph_finalize_function argument.
1020
1021 2003-09-09  Richard Henderson  <rth@redhat.com>
1022
1023         * parse.y (source_end_java_method): Update call to
1024         cgraph_finalize_function.
1025
1026 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
1027
1028         * decl.c (java_expand_body): New function.
1029         * expr.c (build_class_init): Set DECL_IGNORED_P.
1030         * java-tree.h (start_complete_expand_method,
1031         java_expand_body): Declare.
1032         * jcf-parse.c (cgraph.h): Include.
1033         (java_parse_file): Handle flag_unit_at_a_time.
1034         * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
1035         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1036         (java_estimate_num_insns): Use walk_tree_without_duplicates.
1037         (java_start_inlining): New function.
1038         * parse.h (java_finish_classes): Declare.
1039         * parse.y: Include cgraph.h.
1040         (block): Don't special-case empty block production.
1041         (craft_constructor): Set DECL_INLINE.
1042         (source_end_java_method): Handle flag_unit_at_a_time.
1043         Replace inline code with call to java_expand_body.
1044         (start_complete_expand_method): Remove static modifier.
1045         (java_expand_method_bodies): Patch function tree for
1046         class initialization and/or synchronization as needed.
1047         Don't begin RTL expansion yet.
1048         (java_expand_classes): Check flag_unit_at_a_time before
1049         calling finish_class.
1050         (java_finish_classes): New function.
1051         (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
1052         (patch_assignment): Set DECL_CONTEXT on temporary variable.
1053         (emit_test_initialization): Set DECL_IGNORED_P.
1054
1055 2003-09-03  Roger Sayle  <roger@eyesopen.com>
1056
1057         * builtins.c (enum builtin_type): Delete unused enumeration.
1058         * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
1059
1060 2003-08-28  Tom Tromey  <tromey@redhat.com>
1061
1062         * gcj.texi (Extensions): Document gcjlib URLs.
1063
1064 2003-08-20  Tom Tromey  <tromey@redhat.com>
1065
1066         * gcj.texi (Extensions): Added xref.
1067         (libgcj Runtime Properties): Document
1068         gnu.gcj.runtime.VMClassLoader.library_control.
1069
1070 2003-08-20  Andrew Haley  <aph@redhat.com>
1071
1072         * except.c (prepare_eh_table_type): Use new encoding for exception
1073         handlers when using -fno-assume-compiled.
1074
1075 2003-08-13  Tom Tromey  <tromey@redhat.com>
1076
1077         * gcj.texi (Invoking gij): Document -X and -?.
1078
1079 2003-08-13  Mohan Embar  <gnustuff@thisiscool.com>
1080
1081         * Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
1082         GCJH_OBJS, JCFDUMP_OBJS
1083         * win32-host.c: Removed the unnecessary and broken dependency
1084         on jcf.h
1085
1086 2003-08-11  Tom Tromey  <tromey@redhat.com>
1087
1088         * parse.y (java_check_regular_methods): Typo fixes.  Call
1089         check_interface_throws_clauses.  Use
1090         check_concrete_throws_clauses.
1091         (check_interface_throws_clauses): New function.
1092         (check_concrete_throws_clauses): New function.
1093         (hack_is_accessible_p): New function.
1094         (find_most_specific_methods_list): Added FIXME.
1095         * typeck.c (lookup_do): Use `flags' argument to decide what to
1096         do.  Reimplemented.
1097         (lookup_argument_method_generic): New function.
1098         (lookup_argument_method2): Removed.
1099         * jcf.h (ACC_INVISIBLE): New define.
1100         * jcf-write.c (generate_classfile): Skip invisible methods.
1101         * class.c (add_miranda_methods): New function.
1102         (layout_class_methods): Use it.
1103         (get_access_flags_from_decl): Use ACC_INVISIBLE.
1104         * java-tree.h (METHOD_INVISIBLE): New define.
1105         (lang_decl_func) [invisible]: New field.
1106         (lookup_argument_method_generic): Declare.
1107         (SEARCH_INTERFACE): New define.
1108         (SEARCH_SUPER): Likewise.
1109         (SEARCH_ONLY_INTERFACE): Likewise.
1110         (SEARCH_VISIBLE): Likewise.
1111         (lookup_argument_method2): Removed declaration.
1112
1113 2003-08-05  Tom Tromey  <tromey@redhat.com>
1114
1115         Fix for PR java/11600:
1116         * parse.y (java_complete_lhs): See whether we're calling a method
1117         on an array.
1118         (check_thrown_exceptions): Added `is_array_call' argument;
1119         fixed `clone' checking; updated all callers.
1120
1121 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
1122
1123         * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
1124
1125 2003-08-03  Tom Tromey  <tromey@redhat.com>
1126
1127         * java-tree.h (METHOD_TRANSIENT): Removed.
1128         * decl.c (pushdecl): Removed some dead code.
1129         * class.c (get_access_flags_from_decl): Can't have transient
1130         method.
1131         (add_method_1): Can't have a transient method.
1132
1133 2003-07-28  Andreas Jaeger  <aj@suse.de>
1134
1135         * jvspec.c: Convert to ISO C90 prototypes.
1136
1137 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
1138
1139         * decl.c (force_poplevels): Fix warning call.
1140
1141 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1142
1143         * expr.c (expand_java_field_op): Don't use xxx_with_decl
1144         (expand_java_field_op): Likewise.
1145         * class.c (layout_class_method): Likewise
1146         (emit_register_classes): Likewise.
1147         * decl.c (pushdecl): Likewise.
1148         (poplevel): Likewise.
1149         (force_poplevels): Likewise.
1150         (give_name_to_locals): Likewise.
1151         * check-init.c (check_for_initialization): Likewise.
1152
1153 2003-07-24  Jason Merrill  <jason@redhat.com>
1154
1155         * java-tree.h: Move boolean_type_node et al to the back end.
1156
1157 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1158
1159         * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
1160         casts.
1161
1162 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
1163
1164         * lang.opt: Don't show -MD_ and -MDD_.
1165
1166 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
1167
1168         * lang-options.h: Remove.
1169         * lang.opt: Add help text.
1170
1171 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
1172
1173         * expr.c: Remove the last argument to expand_assignment().
1174
1175 2003-07-09  Jan Hubicka  <jh@suse.cz>
1176
1177         * java-tree.h (DECL_NUM_STMTS): Rename to...
1178         (DECL_ESTIMATED_INSNS): ... this.
1179         * lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
1180         New static functions.
1181         (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
1182         * parser.y (add_stmt_to_compound): Do not account statements.
1183
1184 2003-07-08  Mark Wielaard  <mark@klomp.org>
1185
1186         * gcj.texi: CNI now expands to Compiled Native Interface.
1187
1188 2003-07-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1189
1190         * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
1191
1192 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
1193
1194         * expr.c (expand_byte_code): Adjist emit_line_note call.
1195
1196 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
1197
1198         * lang.c (java_handle_option): Don't handle filenames.
1199
1200 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
1201
1202         * jcf-path.c: Don't default-define PATH_SEPARATOR nor
1203         DIR_SEPARATOR.
1204         Use FILENAME_CMP.
1205         * jcf-write.c: Don't default-define DIR_SEPARATOR.
1206         * jcf.h: Delete COMPARE_FILENAMES definition.
1207
1208 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
1209
1210         * lang.c (java_init_options): Update prototype.
1211
1212 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
1213
1214         * decl.c (poplevel): Adjust define_label call.
1215
1216 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
1217
1218         * gjavah.c (flag_jni): Make non-static.
1219         * parse-scan.y (ctxp): Make non-static.
1220
1221         * class.c (build_method_symbols_entry)
1222         * expr.c (get_offset_table_index)
1223         * jcf-parse.c (jcf_parse):
1224         Mark the definition static, matching the forward declaration.
1225
1226 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
1227
1228         * lang.c (java_handle_option): Don't check for missing arguments.
1229
1230 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
1231
1232         * class.c (push_class): Use a location_t to save place.
1233         (emit_register_classes): Set input_location. Adjust
1234         expand_function_end call.
1235         * resource.c (write_resource_constructor): Likewise.
1236         * decl.c (end_java_method): Adjust expand_function_end call.
1237         * parse.y (source_end_java_method): Likewise.
1238
1239 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
1240
1241         * lang.c (java_handle_option): Likewise.
1242
1243 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
1244
1245         * lang.c (java_handle_option): Special-casing of optional
1246         joined arguments no longer needed.
1247         * lang.opt: Update switches that take optional argument.
1248
1249 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
1250
1251         * lang.opt: Declare Java.
1252         * lang.c (java_init_options): Update.
1253
1254 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
1255
1256         * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
1257
1258 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
1259
1260         * lang-specs.h: Rewrite -MD and -MMD to append an underscore.
1261         * lang.c (java_handle_option): -MD and -MMD have an underscore.
1262         * lang.opt: -MD and -MMD have an underscore.
1263
1264 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
1265
1266         * class.c (emit_register_classes): Adjust init_function_start
1267         call.
1268         * decl.c (complete_start_java_method): Likewise.
1269         * resource.c (write_resource_constructor): Likewise.
1270
1271 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
1272
1273         * Make-lang.in: Update to use options.c and options.h.
1274         * lang.c: Include options.h not j-options.h.
1275         (java_handle_option): Abort on unrecognized option.
1276         (java_init_options): Request Java switches.
1277
1278 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
1279
1280         * Make-lang.in: Handle mostlyclean.
1281
1282 2003-06-11  Tom Tromey  <tromey@redhat.com>
1283
1284         * lang.c (java_handle_option): Update dependency_tracking for
1285         OPT_MF case.
1286
1287         * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
1288         empty argument.
1289
1290 2003-06-10  Andrew Haley  <aph@redhat.com>
1291
1292         * resource.c (write_resource_constructor): Use expand_expr to
1293         generate the address of the label attached to a resource.
1294         * Make-lang.in (java/resource.o): Add expr.h
1295
1296 2003-06-10  Andrew Haley  <aph@redhat.com>
1297
1298         * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1299         (java_decl_ok_for_sibcall): New.
1300
1301 2003-06-09  Neil Booth  <neil@daikokuya.co.uk>
1302
1303         * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
1304         (java/j-options.c, java/j-options.h): New.
1305         * java-tree.h (resource_name, compile_resource_file,
1306         compile_resource_data): Constify.
1307         * jcf-write.c (jcf_write_base_directory): Similarly.
1308         * jcf.h (jcf_write_base_directory): Similarly.
1309         * lang.c: Include j-options.h.
1310         (cl_options_count, cl_options, string_option, java_decode_option,
1311         lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
1312         process_option_with_no): Remove.
1313         (resource_name): Constify.
1314         (LANG_HOOKS_HANDLE_OPTION): Override.
1315         (java_handle_option): New.
1316         (java_init): Don't call jcf_path_init.
1317         (java_init_options): Call jcf_path_init.
1318         * lang.opt: New.
1319         * resource.c (compile_resource_data, compile_resource_file): Constify.
1320
1321 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
1322
1323         * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
1324         (struct lang_decl_func): Add last_line field.
1325         * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
1326         DECL_SOURCE_LINE_LAST): Remove.
1327         * parse.y (missing_return_error, finish_method_declaration,
1328         lookup_cl, start_artificial_method_body, source_end_java_method,
1329         start_complete_expand_method): Adjust.
1330
1331 2003-06-08  Tom Tromey  <tromey@redhat.com>
1332
1333         * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
1334         fno-assume-compiled.
1335
1336 2003-06-08  Roger Sayle  <roger@eyesopen.com>
1337
1338         * builtins.c (define_builtin_type, builtin_types): Delete.
1339         (define_builtin): Rewritten to take just the built-in code,
1340         the function's name, type and fallback library function name.
1341         All built-ins used by Java are implicit and BUILT_IN_NORMAL.
1342         (initialize_builtins): Overhaul to define the GCC builtins
1343         used by gcj manually, providing the Java run-time's
1344         implementations as the fallback library function.
1345
1346 2003-06-08  Anthony Green  <green@redhat.com>
1347
1348         * parse.y (patch_cast): Fix conversions from floating-point to
1349         integral types.
1350
1351 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
1352
1353         * Make-lang.in: Update.
1354         * lang.c: Include opts.h. Define cl_options_count and cl_options.
1355
1356 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
1357
1358         * lang.c (java_init_options): Update.
1359
1360 2003-06-05  Jan Hubicka  <jh@suse.cz>
1361
1362         * Make-lang.in:  Add support for stageprofile and stagefeedback
1363
1364 2003-05-31  Roger Sayle  <roger@eyesopen.com>
1365
1366         * lang.c (java_init_options): Prescribe wrap-around two's
1367         complement arithmetic overflow by setting flag_wrapv.
1368
1369 2003-05-29  Roger Sayle  <roger@eyesopen.com>
1370
1371         * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
1372         (builtin_record): Add an additional builtin_code field to
1373         record which GCC built-in corresponds to the Java function.
1374         (java_builtins):  Add new entries for atan, atan2, exp, log,
1375         pow and tan.
1376         (max_builtin, min_builtin, abs_builtin): Perform constant
1377         folding on the resulting tree.
1378         (java_build_function_call_expr): Likewise, perform constant
1379         folding on the resulting tree.
1380         (initialize_builtins): The NULL creators are now allowed in
1381         the java_builtins table, which is now terminated by an entry
1382         with builtin_code == END_BUILTINS.
1383         (check_for_builtin): Likewise.  If the matching creator is
1384         NULL, construct the call using java_build_function_call_expr
1385         directly with the decl for the corresponding builtin_code.
1386
1387 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1388
1389         * win32-host.c: Normalize copyright boilerplate.
1390
1391 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1392
1393         * parse.y (print_int_node): Use string concatentation on
1394         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
1395         function calls into one.
1396
1397 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
1398
1399         * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
1400         fatal_io_error with calls to fatal_error; add ": %m" to the end of
1401         all the affected error messages.
1402
1403 2003-05-13  Richard Henderson  <rth@redhat.com>
1404
1405         * class.c (layout_class_method): Set DECL_EXTERNAL.
1406         * decl.c (java_mark_decl_local, java_mark_class_local): New.
1407         * java-tree.h (java_mark_class_local): Declare.
1408         * jcf-parse.c (parse_class_file): Use it.
1409         * parse.y (java_expand_classes): Likewise.
1410
1411 2003-05-04  Nathan Sidwell  <nathan@codesourcery.com>
1412
1413         * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
1414         * lex.h: #include input.h.
1415         * jv-scan.c (input_filename): Remove.
1416
1417 2003-05-02  Tom Tromey  <tromey@redhat.com>
1418
1419         PR java/10491:
1420         * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
1421         (handle_inner_classes): New function.
1422
1423 2003-05-01  Tom Tromey  <tromey@redhat.com>
1424
1425         PR java/10459:
1426         * parse.y (finish_for_loop): Do nothing if update expression is a
1427         EXPR_WFL_NODE wrapping nothing.
1428         (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
1429
1430 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
1431
1432         * lex.h (input_lineno): Remove declaration.
1433         * parse-scan.y: #include input.h.
1434         (input_filename): Remove declaration.
1435         (input_location): Add definition.
1436         (input_line): Remove definition.
1437
1438 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
1439
1440         * lex.h (lineno): Rename to ...
1441         (input_line): ... here
1442         * parse-scan.y (lineno): Rename to ...
1443         (input_line): ... here.
1444         (reset_report): Rename lineno to input_line.
1445         * check-init.c (check_init): Likewise.
1446         * class.c (push_class): Likewise.
1447         * decl.c (complete_start_java_method, end_java_method): Likewise.
1448         * expr.c (expand_byte_code): Likewise.
1449         * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
1450         * jcf-write.c (generate_bytecode_insns): Likewise.
1451         * lex.c (java_init_lex, java_allocate_new_line,
1452         do_java_lex): Likewise.
1453         * parse.h (YYNOT_TWICE): Likewise.
1454         * parse.y (empty_statement, expression_statement,
1455         java_pop_parser_context, java_parser_context_save_global,
1456         yyerror, register_fields, method_header, safe_layout_class,
1457         find_in_imports_on_demand, create_artificial_method,
1458         source_end_java_method, start_complete_expand_method,
1459         build_thisn_assign, java_complete_lhs,
1460         maybe_absorb_scoping_block): Likewise.
1461
1462 2003-04-20  Mohan Embar  <gnustuff@thisiscool.com>
1463
1464         * jcf-io.c (find_class): use DIR_SEPARATOR instead of
1465         '/' when computing java source filename
1466
1467 2003-04-13  Tom Tromey  <tromey@redhat.com>
1468
1469         * gjavah.c (print_c_decl): Indentation fix.
1470
1471 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
1472
1473         * class.c (make_field_value, make_method_value, get_dispatch_table)
1474         (make_class_data, emit_offset_symbol_table)
1475         * constants.c (build_constants_constructor)
1476         * java-tree.h (START_RECORD_CONSTRUCTOR)
1477         * parse.y (maybe_build_array_element_wfl):
1478         Use build_constructor.
1479
1480 2003-04-10  Eric Blake  <ebb9@email.byu.edu>
1481
1482         PR java/10253:
1483         * parse.y (string_convert_int_cst): Always use at least one digit
1484         in string conversion. Remove ASCII dependence.
1485         (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
1486
1487 2003-03-16  Mohan Embar  <gnustuff@thisiscool.com>
1488
1489         * Make-lang.in: added win32-host.c
1490         * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
1491         resolves to open() on non-Win32 platforms and
1492         Win32-specific jcf_open_exact_case() on Win32
1493         * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
1494         when trying .java and .class files
1495         * win32-host.c: added to repository. Defines
1496         Win32-specific jcf_open_exact_case()
1497
1498 2003-04-10  Andrew Haley  <aph@redhat.com>
1499
1500         * jcf-write.c (struct jcf_partial): num_jsrs: new field.
1501         (maybe_free_localvar): Renamed from localvar_free.
1502         Add new arg, really.
1503         (generate_bytecode_insns): Set new variable, jsrs.
1504         Only free local vars if no jsr insns have been emittted.
1505         Call maybe_free_localvar, not localvar_free.
1506
1507 2003-03-30  Joseph S. Myers  <jsm@polyomino.org.uk>
1508
1509         * gcj.texi: Remove @ at start of file.
1510
1511 2003-03-25  Tom Tromey  <tromey@redhat.com>
1512
1513         * parse.y (create_interface): Call CHECK_DEPRECATED.
1514
1515 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
1516
1517         * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
1518
1519 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1520
1521         * javaop.h (jfloat, jdouble): Make them structures mirroring
1522         the bit fields of IEEE float and double respectively.
1523         (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
1524         JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
1525         (union Word, union DWord): Delete.
1526         (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
1527
1528         * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
1529         D_NAN_MASK): Delete.
1530         (jni_print_float, jni_print_double): New.  Generate
1531         hexadecimal floating constants.
1532         (print_field_info): Use jni_print_float/double.
1533
1534         * jcf-dump.c: Include math.h.  Use ldexp/frexp to assemble
1535         finite floating point numbers for output; special case
1536         non-finite floats.
1537
1538 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1539
1540         * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
1541         Replace 0 and 1 with true and false in return statements.
1542
1543 2003-03-19  Tom Tromey  <tromey@redhat.com>
1544
1545         * lex.c (do_java_lex): Renamed from java_lex.
1546         (java_lex): New function.
1547         Include timevar.h.
1548
1549 2003-03-13  Tom Tromey  <tromey@redhat.com>
1550
1551         * parse.y (resolve_inner_class): Error if qualifier is a primitive
1552         type.
1553
1554 2003-03-04  Andrew Haley  <aph@redhat.com>
1555
1556         * gjavah.c (is_first_data_member): New global variable.
1557         (print_c_decl): If it's the first data member, align it as the
1558         superclass.
1559         (process_file): Set is_first_data_member.
1560
1561 2003-03-11  Tom Tromey  <tromey@redhat.com>
1562
1563         * parse.y (resolve_field_access): Initialize class if field is
1564         found in another static field.
1565         * expr.c (build_class_init): Don't optimize out initialization of
1566         implemented interface.
1567
1568 2003-03-11  Andrew Haley  <aph@redhat.com>
1569
1570         * jcf-io.c (caching_stat): Initialize origsep to remove compiler
1571         warning.
1572
1573 2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>
1574
1575         * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
1576         and DIR_SEPARATOR_2 for a target.
1577         Correct minor typos.
1578
1579         * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
1580         and DIR_SEPARATOR_2 for a target into account.
1581
1582 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
1583
1584         * lang.c (java_init): Update prototype, move code to java_post_options.
1585         (java_post_options): Similarly.
1586
1587 2003-03-05  Ranjit Mathew  <rmathew@hotmail.com>
1588
1589         * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
1590         compare file name components depending on the case-sensitivity
1591         or otherwise of the host file system.
1592
1593         * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
1594         "strcmp" to compare file name components.
1595         Use IS_DIR_SEPARATOR instead of comparing directly against
1596         DIR_SEPARATOR.
1597         (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
1598         comparing directly against DIR_SEPARATOR.
1599
1600 2003-03-04  Tom Tromey  <tromey@redhat.com>
1601
1602         * Make-lang.in (java.tags): New target.
1603
1604 2003-03-01  Roger Sayle  <roger@eyesopen.com>
1605
1606         * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
1607         (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
1608
1609 2003-03-01  Tom Tromey  <tromey@redhat.com>
1610
1611         * parse.y (jdep_resolve_class): Only check deprecation if we found
1612         a decl.
1613
1614 2003-02-28  Tom Tromey  <tromey@redhat.com>
1615
1616         PR java/9695:
1617         * class.c (maybe_layout_super_class): Always pass a WFL to
1618         do_resolve_class.
1619         * parse.y (do_resolve_class): Updated comment to explain
1620         parameters.
1621
1622 2003-02-26  Tom Tromey  <tromey@redhat.com>
1623
1624         * jcf-write.c (generate_classfile): Check whether class is
1625         deprecated before writing attribute count.
1626
1627 2003-02-25  Roger Sayle  <roger@eyesopen.com>
1628
1629         * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
1630         built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
1631
1632 2003-02-23  Tom Tromey  <tromey@redhat.com>
1633
1634         * lang-options.h: Added -Wdeprecated.
1635         * gcj.texi (Warnings): Document -Wdeprecated.
1636         * java-tree.h (flag_deprecated): Declare.
1637         * lang.c (lang_W_options): Added deprecated.
1638         (flag_deprecated): New global.
1639         * chartables.h: Rebuilt.
1640         * gen-table.pl (process_one): Look at whitespace.
1641         (print_tables): Define LETTER_SPACE, LETTER_MASK.
1642         * parse.h (CLEAR_DEPRECATED): New macro.
1643         (CHECK_DEPRECATED_NO_RESET): New macro.
1644         * jcf-parse.c (handle_deprecated): New function.
1645         (HANDLE_DEPRECATED_ATTRIBUTE): New define.
1646         * jcf-reader.c (get_attribute): Handle Deprecated attribute.
1647         * parse.y (resolve_type_during_patch): Check deprecation.
1648         (jdep_resolve_class): Likewise.
1649         (process_imports): Likewise.
1650         (resolve_expression_name): Likewise.
1651         (check_deprecation): Strip arrays from decl.  Check
1652         flag_deprecated.
1653         (patch_method_invocation): Also check the particular constructor
1654         for deprecation.
1655         (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
1656         * jcf-write.c (append_deprecated_attribute): New function.
1657         (generate_classfile): Generate deprecated attribute when
1658         appropriate.
1659         * lex.c (java_parse_doc_section): Return type now void.  Rewrote.
1660         (java_lex) [case '*']: Simplify logic.
1661         (java_start_char_p): Use LETTER_MASK.
1662         (java_part_char_p): Likewise.
1663         (java_space_char_p): New function.
1664
1665 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
1666
1667         Change base class access representation.
1668         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
1669         (add_interface_do): Likewise.
1670
1671 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
1672
1673         * decl.c (java_init_decl_processing): Change
1674         soft_lookupjnimethod_node to reflect the change in
1675         signature of _Jv_LookupJNIMethod in libjava/jni.cc
1676         * expr.c (build_jni_stub): Calculate and pass the size
1677         on the stack of the arguments to a JNI function. Use
1678         new target macro MODIFY_JNI_METHOD_CALL to allow a
1679         target to modify the call to a JNI method.
1680
1681 2003-02-08  Roger Sayle  <roger@eyesopen.com>
1682
1683         * jcf-io.c (java_or_class_file): Use libiberty's lbasename
1684         instead of basename to avoid compiler warnings on Tru64.
1685
1686 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
1687
1688         * gcj.texi: Update to GFDL 1.2.
1689
1690 2003-01-31  Andrew Haley  <aph@redhat.com>
1691
1692         * parse.y (java_expand_classes): Scan the whole class list looking
1693         for access methods that haven't yet been expanded.
1694
1695 2003-01-31 Adrian Bunk <bunk@fs.tum.de>
1696
1697         Fix for java/4269:
1698
1699         * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
1700         to fix bootstrap on sparc-unknown-netbsdelf1.5.
1701         * jcf-parse.c: Likewise.
1702
1703 2003-01-31  Mark Wielaard  <mark@klomp.org>
1704
1705         * gjavah.c (throwable_p): Allocate 1 more byte for string.
1706
1707 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
1708
1709         * class.c (make_class): Use BINFO_ELTS.
1710         (set_super_info): Likewse.
1711         (add_interface_do): Likewise.
1712
1713 2003-01-30  Tom Tromey  <tromey@redhat.com>
1714
1715         * jcf-parse.c (read_class): Update identifier's class value if it
1716         changed during parsing.
1717
1718 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
1719
1720         * Make-lang.in (po-generated): Find the targets in $(parsedir).
1721         Propagate change to all other rules as required.
1722         (java/parse-scan.o): Add explicit dependency on
1723         $(parsedir)/java/parse-scan.c .
1724
1725 2003-01-29  Tom Tromey  <tromey@redhat.com>
1726
1727         * parse.y (patch_assignment): Only transform the rhs of an
1728         assignment when compiling to native.
1729
1730 2003-01-28  Tom Tromey  <tromey@redhat.com>
1731
1732         * jcf-write.c (generate_bytecode_conditional): Typo fixes.
1733
1734 2003-01-28  Tom Tromey  <tromey@redhat.com>
1735
1736         * lex.c (java_lex): Don't include UEOF as part of token.
1737         (java_read_unicode): Error if \u sequence prematurely terminated.
1738
1739 2003-01-27  Tom Tromey  <tromey@redhat.com>
1740
1741         * parse.y (java_check_regular_methods): Check for construct after
1742         checking types in throws clause.
1743
1744 2003-01-24  Tom Tromey  <tromey@redhat.com>
1745
1746         * class.c (build_static_field_ref): Only a String or numeric field
1747         can fold to a constant.
1748
1749 2003-01-23  Tom Tromey  <tromey@redhat.com>
1750
1751         * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
1752         file name in resource buffer.
1753
1754 2003-01-23  Tom Tromey  <tromey@redhat.com>
1755
1756         * expr.c (build_known_method_ref): Use method's context to find
1757         method table index.
1758
1759 2003-01-23  Tom Tromey  <tromey@redhat.com>
1760
1761         * constants.c (set_constant_entry): Allocated cleared memory.
1762
1763 2003-01-22  Tom Tromey  <tromey@redhat.com>
1764
1765         * java-tree.h: Don't use PARAMS.
1766         * resource.c: Add prototypes for all functions.
1767         (write_resource_constructor): Use `const char *' to avoid
1768         warning.
1769
1770 2003-01-22 Nathanael Nerode  <neroden@gcc.gnu.org>
1771
1772         * jcf-parse.c (process_zip_dir): Remove unused variable.
1773
1774 2003-01-22  Tom Tromey  <tromey@redhat.com>
1775
1776         * expr.c (build_invokeinterface): Abort if method's context is not
1777         an interface.
1778
1779 2003-01-22  Tom Tromey  <tromey@redhat.com>
1780
1781         * gcj.texi (Input and output files): Mention non-class entries.
1782         * decl.c (java_init_decl_processing): Call
1783         init_resource_processing.
1784         * java-tree.h (compile_resource_data, write_resource_constructor,
1785         compile_resource_file, init_resource_processing): Declare.
1786         * config-lang.in (gtfiles): Added resource.c.
1787         * Make-lang.in (gt-java-resource.h): New target.
1788         (JAVA_OBJS): Added resource.o.
1789         (java/resource.o): New target.
1790         * resource.c: New file.
1791         * class.c (compile_resource_file): Moved to resource.c.
1792         (registerResource_libfunc): Likewise.
1793         (utf8_decl_list): Mark with GTY; now static.
1794         * jcf-parse.c (classify_zip_file): New function.
1795         (parse_zip_file_entries): Use it; compile .properties files.
1796         (process_zip_dir): Use classify_zip_file and compute_class_name.
1797         Don't write class name into zip directory.
1798         (java_parse_file): Call write_resource_constructor.
1799         (compute_class_name): New function.
1800         * jcf-io.c (read_zip_member): Reindented.
1801
1802 2003-01-21  Tom Tromey  <tromey@redhat.com>
1803
1804         * class.c (supers_all_compiled): New function.
1805         (make_class_data): Use it.
1806
1807 2003-01-21  Tom Tromey  <tromey@redhat.com>
1808
1809         * parse.y (method_header): Native method can't be strictfp.
1810         No method can be transient or volatile.
1811
1812 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1813
1814         Make-lang.in (jvspec.o-warn): Add -Wno-error.
1815
1816 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
1817
1818         * check-init.c: Fix comment typos.
1819         * class.c: Likewise.
1820         * constants.c: Likewise.
1821         * decl.c: Likewise.
1822         * except.c: Likewise.
1823         * expr.c: Likewise.
1824         * java-except.h: Likewise.
1825         * java-tree.h: Likewise.
1826         * javaop.h: Likewise.
1827         * jcf-dump.c: Likewise.
1828         * jcf-io.c: Likewise.
1829         * jcf-parse.c: Likewise.
1830         * jcf-write.c: Likewise.
1831         * lang.c: Likewise.
1832         * mangle.c: Likewise.
1833         * typeck.c: Likewise.
1834         * verify.c: Likewise.
1835
1836 2003-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1837
1838         * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
1839         * jcf-write.c: Include "tm_p.h".
1840
1841 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1842
1843         * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
1844
1845 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1846
1847         * builtins.c (java_build_function_call_expr): Renamed from
1848         build_function_call_expr.  All callers changed.
1849
1850         * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
1851         * jcf-parse.c: Include tm_p.h.
1852
1853         * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
1854         warning.
1855
1856 2003-01-14  Tom Tromey  <tromey@redhat.com>
1857
1858         * class.c (make_class_data): Check that super is compiled before
1859         building class reference to it.
1860
1861 2003-01-14  Andrew Haley  <aph@redhat.com>
1862
1863         * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
1864         varargs function -- correct.
1865
1866 2003-01-14  Andrew Haley  <aph@redhat.com>
1867
1868         * decl.c (java_init_decl_processing): Temporarily back out previous patch.
1869
1870 2003-01-14  Andrew Haley  <aph@redhat.com>
1871
1872         * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
1873         varargs function -- correct.
1874
1875         * parse.y (patch_assignment): Copy the rhs of an assignment into a
1876         temporary if the RHS is a reference.
1877
1878 2003-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1879
1880         * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
1881         * keyword.h: Regenerated.
1882
1883         * All Files: Convert to ISO C style function definitions.
1884
1885 2003-01-09  Nathanael Nerode  <neroden@gcc.gnu.org>
1886
1887         * parse.y (check_pkg_class_access): ANSIfy definition.
1888
1889 2003-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1890
1891         * decl.c, parse-scan.y, parse.y: Don't cast return value of
1892         xmalloc et al.
1893
1894         * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
1895
1896 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
1897
1898         Merge from pch-branch:
1899
1900         2002-12-02  Geoffrey Keating  <geoffk@apple.com>
1901
1902         * Make-lang.in (java/gjavah.o): Update dependencies.
1903         * gjavah.c: Include ggc.h.
1904
1905         2002-08-16  Geoffrey Keating  <geoffk@redhat.com>
1906
1907         * Make-lang.in (GCJH_OBJS): Add ggc-none.o.
1908         (JCFDUMP_OBJS): Add ggc-none.o.
1909         (java/jcf-dump.o): Depend on GGC_H.
1910         * jcf-reader.c (jcf_parse_constant_pool): Use ggc_alloc to allocate
1911         CPool substructures.
1912         * jcf-parse.c (process_zip_dir): Use ggc_alloc to allocate JCFs.
1913         * jcf-dump.c: Include ggc.h.
1914
1915         2002-08-08  Geoffrey Keating  <geoffk@redhat.com>
1916
1917         * jcf.h (union cpool_entry): New.
1918         (struct CPool): Use gengtype to mark.  Change field 'data' to be
1919         an array of unions.
1920         (struct JCF): Use gengtype to mark.
1921         (CPOOL_UINT): Update for new cpool_entry type.
1922         (CPOOL_USHORT1): Likewise.
1923         (CPOOL_USHORT2): Likewise.
1924         (CPOOL_FINISH): Use GC to free cpool subfields.
1925         * parse.h (struct parser_ctxt): Mark field current_jcf.
1926         * lex.c (java_init_lex): Use GC to allocate struct JCF.
1927         * jcf-parse.c (HANDLE_CONSTANT_Utf8): Update for new cpool_entry type.
1928         (main_jcf): Use gengtype to mark.
1929         (ggc_mark_jcf): Delete.
1930         (get_constant): Update for new cpool_entry type.
1931         (give_name_to_class): Likewise.
1932         (get_class_constant): Likewise.
1933         (init_outgoing_cpool): Use GGC to allocate struct CPool.
1934         (java_parse_file): Use GGC to allocate struct JCF.
1935         (init_jcf_parse): Don't call ggc_add_root.
1936         * jcf-reader.c (jcf_parse_constant_pool): Update for new
1937         cpool_entry type.
1938         * java-tree.h (current_jcf): Use gengtype to mark.
1939         (CPOOL_UTF): Update for new cpool_entry type.
1940         (outgoing_cpool): Use gengtype to mark.
1941         (struct lang_type): GC struct JCF and struct CPool.
1942         * config-lang.in (gtfiles): Add jcf.h.
1943         * constants.c (find_tree_constant): New.
1944         (set_constant_entry): Allocate cpool subfields using GGC.  Update
1945         for new cpool_entry type.
1946         (find_constant1): Update for new cpool_entry type.
1947         (find_constant2): Likewise.
1948         (find_utf8_constant): Use find_tree_constant.
1949         (find_class_or_string_constant): Remove unnecessary cast to jword.
1950         Update for new cpool_entry type.
1951         (count_constant_pool_bytes): Update for new cpool_entry type.
1952         (write_constant_pool): Likewise.
1953         (alloc_name_constant): Use find_tree_constant.
1954         (build_constants_constructor): Update for new cpool_entry type.
1955
1956         2002-08-08  Geoffrey Keating  <geoffk@redhat.com>
1957
1958         * parse.y (mark_parser_ctxt): Delete.
1959         (goal): Don't use ggc_add_root.
1960         (create_new_parser_context): Use GC to allocate struct parser_ctxt.
1961         (java_pop_parser_context): Let GC free parser_ctxt.
1962         (java_parser_context_resume): Likewise.
1963         * parse.h (struct parser_ctxt): Use gengtype to mark.
1964         (ctxp): Likewise.
1965         (ctxp_for_generation): Likewise.
1966         * lex.h (struct java_lc_s): Mark for gengtype.
1967         (java_lexer): Rearrange for gengtype.
1968         * config-lang.in (gtfiles): Add lex.h, parse.h.
1969
1970 2003-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1971
1972         * All Files: Remove PARAMS macro.
1973
1974         * expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
1975         jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
1976         `__STDC__' macros.
1977
1978         * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
1979         VA_CLOSE.
1980
1981 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1982
1983         * Make-lang.in (java.install-common, java.uninstall,
1984         java.install-info, java.install-man): Prepend $(DESTDIR)
1985         to destination paths in all (un)installation commands.
1986         (java.install-common): Rewrite $(LN) command to support
1987         DESTDIR with "ln" as well as with "ln -s".
1988
1989 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1990
1991         * java-tree.h: Protect against multiple inclusion.
1992
1993 2003-01-07  Tom Tromey  <tromey@redhat.com>
1994
1995         * class.c (add_assume_compiled): Don't adjust parent if we're
1996         already at the root of tree.
1997
1998 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1999
2000         * lang.c (dump_compound_expr): Prototype.
2001
2002 2003-01-03  Tom Tromey  <tromey@redhat.com>
2003
2004         Fix for PR java/8712:
2005         * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR,
2006         when simply checking against `null'.
2007
2008 2003-01-03  Tom Tromey  <tromey@redhat.com>
2009
2010         * gcj.texi (Standard Properties): Document http.proxyHost and
2011         http.proxyPort.
2012
2013         * gcj.texi (GNU Classpath Properties): Document new properties.
2014
2015 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2016
2017         * java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf,
2018         java/lang-options.h, java/mangle.c, java/mangle_name.c,
2019         java/xref.c, java/zextract.c,java/zipfile.h: Fix copyright years.
2020
2021 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2022
2023         * Make-lang.in, boehm.c, buffer.c,
2024           buffer.h, builtins.c, class.c,
2025           config-lang.in, constants.c,
2026           convert.h, decl.c, except.c,
2027           expr.c, java-except.h,
2028           java-tree.h, javaop.def,
2029           jcf-parse.c, jcf-write.c,
2030           jv-scan.c, jvgenmain.c,
2031           jvspec.c, keyword.gperf,
2032           keyword.h, lang-options.h,
2033           lang-specs.h, lang.c, lex.c,
2034           lex.h, mangle.c, mangle_name.c,
2035           parse-scan.y, parse.h, parse.y,
2036           typeck.c, verify.c, xref.c,
2037           xref.h: Replace "GNU CC" with
2038           "GCC" in the copyright header.
2039
2040         * check-init.c, gjavah.c, javaop.h,
2041           jcf-depend.c, jcf-dump.c, jcf-io.c,
2042           jcf-path.c, jcf-reader.c, jcf.h,
2043           zextract.c, zipfile.h: These files are
2044           "part of GCC". Also say "GCC" not "GNU CC".
2045
2046 2002-12-30  DJ Delorie  <dj@redhat.com>
2047
2048         * Make-lang.in: Protect against texi2pod/pod2man failing.
2049
2050 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2051
2052         * gcj.texi: Use @copying.
2053
2054 2002-12-27  Mark Mitchell  <mark@codesourcery.com>
2055
2056         * gjavah.c (print_name_for_stub_or_jni): Adjust call to
2057         print_cxx_classname.
2058         (print_cxx_classname): Add add_scope parameter.
2059         (print_class_decls): Do not emit a semicolon after the extern
2060         "Java" block.
2061         (process_file): Adjust calls to print_cxx_classname.
2062
2063 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2064
2065         * gcj.texi: Include Cover Texts in man page.
2066
2067 2002-12-23  Jeff Sturm  <jsturm@one-point.com>
2068
2069         * class.c (build_static_field_ref): Check FIELD_FINAL.
2070
2071         * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF
2072         instead of current_constant_pool_data_ref.
2073         * java-tree.h (current_constant_pool_data_ref): Undefine.
2074         (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove.
2075         * jcf-parse.c (init_outgoing_cpool): Don't initialize
2076         current_constant_pool_data_ref.
2077
2078         * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
2079         not build_internal_class_name.
2080
2081         * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
2082         Use it when class ref isn't certain to be compiled.
2083
2084 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2085
2086         * gcj.texi: Include gcc-common.texi.
2087         * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on
2088         $(srcdir)/doc/include/gcc-common.texi.
2089
2090 2002-12-22  Anthony Green  <green@redhat.com>
2091
2092         * gcj.texi (Limitations): Add note about org.xml.sax and
2093         org.w3c.dom.
2094
2095 2002-12-20  Tom Tromey  <tromey@redhat.com>
2096
2097         * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
2098         where minimum case value is Integer.MIN_VALUE.
2099         Fixes PR java/8955.
2100
2101 2002-12-18  Andrew Haley  <aph@redhat.com>
2102
2103         * parse.y (patch_invoke): Force evaluation order when `check' is
2104         set.  For PR libgcj/8945.
2105
2106 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2107
2108         * gcj.texi: Change version number to 3.4.
2109
2110 2002-12-05  Ranjit Mathew <rmathew@hotmail.com>
2111         Andrew Haley <aph@redhat.com>
2112
2113         * parse.y (source_end_java_method): Remove custom encoding of line
2114         numbers for a function decl before passing it to the back end.
2115
2116 2002-12-03  Andrew Haley  <aph@redhat.com>
2117
2118         * class.c (make_class_data): New field, "chain".
2119         * decl.c (java_init_decl_processing): Likewise.
2120
2121 2002-12-02  Tom Tromey  <tromey@redhat.com>
2122
2123         For PR java/8740:
2124         * parse.y (do_resolve_class): Handle qualified name via
2125         recursion.
2126
2127 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
2128
2129         * boehm.c, buffer.c, builtins.c, check-init.c, class.c,
2130         constants.c, decl.c, except.c, expr.c, gjavah.c, jcf-depend.c,
2131         jcf-dump.c, jcf-io.c, jcf-parse.c, jcf-path.c, jcf-write.c,
2132         jv-scan.c, jvgenmain.c, jvspec.c, lang.c, mangle.c, mangle_name.c,
2133         parse-scan.y, parse.y, typeck.c, verify.c, xref.c, zextract.c:
2134         Include coretypes.h and tm.h.
2135         * Make-lang.in: Update dependencies.
2136
2137 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2138
2139         * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
2140
2141 2002-11-25  Diego Novillo  <dnovillo@redhat.com>
2142
2143         * jcf-reader.c: Don't expand JCF_readu4 inside the
2144         expansion of JCF_SKIP.
2145
2146 2002-11-25  Diego Novillo  <dnovillo@redhat.com>
2147
2148         * jcf-reader.c: Don't expand JCF_readu4 inside the
2149         expansion of JCF_SKIP.
2150
2151 2002-11-22  Tom Tromey  <tromey@redhat.com>
2152
2153         * parse.y (patch_binop): Cast right hand side of shift expression
2154         to `int'.  Fixes PR java/8676.
2155
2156 2002-11-22  Ranjit Mathew <rmathew@hotmail.com>
2157             Andrew Haley <aph@redhat.com>
2158
2159         * gcc/java/jcf-write.c (write_classfile): Remove target
2160         class file, if it exists, before renaming the temporary
2161         class file to it.
2162
2163 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2164
2165         * jvspec.c (lang_specific_spec_functions): New.
2166
2167 2002-11-18  Tom Tromey  <tromey@redhat.com>
2168
2169         Fix for PR java/7912:
2170         * expr.c (can_widen_reference_to): Allow cast of array to
2171         Cloneable or Serializable.
2172         * java-tree.h (java_lang_cloneable_identifier_node): Declare.
2173         (java_io_serializable_identifier_node): Likewise.
2174         * parse.y (java_lang_cloneable, java_io_serializable): Removed.
2175         (valid_ref_assignconv_cast_p): Use new identifier nodes.
2176         * lex.c (java_init_lex): Don't initialize java_lang_cloneable and
2177         java_io_serializable.
2178         * decl.c (java_init_decl_processing): Initialize
2179         java_lang_cloneable_identifier_node and
2180         java_io_serializable_identifier_node.
2181         (java_lang_cloneable_identifier_node): New global.
2182         (java_io_serializable_identifier_node): Likewise.
2183
2184 2002-11-14  Jens-Michael Hoffmann  <jensmh@gmx.de>
2185
2186         * buffer.c: Remove unnecessary casts.
2187         * check-init.c: Likewise.
2188         * class.c: Likewise.
2189         * constants.c: Likewise.
2190         * decl.c: Likewise.
2191         * except.c: Likewise.
2192         * gjavah.c: Likewise.
2193         * jcf-io.c: Likewise.
2194         * jcf-parse.c: Likewise.
2195         * jcf-path.c: Likewise.
2196         * jvspec.c: Likewise.
2197         * lang.c: Likewise.
2198         * lex.c: Likewise.
2199         * verify.c: Likewise.
2200
2201 2002-11-06  Tom Tromey  <tromey@redhat.com>
2202
2203         * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
2204         a JNI header.
2205
2206 2002-11-05  Tom Tromey  <tromey@redhat.com>
2207
2208         Fix for PR java/6388.
2209         * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while.
2210         * java-tree.h (enum java_tree_index): New values
2211         JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE.
2212         (decimal_int_max, decimal_long_max): New defines.
2213         * lex.c (yylex): Rewrote range checking.  Sign extend literals.
2214         (error_if_numeric_overflow): Rewrote range checking.
2215         * decl.c (java_init_decl_processing): Initialize decimal_int_max,
2216         decimal_long_max.
2217
2218 2002-11-02  Tom Tromey  <tromey@redhat.com>
2219
2220         * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
2221
2222         * class.c (make_method_value): Put class name, not signature, into
2223         `throws' field.  For PR java/8415.
2224
2225 2002-10-24  Tom Tromey  <tromey@redhat.com>
2226
2227         * gcj.texi (Invoking gij): Document --showversion.
2228         (Standard Properties): java.library.path now set.
2229
2230 2002-10-23  Tom Tromey  <tromey@redhat.com>
2231
2232         * gjavah.c (decode_signature_piece): In JNI mode, print
2233         `jobjectArray' when array depth is nonzero.
2234         Fixes PR java/8296.
2235
2236 2002-10-15  Andrew Haley  <aph@redhat.com>
2237
2238         * parse.y (patch_invoke): Call force_evaluation_order on a static
2239         arg list.
2240         (resolve_qualified_expression_name): Call force_evaluation_order
2241         on a arg list that is part of a Qualified Expression Name.
2242
2243         * lang.c (dump_compound_expr): New.
2244         (java_dump_tree): New.
2245
2246 2002-10-20  Ranjit Mathew <rmathew@hotmail.com>
2247
2248         * gcj.texi: Added item describing the GCJ runtime property
2249         "gnu.gcj.progname".
2250
2251 2002-10-15  Richard Henderson  <rth@redhat.com>
2252
2253         * jcf-parse.c (get_constant): Fix type warning.
2254
2255 2002-10-15  Andrew Haley  <aph@redhat.com>
2256
2257         * java-tree.h (java_inlining_merge_static_initializers): Declare.
2258         (java_inlining_map_static_initializers): Declare.
2259
2260 2002-10-14  Andrew Haley  <aph@redhat.com>
2261
2262         * tree-inline.c (remap_block): All local class initialization
2263         flags go in the outermost scope.
2264         (expand_call_inline): Call java_inlining_map_static_initializers.
2265         (expand_call_inline): Call java_inlining_merge_static_initializers.
2266         * java/lang.c (merge_init_test_initialization): New.
2267         (java_inlining_merge_static_initializers): New.
2268         (inline_init_test_initialization): New.
2269         (java_inlining_map_static_initializers): New.
2270
2271 2002-10-11  Mark Wielaard  <mark@klomp.org>
2272
2273         * gcj.texi (Compatibility): Add Limitations and Extensions section.
2274
2275 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2276
2277         * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
2278
2279 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2280
2281         * parse.y (merge_string_cste): Add parentheses around & within |.
2282
2283 2002-10-08  Tom Tromey  <tromey@redhat.com>
2284
2285         * parse.y (variable_declarator_id): Simplify error path for
2286         array declarator error.  For PR java/8003.
2287
2288 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
2289
2290         * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
2291         bug_report_url.
2292
2293 2002-10-08  Andrew Haley  <aph@redhat.com>
2294
2295         * parse.y (attach_init_test_initialization_flags): Check for
2296         error_mark_node.
2297
2298 2002-10-07  Anthony Green  <green@redhat.com>
2299
2300         * parse.y (merge_string_cste): Fix bug in string concatenation.
2301
2302 2002-10-03  Michael Koch  <konqueror@gmx.de>
2303
2304         * gcj.texi (Standard properties):
2305         Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
2306
2307 2002-10-02  Roger Sayle  <roger@eyesopen.com>
2308
2309         PR optimization/6627
2310         * lang.c (java_init): If storing the vbit in function
2311         pointers, ensure that force_align_functions_log is atleast
2312         one to aid compatability with g++ vtables.
2313
2314 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
2315
2316         * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
2317         foul of type-based aliasing.
2318
2319 2002-09-30  Anthony Green  <green@redhat.com>
2320
2321         * gcj.texi (Invoking jv-scan): Fix texinfo.
2322
2323 2002-09-28  Anthony Green  <green@redhat.com>
2324
2325         * gcj.texi (Invoking jv-scan): Add --no-assert documentation.
2326         (Code Generation): Add -fno-assert documentation.
2327         * jv-scan.c (flag_assert): New global.
2328         (options): Add assert option.
2329         (help): Add --no-assert documentation.
2330         * parse-scan.y (flag_assert): New global.
2331         * lang.c (lang_f_options): Add -fassert/-fno-assert support.
2332         (flag_assert): New global.
2333         * java-tree.h (flag_assert): New global.
2334         * lex.c (java_lex): Obey flag_assert.
2335         * jvspec.c (jvgenmain_spec): Strip -fassert/-fno-assert when
2336         calling cc1.
2337
2338 2002-09-26  Andrew Haley  <aph@redhat.com>
2339
2340         * expr.c (build_java_array_length_access): Check for null pointer.
2341         * expr.c (expand_java_arrayload): Likewise.
2342
2343 2002-09-21  Richard Henderson  <rth@redhat.com>
2344
2345         * jcf-parse.c (get_constant): Decode from IEEE no matter
2346         what the target format.
2347
2348 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
2349
2350         * ChangeLog: Follow spelling conventions.
2351         * class.c: Likewise.
2352         * decl.c: Likewise.
2353         * expr.c: Likewise.
2354         * gjavah.c: Likewise.
2355         * java-tree.h: Likewise.
2356         * jcf-dump.c: Likewise.
2357         * jcf-parse.c: Likewise.
2358         * jvspec.c: Likewise.
2359         * lang.c: Likewise.
2360         * mangle.c: Likewise.
2361         * parse.y: Likewise.
2362
2363 2002-09-17  Tom Tromey  <tromey@redhat.com>
2364
2365         * lex.c (java_read_unicode_collapsing_terminators): Handle case
2366         where \r appears at EOF.  Fixes PR java/7950.
2367
2368 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2369
2370         * jvspec.c (lang_specific_driver): Remove unused variable.
2371
2372 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
2373
2374         * java-tree.h (union lang_tree_node): Add chain_next option.
2375
2376 2002-09-16  Richard Henderson  <rth@redhat.com>
2377
2378         * jcf-parse.c (get_constant): Runtime check for IEEE format;
2379         use new real.h interface.
2380         * jcf-write.c (find_constant_index): Use new real.h interface.
2381         * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
2382
2383 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
2384
2385         * lang.c: Follow spelling conventions.
2386
2387 2002-09-11  Per Bothner  <per@bothner.com>
2388
2389         * parse.y (fold_constant_for_init):  If a VAR_DECL, convert numerical
2390         constant to the type of the field.
2391         (java_complete_tree):  Remove now-redundant code.
2392
2393         * parse.y (fold_constant_for_init):  'null' is not a constant expr.
2394
2395 2002-09-03  Jesse Rosenstock  <jmr@ugcs.caltech.edu>
2396
2397         For PR java/5794:
2398         * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
2399         return label if a ret instruction for the jsr has been reached.
2400
2401 2002-09-09  Ranjit Mathew  <rmathew@hotmail.com>
2402
2403         * parse.y (DIR_SEPARATOR): Don't define.
2404         (check_class_interface_creation): Use IS_DIR_SEPARATOR.
2405
2406 2002-08-28  Andrew Haley  <aph@redhat.com>
2407
2408         * verify.c (verify_jvm_instructions): Allow exception handler
2409         inside code that is being protected, but generate a warning.
2410         * except.c (link_handler): Initialize `expanded' in new eh_range.
2411         (binding_depth, is_class_level, current_pc): Declare extern.
2412
2413 2002-09-01  Mark Wielaard <mark@klomp.org>
2414
2415         * gcj.texi: Add chapter about system properties.
2416         Fixed some typos.
2417
2418 2002-08-26  Tom Tromey  <tromey@redhat.com>
2419
2420         * parse.y (try_builtin_assignconv): Allow narrowing primitive
2421         conversion if RHS_TYPE is byte, short, or char.
2422
2423 2002-08-22  Tom Tromey  <tromey@redhat.com>
2424
2425         * gcj.texi (Invoking gij): Document -cp and -classpath.
2426
2427 2002-08-21  Tom Tromey  <tromey@redhat.com>
2428
2429         * Make-lang.in (java/jcf-path.o): Use $(datadir), not
2430         $(prefix)/share.  For PR libgcj/7633.
2431
2432         For PR java/6005 and PR java/7611:
2433         * lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define.
2434         (java_can_use_bit_fields_p): New function.
2435
2436 2002-08-16  Tom Tromey  <tromey@redhat.com>
2437
2438         * gcj.texi (Class Initialization): Mention class initialization of
2439         arrays.
2440
2441 2002-07-30  Andrew Haley  <aph@cambridge.redhat.com>
2442
2443         * Make-lang.in (java-tree-inline.o): New.
2444         (JAVA_OBJS): Add java-tree-inline.o.
2445         * parse.y (source_end_java_method): Call java_optimize_inline.
2446         (java_expand_method_bodies): Save method's tree in
2447         DECL_SAVED_TREE.
2448         (add_stmt_to_compound): Keep track of the number of statments.
2449         * lang.c (java_init): Enable flag_inline_trees.
2450         (java_post_options): If flag_inline_functions is on, enable
2451         flag_inline_trees instread.
2452         (decl_constant_value): New.
2453         (java_tree_inlining_walk_subtrees): New.
2454         * java-tree.h (DECL_NUM_STMTS): New macro.
2455         (java_optimize_inline): Declare.
2456         * expr.c (java_expand_expr): Allow a BLOCK to return a value.
2457         Handle a LABEL_EXPR.
2458         * decl.c (build_result_decl): If we already have a DECL_RESULT
2459         don't make another.
2460         (dump_function): New.
2461         (java_optimize_inline): New.
2462         (dump_function): New.
2463
2464 2002-08-13  Jesse Rosenstock  <jmr@fulcrummicro.com>
2465
2466         For PR java/7483:
2467         * parse.y (build_assertion): Invert return from
2468         desiredAssertionStatus.
2469
2470 2002-08-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2471
2472         * jcf-write.c (get_access_flags): Return correct access flags for
2473         private and protected inner classes.
2474
2475 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
2476
2477         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2478
2479 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
2480
2481         * mangle_name.c: Don't include obstack.h twice.
2482         * xref.c: Don't include obstack.h.
2483
2484 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
2485
2486         * class.c: (permanent_obstack): Delete declaration.
2487         * constants.c: (permanent_obstack): Delete declaration.
2488         * except.c: (permanent_obstack): Delete declaration.
2489         * expr.c: (permanent_obstack): Delete declaration.
2490         * jcf-parse.c: (permanent_obstack): Delete declaration.
2491         (saveable_obstack): Delete declaration.
2492         * parse.h: (permanent_obstack): Delete declaration.
2493         * typeck.c: (permanent_obstack): Delete declaration.
2494
2495 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2496
2497         * gcj.texi (version-gcc): Increase to 3.3.
2498
2499 2002-07-22  Tom Tromey  <tromey@redhat.com>
2500
2501         * lex.c (java_lex): Check for `e' or `E' after 0.
2502
2503 2002-07-21  Richard Henderson  <rth@redhat.com>
2504
2505         * lang.c (java_unsafe_for_reeval): New.
2506         (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2507
2508 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
2509
2510         * jcf-path.c (GET_ENV_PATH_LIST): Remove.
2511         (jcf_path_init): Use GET_ENVIRONMENT.
2512
2513 2002-07-10  Roger Sayle  <roger@eyesopen.com>
2514             Zack Weinberg <zack@codesourcery.com>
2515
2516         * builtins.c (initialize_builtins): Remove defines that
2517         handled C/C++ specific junk hereby removed from builtins.def.
2518
2519 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
2520
2521         * lang.c (java_post_options): Update prototype.
2522
2523 2002-07-05  Roger Sayle  <roger@eyesopen.com>
2524
2525         * builtins.c (initialize_builtins): Ignore the additional
2526         parameter to DEF_BUILTIN.  Handle more C/C++ specific junk in
2527         the builtins.def file.
2528
2529 2002-07-01  Tom Tromey  <tromey@redhat.com>
2530
2531         For PR libgcj/7073:
2532         * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
2533         specially.
2534
2535 2002-07-01  Roger Sayle  <roger@eyesopen.com>
2536
2537         * java/decl.c (builtin_function): Accept additional parameter.
2538         (java_init_decl_processing): Pass an additional NULL_TREE
2539         argument to builtin_function.
2540
2541 2002-06-29  T.J. Mather  <tjmather@maxmind.com>
2542
2543         * gcj.texi: Fixed gcj invocation example so that it compiles.
2544
2545 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2546
2547         * lex.c (java_init_lex): Avoid incorrect hardcoded constant 11.
2548         * parse.y (mark_parser_ctxt): Likewise.
2549         (check_modifiers, declare_local_variables): Avoid incorrect
2550         hardcoded constant 10.
2551
2552         * lex.c (java_read_char): Avoid "comparison is always true"
2553         warning.
2554
2555 2002-06-25  Andreas Schwab  <schwab@suse.de>
2556
2557         * expr.c (JSR): Avoid undefined operation on PC.
2558
2559 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2560
2561         * decl.c (clear_binding_level): Const-ify.
2562
2563 2002-06-13  Akim Demaille  <akim@epita.fr>
2564
2565         * parse.y (class_declaration, interface_declaration): Make sure
2566         all their rules have an action, in order to avoid meaningless `$$
2567         = $1' and their type clashes.
2568
2569 2002-06-11  Tom Tromey  <tromey@redhat.com>
2570
2571         * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
2572         * parse-scan.y (statement_without_trailing_substatement): Added
2573         assert_statement.
2574         (assert_statement): New rule.
2575         * java-tree.h (struct lang_type) [assertions]: New field.
2576         (TYPE_USES_ASSERTIONS): New macro.
2577         (CLASS_USES_ASSERTIONS): Likewise.
2578         (FIELD_SYNTHETIC): New define.
2579         * lex.c (java_lval;): Added ASSERT_TK.
2580         * parse.y (ASSERT_TK): Added.
2581         (statement_without_trailing_substatement): Added assert_statement.
2582         (assert_statement): New rule.
2583         (build_assertion): New function.
2584         (maybe_generate_pre_expand_clinit): Create and initialize
2585         $assertionsDisabled.
2586         (lookup_package_type): Removed decl.
2587         * keyword.h: Rebuilt.
2588         * keyword.gperf (assert): New token.
2589
2590 2002-06-10  Akim Demaille  <akim@epita.fr>
2591
2592         * parse.y (interface_type_list, class_member_declaration)
2593         (unary_expression_not_plus_minus): Remove duplicate %type.
2594         Whitespace changes.
2595
2596 2002-06-09  Tom Tromey  <tromey@redhat.com>
2597
2598         * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
2599
2600         * parse.y (method_header): Give error message in all cases.
2601         Fixes PR java/6865.
2602
2603 2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2604
2605         Don't use RTL inlining. Fix for PR java/6820.
2606         * lang.c (LANG_HOOKS_POST_OPTIONS): Define.
2607         (flag_really_inline): New.
2608         (java_decode_option): Set flag_really_inline if -finline-functions
2609         is seen.
2610         (java_post_options): New function. Turn off inlining unless
2611         flag_really_inline is set.
2612
2613 2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2614
2615         * gjavah.c (throwable_p): Accept argument as either a classname or
2616         signature fragment. Create null-terminated classname string for super
2617         when calling itself recursively.
2618         (decode_signature_piece): Skip first character from class name
2619         signature when calling throwable_p.
2620
2621 2002-06-08  H.J. Lu  (hjl@gnu.org)
2622
2623         * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
2624
2625 2002-06-04  Tom Tromey  <tromey@redhat.com>
2626
2627         * jcf-write.c (perform_relocations): Optmize a goto to a goto.
2628
2629 2002-06-04  Michael Koch  <konqueror@gmx.de>
2630
2631         * gcj.texi (Input Options): Fixed typo.
2632
2633 2002-06-04  Zack Weinberg  <zack@codesourcery.com>
2634
2635         * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
2636         typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
2637         all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
2638         and all now-pointless local variables.  Rename other local
2639         variables to reflect their not being handles.
2640
2641         * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
2642         #if JCF_USE_STDIO blocks.
2643
2644         * parse.y: Add missing semicolon at end of rule.
2645
2646 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
2647
2648         * check-init.c (attach_initialized_static_class): Delete, unused.
2649         * parse.y: Use htab_t instead of struct hashtable, update
2650         all uses.
2651         * java-tree.h: Include hashtab.h instead of hash.h.
2652         (struct lang_decl_func): Use htab_t, set up for gengtype.
2653         (struct init_test_hash_entry): Delete.
2654         (struct treetreehash_entry): New.
2655         (java_treetreehash_find): New
2656         (java_treetreehash_new): New prototype.
2657         (java_treetreehash_create): New prototype.
2658         (java_mark_tree): Delete prototype.
2659         (java_hash_hash_tree_node): Delete prototype.
2660         (java_hash_compare_tree_node): Delete prototype.
2661         (attach_initialized_static_class): Delete prototype.
2662         * expr.c (build_class_init): Update to use java_treetreehash
2663         functions.
2664         (java_expand_expr): Update to use htab_t.
2665         (emit_init_test_initialization): Likewise.
2666         * decl.c (java_mark_tree): Delete.
2667         * class.c (init_test_hash_newfunc): Delete.
2668         (java_hash_hash_tree_node): Delete.
2669         (java_hash_compare_tree_node): Delete.
2670         (add_method_1): Update to use java_treetreehash functions.
2671         (JAVA_TREEHASHHASH_H): New macro.
2672         (java_treetreehash_hash): New function.
2673         (java_treetreehash_compare): New function.
2674         (java_treetreehash_find): New function.
2675         (java_treetreehash_new): New function.
2676         (java_treetreehash_create): New function.
2677         * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
2678
2679         * Make-lang.in (java/parse.o): Depend on debug.h.
2680         * java-tree.h (struct lang_identifier): Use gengtype.
2681         (union lang_tree_node): New.
2682         (struct lang_decl_func): Use gengtype.
2683         (struct lang_decl_var): Likewise.
2684         (struct lang_decl): Likewise.
2685         * parse.y: Include debug.h.
2686         * lang.c (LANG_HOOKS_MARK_TREE): Delete.
2687
2688         * lang.c (struct language_function): New dummy structure.
2689
2690         * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
2691         descriminator for DECL_LANG_SPECIFIC.
2692         (struct lang_decl_func): Rename from struct lang_decl.
2693         (enum lang_decl_desc): New.
2694         (struct lang_decl): Make it a union.  Update all the accessor macros.
2695         (struct lang_type): Use gengtype.
2696         * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
2697         * decl.c (java_dup_lang_specific_decl): All lang_decl structures
2698         are now the same size.
2699         (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
2700         use discriminator to mark DECL_LANG_SPECIFIC.
2701
2702         * Make-lang.in (gt-java-builtins.h): New rule.
2703         (java/builtins.o): Add dependency on gt-<filename>.h.
2704         * builtins.c: Use gengtype for roots.
2705         (union string_or_tree): Use gengtype.
2706         (struct builtin_record): Use gengtype.
2707         * config-lang.in (gtfiles): Add builtins.c.
2708
2709         * Make-lang.in (gt-java-class.h, gt-java-constants.h,
2710         gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
2711         gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
2712         gt-java-parse.h, gtype-java.h): Add rules to generate.
2713         (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
2714         (class.o): Add dependency on gt-*.h.
2715         (constants.o): Likewise.
2716         (decl.o): Likewise.
2717         (expr.o): Likewise.
2718         (jcf-parse.o): Likewise.
2719         (jcf-write.o): Likewise.
2720         (lang.o): Likewise.
2721         * config-lang.in (gtfiles): New.
2722         * class.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
2723         * constants.c: Replace uses of ggc_add_* with GTY markers.
2724         Include gt-*.h.
2725         * decl.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
2726         * expr.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
2727         * java-tree.h: Replace uses of ggc_add_* with GTY markers.
2728         * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
2729         Include gt-*.h.
2730         * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
2731         Include gt-*.h.
2732         * lang.c: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
2733         * mangle.c: Replace uses of ggc_add_* with GTY markers.  Include
2734         gt-*.h.
2735         * parse.y: Replace uses of ggc_add_* with GTY markers.  Include gt-*.h.
2736         Include gtype-java.h.
2737
2738 2002-06-02  Tom Tromey  <tromey@redhat.com>
2739
2740         Fix for PR java/5913:
2741         * parse.y (patch_binop): Call patch_string on op1.
2742
2743 2002-06-02  Tom Tromey  <tromey@redhat.com>
2744
2745         Fix for PR java/1343, PR java/6336:
2746         * parse.y (make_nested_class_name): Remove extraneous `else'; fix
2747         formatting.  Changed return type.
2748         (anonymous_class_counter): Moved to top of file.
2749         (maybe_make_nested_class_name): Append number to class name for
2750         function-local classes.
2751
2752 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
2753
2754         * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
2755         * Make-lang.in: Update dependency lists.
2756
2757 2002-05-18  Mark Mitchell  <mark@codesourcery.com>
2758
2759         * gjavah.c (throwable_p): Do not free the name of the class after
2760         passing it to find_class.
2761         * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
2762         * jcf-io.c (dirent.h): Include it.
2763         (fnmatch.h): Likewise.
2764         (compare_path): New function.
2765         (java_or_class_file): Likewise.
2766         (memoized_dirlist_entry): New type.
2767         (memoized_dirlist_lookup_eq): New function.
2768         (memoized_dirlists): New variable.
2769         (caching_stat): New function.
2770         (memoized_class_lookup_eq): New function.
2771         (memoized_class_lookups): Likewise.
2772         (find_class): Use memoized_class_lookups and caching_stat.
2773         * jcf.h (JCF_USE_SCANDIR): Define.
2774         * parse.y (java_expand_classes): Write the class files in reverse
2775         order.
2776
2777 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2778
2779         * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
2780
2781 2002-05-13  Mark Mitchell  <mark@codesourcery.com>
2782
2783         * jcf-write.c (write_classfile): Unlink the temporary file if it
2784         cannot be renamed.  Use concat to build up the name of the
2785         temporary file.
2786
2787 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
2788
2789         * jcf-write.c (write_classfile): Write the file to a
2790         temporary file and then rename it.
2791
2792 2002-05-07  Tom Tromey  <tromey@redhat.com>
2793
2794         * gjavah.c (throwable_p): Use xstrdup, not strdup.
2795
2796         Fix for PR java/1200:
2797         * gjavah.c (throwable_p): New function.
2798         (decode_signature_piece): Use it.  A `WeakReference' isn't the
2799         same as a `jweak'.
2800         Include hashtab.h.
2801         (gcjh_streq): New function.
2802
2803 2002-05-07  Andreas Jaeger  <aj@suse.de>
2804
2805         * parse.y (finish_for_loop): Fix if statement.
2806
2807 2002-05-06  Tom Tromey  <tromey@redhat.com>
2808
2809         Fix for PR java/5941:
2810         * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
2811         loop update expression.
2812         (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
2813         * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
2814
2815 2002-05-04  Mark Wielaard  <mark@klomp.org>
2816
2817         For PR java/6519:
2818         * parse.y (build_string_concatenation): Return just op1 only when op2
2819         is null and op1 is a STRING_CST, otherwise always construct a
2820         StringBuffer.
2821
2822 2002-04-27  Tom Tromey  <tromey@redhat.com>
2823
2824         For PR java/6382:
2825         * parse.y (string_convert_int_cst): New function.
2826         (merge_string_cste): Use it.
2827
2828 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2829
2830         * java-tree.h (java_parse_file): Update.
2831         (java_set_yydebug): Remove.
2832         * jcf-parse.c (yydebug): Remove.
2833         (java_set_yydebug): Die.
2834         (java_parse_file): Update.
2835         * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2836
2837 2002-04-24  Tom Tromey  <tromey@redhat.com>
2838
2839         For PR java/6425:
2840         * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
2841         EXPR_WFL_QUALIFICATION of qual_wfl.
2842
2843 2002-04-23  Per Bothner  <per@bothner.com>
2844
2845         * expr.c (PRE_JSR):  Call NOTE_LABEL for return address.
2846         * java-tree.h (BCODE_RETURN_TARGET):  Removed - never set.
2847         (BCODE_TARGET):  Remove BCODE_RETURN_TARGET.
2848
2849 2002-04-23  Tom Tromey  <tromey@redhat.com>
2850
2851         For PR java/6314:
2852         * jvspec.c (lang_specific_driver): Use --resource, not -R.  Also
2853         recognize `-fcompile-resource='.
2854         * gcj.texi (Invoking gcj): Use --resource, not -R.  Expanded text
2855         a bit.
2856
2857 2002-04-22  Alexandre Petit-Bianco  <apbianco@redhat.com>
2858
2859         * jcf-parse.c: (yyparse): Don't prepend "./" to relative
2860         paths. Fixes PR java/2791.
2861
2862 2002-04-19  Andrew Haley  <aph@redhat.com>
2863
2864         * jcf-write.c (push_long_const): lo, hi: New variables.
2865         Use rshift_double to extract the high part of a 64-bit long.
2866         Use WORD_TO_INT to extract the low part.
2867
2868         * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
2869         HOST_WIDE_INT for num.  Use JPOOL_UINT to get it.
2870         CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
2871
2872 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2873
2874         * typeck.c (incomplete_type_error): Remove.
2875
2876 2002-04-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2877
2878         * class.c (make_class_data): Set DECL_ALIGN on static class data,
2879         for hash synchronization.
2880         * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
2881         * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
2882         class_type_node.
2883
2884 2002-04-16  Mark Wielaard  <mark@klomp.org>
2885
2886         * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
2887         negative zero.
2888
2889 2002-04-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2890
2891         Fix for PR java/6294:
2892         * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
2893         interfaces.
2894
2895 2002-04-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2896
2897         Fix for PR java/6085:
2898         * parse.y (patch_method_invocation): Always use build_access_to_thisn
2899         to get enclosing "this" argument for inner-class constructor
2900         invocation. Pass correct arguments to build_access_to_thisn.
2901
2902 2002-04-10  Andreas Jaeger  <aj@suse.de>
2903
2904         * gcj.texi (Input Options): Fix extdirs patch.
2905
2906 2002-04-10  Anthony Green  <green@redhat.com>
2907
2908         * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
2909
2910 2002-04-09  Anthony Green  <green@redhat.com>
2911
2912         * gcj.texi (Input Options): Add --extdirs documentation.
2913         * jcf-dump.c (OPT_extdirs): New macro.
2914         (options): Add extdirs option.
2915         (help): Describe --extdirs.
2916         (main): Handle OPT_extdirs.
2917         * gjavah.c (OPT_extdirs): New macro.
2918         (options): Add extdirs option.
2919         (help): Describe --extdirs.
2920         (main): Handle OPT_extdirs.
2921         * jcf-path.c (jcf_path_init): Add extdirs support.
2922         (jcf_path_extdirs_arg): New function.
2923         (extensions): New variable to hold extensions path entries.
2924         * jvspec.c: Remove -fextdirs= when compiling main().
2925         * lang.c (java_decode_option): Handle -fextdirs=.
2926         * jcf.h (jcf_path_extdirs_arg): Declare new function.
2927         * Make-lang.in: Compile jcf-path with version info for use in
2928         identifying the appropriate libgcj.jar.
2929
2930 2002-04-08  Tom Tromey  <tromey@redhat.com>
2931
2932         For PR libgcj/5303:
2933         * .cvsignore: Added rmic.1 and rmiregistry.1.
2934         * gcj.texi (Top): Link to new nodes.
2935         (Invoking rmic): New node.
2936         (Invoking rmiregistry): Likewise.
2937         * Make-lang.in (java.generated-manpages): Added rmic.1 and
2938         rmiregistry.1.
2939         (java.maintainer-clean): Likewise.
2940         ($(srcdir)/java/rmic.1): New target.
2941         ($(srcdir)/java/rmiregistry.1): Likewise.
2942         (java.install-man): Handle rmic.1 and rmiregistry.1.
2943
2944 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2945
2946         * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
2947         Add note about handling uncaught exceptions. Add an exception handler
2948         to example.
2949
2950 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2951
2952         * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
2953         after using it to patch CALL_EXPR.
2954
2955 2002-04-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2956
2957         * gcj.texi (Invocation): Document CNI invocation API.
2958
2959 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2960
2961         * expr.c (truthvalue_conversion): Rename.  Update.
2962         (expand_compare): Update.
2963         * java-tree.h (java_truthvalue_conversion): New.
2964         * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2965
2966 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2967
2968         * java-tree.h (java_mark_addressable): New.
2969         * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
2970         * typeck.c (mark_addressable): Rename, update.
2971
2972 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2973
2974         * expr.c (build_java_binop): Update.
2975         * java-tree.h (java_signed_type, java_unsigned_type,
2976         java_signed_or_unsigned_type): Update.
2977         * lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
2978         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
2979         * parse.y (patch_binop): Update.
2980         * typeck.c (signed_or_unsigned_type, unsigned_type,
2981         signed_type): Update.
2982
2983 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
2984
2985         * lang.c (LANG_HOOKS_PRINT_ERROR_FUNCTION): Redefine.
2986         (java_dummy_print): Remove.
2987         (lang_print_error): Rename.  Exit early if inhibiting output.
2988         (inhibit_error_printing_function): New.
2989         (java_init): Don't set hook.
2990         (lang_init_source): Use new boolean.
2991
2992 2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>
2993
2994         * parse.y (do_resolve_class): Fix infinite recursion.
2995
2996 2002-03-29  Tom Tromey  <tromey@redhat.com>
2997
2998         * parse.y (check_inner_circular_reference): Ignore incomplete
2999         types.
3000
3001 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3002
3003         * Make-lang.in (builtins.o): Update.
3004         * boehm.c (get_boehm_type_descriptor): Update.
3005         * builtins.c: Include langhooks.h.
3006         * decl.c (java_init_decl_processing): Update.
3007         * java-tree.h (java_type_for_mode, java_type_for_size): New.
3008         * lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
3009         Redefine.
3010         * typeck.c (type_for_mode, type_for_size): Update.
3011
3012 2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>
3013
3014         * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
3015
3016 2002-03-28  Tom Tromey  <tromey@redhat.com>
3017
3018         * except.c (expand_end_java_handler): If the handler type is NULL,
3019         use java.lang.Throwable.  Fixes PR java/5986.
3020
3021 2002-03-28  Alexandre Petit-Bianco  <apbianco@redhat.com>
3022
3023         Fix for PR java/4715:
3024         * jcf-parse.c (parse_source_file_3): New function.
3025         (read_class): Call it.
3026         (java_parse_file): Likewise.
3027
3028 2002-03-28  Jan Hubicka  <jh@suse.cz>
3029
3030         * java/lang.c (java_init_options): Set flag_trapping_math to 0.
3031
3032 2002-03-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3033
3034         * parse.y (resolve_package): Initialize "decl".
3035         (lookup_package_type): Remove unused function.
3036
3037 2002-03-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3038
3039         Fix for PR java/5993:
3040         * parse.y (resolve_package): Return the decl if resolution was
3041         successful. Don't special case "java.lang" and "java.lang.reflect"
3042         packages. Set type_name to the merged identifier.
3043         (resolved_qualified_expression_name): Print error using "name" if
3044         resolve_package returns NULL_TREE.
3045
3046 2002-03-27  Tom Tromey  <tromey@redhat.com>
3047
3048         * expr.c (expand_invoke): Don't generate null pointer check if
3049         we're calling <init>.
3050
3051 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3052
3053         * expr.c (java_lang_expand_expr): Rename java_expand_expr,
3054         fix prototype.
3055         * java-tree.h (java_lang_expand_expr): Similarly.
3056         * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3057         (java_init): Don't set hook.
3058
3059 2002-03-27  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3060
3061         Fix for PR java/5850:
3062         * parse.y (lookup_field_wrapper): Call itself recursively for enclosing
3063         context if field was not found in the current scope.
3064         * expr.c (lookup_field): Don't look in enclosing contexts.
3065
3066 2002-03-26  Tom Tromey  <tromey@redhat.com>
3067
3068         Fix for PR java/5942:
3069         * parse.y (init_src_parse): Added sanity check.
3070         * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
3071         elements, not 11.
3072
3073 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3074
3075         * decl.c (lang_mark_tree): Rename java_mark_tree.
3076         * java-tree.h (java_mark_tree): New.
3077         * java-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
3078
3079 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
3080
3081         * lex.c: Change java_perform_atof to take normal parameters
3082         instead of a pointer to a parameter block.  Call it directly
3083         from java_lex.
3084
3085 2002-03-22  Mark Wielaard  <mark@klomp.org>
3086
3087         Fix for PR java/5368:
3088         * parse.y (resolve_qualified_expression_name): Use decl not field_decl
3089         when printing error message.
3090
3091 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
3092
3093         * decl.c (maybe_build_cleanup): Remove.
3094
3095 2002-03-22  Tom Tromey  <tromey@redhat.com>
3096
3097         Andrew Haley  <aph@cambridge.redhat.com>
3098
3099         * expr.c (build_field_ref): Don't build a check if the field is a
3100         member of `this'.
3101
3102 2002-03-21  Eric Blake  <ebb9@email.byu.edu>
3103
3104         Fix for PR java/6026:
3105         * lex.c (java_lex): Fix parsing of consecutive floats.
3106
3107 2002-03-21  Tom Tromey  <tromey@redhat.com>
3108
3109         * parse.y (build_access_to_thisn): Stop when FROM is not an inner
3110         class.
3111
3112 2002-03-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3113
3114         * cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
3115         insert_block, getdecls, kept_level_p, global_bindings_p): New.
3116
3117 2002-03-20  Nic Ferrier  <nferrier@tapsellferrier.co.uk>
3118
3119         * gcj.texi: @code{gcj} becomes @command{gcj}.
3120         @code{gcc} becomes @command{gcc}.
3121         GcjRaw changed to gnu.gcc.RawData.
3122
3123 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3124
3125         * decl.c (start_java_method): Use new hook.
3126         * lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
3127         (java_init): Remove old hook.
3128
3129 2002-03-18  Alexandre Petit-Bianco  <apbianco@redhat.com>
3130
3131         * builtins.c (define_builtin): Do nothing if `type' is null.
3132         Fixes PR java/5876.
3133
3134 2002-03-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3135
3136         * parse.y (parser_check_super_interface): Fix error message
3137         grammar/order.
3138
3139 2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3140
3141         * jcf-parse.c (get_constant): Delete unused variables.
3142
3143 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3144
3145         * java-tree.h (java_parse_file): New.
3146         * jcf-parse.c (yyparse): Rename java_parse_file.
3147         * lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
3148
3149 2002-03-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3150
3151         * parse.y (craft_constructor): Return the constructor decl.
3152         (java_expand_classes): Update comments.
3153         (lookup_method_invoke): Call fix_constructors immediately for
3154         anonymous class. Fixes PR java/5935.
3155
3156 2002-03-15  Anthony Green  <green@redhat.com>
3157
3158         * jcf-parse.c (yyparse): Don't emit class registration
3159         constructor when compiling resource files.
3160
3161 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3162
3163         * lang.c (java_tree_code_type, java_tree_code_length,
3164         tree_code_name): Delete.
3165         (tree_code_type, tree_code_length, tree_code_name): Define.
3166         (java_init): Don't try to copy into the various tree_code
3167         arrays.
3168
3169 2002-03-12  Tom Tromey  <tromey@redhat.com>
3170
3171         * jcf-parse.c (get_constant) [CONSTANT_String]: String values are
3172         UTF-8, not UCS-2.  Fixes PR java/5923.
3173
3174         * parse.y (qualify_ambiguous_name): Handle case where QUAL_WFL is
3175         a call_expr wrapped in a convert.  Fixes PR java/5848.
3176
3177 2002-03-12  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3178
3179         * jcf-write.c (write_classfile): Improve error strings.
3180
3181 2002-03-11  Eric Blake  <ebb9@email.byu.edu>
3182
3183         * lex.c: Adjust comments to GNU standards.
3184
3185 2002-03-11  Eric Blake  <ebb9@email.byu.edu>
3186
3187         Fix for PR java/5902:
3188         * lex.c (java_lex): Fix parsing of literals.
3189
3190 2002-03-11  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3191
3192         * parse.y (patch_assignment): Wrap the right-hand-side with a save_expr
3193         to prevent it getting evaluated twice in the store checking case.
3194         * expr.c (build_java_arraystore_check): Unwrap SAVE_EXPR's when
3195         examining OBJECT.
3196
3197 2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3198
3199         * decl.c (java_init_decl_processing): Make sure class_type_node
3200         alignment is not less than 64 bits if hash synchronization is enabled.
3201
3202 2002-03-08  Per Bothner  <per@bothner.com>
3203
3204         * parse.y (java_complete_lhs):  Check if patch_assignment
3205         returned an error-mark.
3206
3207         * parse.y (try_builtin_assignconv):  Don't special-case zero.
3208
3209 2002-03-08  Per Bothner  <per@bothner.com>
3210
3211         Fix for PR java/5812.
3212         * expr.c (build_java_jsr):  Take pc arguments, and do lookup_label
3213         here instead of in JSR macro.  Likewise with load_type_state call.
3214         Do the latter on if the return_pc has been verified (the jsr returns).
3215         (JSR):  Now just call build_java_jsr.
3216
3217 2002-03-07  Jeff Sturm  <jsturm@one-point.com>
3218
3219         * java/Make-lang.in (JAVA_TARGET_INSTALL_NAME): Define.
3220         (java.install-common): Link native driver to
3221         JAVA_TARGET_INSTALL_NAME.
3222
3223 2002-03-05  David Billinghurst <David.Billinghurst@riotinto.com>
3224
3225         * builtins.c(cos_builtin): method_return_type ATTRIBUTE_UNUSED
3226         * builtins.c(sin_builtin): Likewise
3227         * builtins.c(sqrt_builtin): Likewise
3228
3229 2002-03-03  Zack Weinberg  <zack@codesourcery.com>
3230
3231         * java/expr.c, java/jcf-parse.c, java/lex.c:
3232         Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
3233         REAL_ARITHMETIC blocks unconditional.  Delete some further
3234         #ifdef blocks predicated on REAL_ARITHMETIC.
3235
3236 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3237
3238         * class.c (init_class_processing): Use ARRAY_SIZE in lieu of
3239         explicit sizeof/sizeof.
3240         * decl.c (java_init_decl_processing): Likewise.
3241         * jcf-parse.c (init_jcf_parse): Likewise.
3242         * parse.y (init_src_parse): Likewise.
3243
3244 2002-03-02  Per Bothner  <per@bothner.com>
3245
3246         Make --CLASSPATH by a synonym for --classpath and -classpath.
3247         Implement --bootclasspath.
3248         * jcf-path.c (classpath_u):  Rename static variable to classpath_user.
3249         (classpath_l):  Remove.
3250         (jcf_path_CLASSPATH_arg):  Remove.
3251         (jcf_path_bootclasspath_arg):  New function.
3252         (jcf_path_seal):  Simplify accordingly.
3253
3254         * jcf.h (jcf_path_bootclasspath_arg):  New declarations.
3255         (jcf_path_CLASSPATH):  Remove declaration.
3256         * jvspec.c (jvgenmain_spec):  Also accept -fbootclasspath*.
3257         (lang_specific_driver):  Translate -bootclasspath.
3258         * lang-options.h:  Add --bootclasspath.  Update --CLASSPATH.
3259         * lang.c (decode_lang_options):  Do jcf_path_init first.
3260         Handle -fCLASSPATH same as -fclasspath.  Also process -fbootclasspath.
3261         * gjavah.c:  Also handle --bootclasspath.
3262         Handle --CLASSPATH as a synonum for --classpath.
3263         * jcf-dump.c: Likewise.
3264
3265         "." is not part of system path, but is the default for --classpath.
3266         * jcf-path.c (jcf_path_init):  Don't add "." to sys_dirs.
3267         (jcf_path_seal):  Add "." if no CLASSPATH specified.
3268
3269         * gcj.texi:  Document changes.
3270
3271 2002-03-01  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3272
3273         * expr.c (build_java_arraystore_check): Fix formatting.
3274
3275 2002-02-28  Alexandre Petit-Bianco  <apbianco@redhat.com>
3276
3277         Fix for PR java/5758, java/5632:
3278         * jcf-parse.c (load_class): Renamed local variable, consider `.' an
3279         inner-class separator too.
3280         * parse.y (do_resolve_class): New local `decl_result.'
3281         Progressively build a name for what can have been loaded.
3282
3283 2002-02-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3284
3285         * expr.c (java_array_data_offset): Removed function.
3286         (JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
3287         (build_java_array_length_access): Obtain "length" value using a
3288         COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
3289         (build_java_arrayaccess): Correct comment. Access "data" using a
3290         COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
3291         (build_java_arraystore_check): New function.
3292         (expand_java_arraystore): Use build_java_arraystore_check.
3293         * parse.y (patch_assignment): Simplify code to insert a store check
3294         when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
3295         * check-init.c (check_init): Update to reflect that an array length
3296         access is now a COMPONENT_REF.
3297         * gcj.texi (Code Generation): Improve documentation of
3298         -fno-bounds-check. Add documentation for -fno-store-check.
3299         * java-tree.h (flag_store_check): Declare.
3300         (build_java_arraystore_check): Declare.
3301         * lang.c (flag_store_check): Initialize to 1.
3302         (lang_f_options): Add store-check option.
3303         * jvspec.c: Don't pass store-check option to jvgenmain.
3304         * lang-options.h: Add help string for -fno-store-check.
3305
3306 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3307
3308         * decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl.
3309         * java-tree.h (java_dup_lang_specific_decl): New.
3310         * lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
3311
3312 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
3313
3314         * builtins.c, decl.c: Delete traditional-mode-related code
3315         copied from the C front end but not used, or used only to
3316         permit the compiler to link.
3317
3318 2002-02-22  Tom Tromey  <tromey@redhat.com>
3319
3320         Fix for PR java/2369:
3321         * jvspec.c (verify_class_name): New function.
3322         (lang_specific_driver): Call it.
3323         (JAVA_START_CHAR_P): New macro.
3324         (JAVA_PART_CHAR_P): Likewise.
3325
3326 2002-02-22  Per Bothner  <per@bothner.com>
3327
3328         * class.c:  Change vtable to be more compatible with g++ v3 abi.
3329         (get_dispatch_table):  Prepend offset-to-top (always 0) and
3330         type_info pointer (currently unimplemented hence NULL) to vtable.
3331         Specifically, prepend offset-to-top and typeinfo ptr (currently null).
3332         (make_class_data):  Variable dtable_start_offset is sizeof 2 pointers.
3333         Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
3334         (build_dtable_decl):  Add declarations for new fields.
3335
3336 2002-02-20  Per Bothner  <per@bothner.com>
3337
3338         * parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
3339         to finit$ (otherwise generate_bytecode_insns drops it). However, we
3340         don't need to set it on the COMPOUND_EXPR - the caller does that.
3341
3342 2002-02-20  Nic Ferrier  <nferrier@tapsellferrier.co.uk>
3343
3344         * gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
3345         `--CLASSPATH' becomes `--classpath.'
3346         * gjavah.c: Likewise.
3347         * jcf-dump.c: Likewise.
3348         * lang-options.h: Likewise.
3349         * lang.c: Likewise.
3350         * jcf-path.c: Updated comment.
3351         (jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
3352         (jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
3353         * jcf.h (jcf_path_CLASSPATH_arg): Ditto.
3354         (jcf_path_CLASSPATH_arg): Ditto.
3355         (classpath_u): Updated leading comment.
3356
3357 2002-02-20  Per Bothner  <per@bothner.com>
3358
3359         * builtins.c (check_for_builtin):  New function.
3360         (build_call_or_builtin):  Remove.
3361         * java-tree.h:  Update accordingly.
3362         * expr.c (expand_invoke):  Use build + check_for_builtin instead
3363         of build_call_or_builtin.
3364         * parse.y (patch_invoke):  Likewise.  This avoids needlessly creating
3365         a new CALL_EXPR node, which means we don't lose the CALL_USING_SUPER
3366         flag (which had caused jcf-write to incorrectly emit invokevirtual).
3367
3368 2002-02-17  Tom Tromey  <tromey@redhat.com>
3369
3370         * java-tree.h (TYPE_STRICTFP): New macro.
3371         (struct lang_type) [strictfp]: New field.
3372         (CLASS_STRICTFP): New macro.
3373         (METHOD_STRICTFP): New macro.
3374         (struct lang_decl) [strictfp]: New field.
3375         * parse.y (method_header): Disallow strictfp constructor or
3376         abstract method.
3377         (STRICT_TK): Move before MODIFIER_TK.
3378         * parse.h (CLASS_MODIFIERS): Added ACC_STRICT.
3379         (METHOD_MODIFIERS): Likewise.
3380         (INTERFACE_MODIFIERS): Likewise.
3381         * jcf-write.c (get_access_flags): Likewise.
3382         * class.c (set_class_decl_access_flags): Recognize ACC_STRICT.
3383         (add_method_1): Likewise.
3384         (get_access_flags_from_decl): Likewise.
3385         * jcf-dump.c (print_access_flags): Print in standard order.  Also,
3386         recognize strictfp flag.
3387         * jcf.h (ACC_STRICT): New define.
3388
3389 2002-02-12  David Billinghurst <Davod.Billinghurst@riotinto.com>
3390
3391         * class.c(build_utf8_ref): Move declaration of decl_size
3392
3393 2002-02-07  Tom Tromey  <tromey@redhat.com>
3394
3395         * gcj.texi (Input Options): --CLASSPATH does not suppress system
3396         path.
3397
3398 2002-02-04  Anthony Green  <green@redhat.com>
3399
3400         * class.c (build_utf8_ref): Put UTF-8 constants into merged
3401         sections if available.
3402
3403 2002-02-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3404
3405         * parse.y (java_expand_classes): Fix typo in static field loop.
3406
3407 2002-02-02  Richard Henderson  <rth@redhat.com>
3408
3409         * class.c (add_field): Mark static fields external.
3410         (build_class_ref): Remove redundant set.
3411         * parse.y (java_expand_classes): Mark static fields of classes
3412         to be compiled as local.
3413         * jcf-parse.c (parse_class_file): Likewise.
3414
3415 2002-02-02  Nic Ferrier  <nferrier@tapsellferrier.co.uk>
3416
3417         * gcj.texi (About CNI): New node.
3418
3419 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3420
3421         PR java/5080
3422         * jcf-parse.c : Check for HAVE_LOCALE_H before using
3423         setlocale() with LC_CTYPE as a parameter.
3424         * jv-scan.c: Same.
3425
3426 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3427
3428         * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
3429         Follow GNU Coding Standards for --version.
3430
3431 2002-01-28  Tom Tromey  <tromey@redhat.com>
3432
3433         * expr.c (build_jni_stub): Ensure storage for `meth' is
3434         generated.
3435         * parse.y (java_complete_expand_methods): Set
3436         current_function_decl before building JNI stub.
3437
3438 2002-01-26 Andreas Tobler <a.tobler@schweiz.ch>
3439
3440         * gcc/java/builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not
3441         BUILT_IN_SQRTF.
3442
3443 2002-01-22  Tom Tromey  <tromey@redhat.com>
3444
3445         * decl.c (java_init_decl_processing): Use add_predefined_file.
3446         Predefine RawData.java.
3447         (predef_filenames): Removed.
3448         (java_init_decl_processing): Don't register predef_filenames.
3449         * jcf-parse.c (add_predefined_file): New function.
3450         (predefined_filename_p): Rewrote.
3451         (predefined_filename_p): No longer static.
3452         * decl.c (java_init_decl_processing): Call initialize_builtins.
3453         * Make-lang.in (JAVA_OBJS): Added builtins.o.
3454         (java/builtins.o): New target.
3455         * builtins.c: New file.
3456         * parse.y (patch_invoke): Use build_call_or_builtin.
3457         * java-tree.h (build_call_or_builtin): Declare.
3458         (initialize_builtins): Declare.
3459         (java_set_exception_lang_code): Removed unused declaration.
3460         (PREDEF_FILENAMES_SIZE): Removed.
3461         (java_tree_index): Added JTI_PREDEF_FILENAMES.
3462         (predef_filenames): New define.
3463         (add_predefined_file): Declare.
3464         (predefined_filename_p): Declare.
3465         * expr.c (expand_invoke): Use build_call_or_builtin.
3466
3467 2002-01-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3468
3469         * parse.y (patch_switch_statement): Fix format specifier.
3470
3471 2002-01-16  Tom Tromey  <tromey@redhat.com>
3472
3473         More for PR java/5365:
3474         * gjavah.c (print_stub_or_jni): Cause exception to be thrown by
3475         default.
3476         (process_file): Generate include for
3477         java.lang.UnsupportedOperationExceptions.
3478
3479 2002-01-15  Andreas Jaeger  <aj@suse.de>
3480
3481         * .cvsignore: Add man pages.
3482
3483 2002-01-15  Tom Tromey  <tromey@redhat.com>
3484
3485         Fix for PR java/5365:
3486         * gjavah.c (process_file): Turn class name into a file name.
3487
3488 2002-01-14  Matthias Klose  <doko@debian.org>