OSDN Git Service

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