]> gcc.gnu.org Git - gcc.git/blame - gcc/java/ChangeLog
(fr30_setup_incoming_varargs): Change arguments to match
[gcc.git] / gcc / java / ChangeLog
CommitLineData
809e3e7f
NS
12004-07-06 Nathan Sidwell <nathan@codesourcery.com>
2
3 * java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
4 * class.c (add_interface_do): Use BINFO_VIRTUAL_P.
5
95b4aca6
NS
62004-07-05 Nathan Sidwell <nathan@codesourcery.com>
7
8 * class.c (make_class): Use make_tree_binfo.
9 (set_super_info, add_interface_do): Likewise.
10 * java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.
11
dafa622b
RM
122004-07-04 Ranjit Mathew <rmathew@hotmail.com>
13
14 * verify.c: Correct array element access formatting thinko.
15
c516c1ff
RM
162004-07-04 Ranjit Mathew <rmathew@hotmail.com>
17
18 * verify.c: Insert a short blurb at the start referring to the JVMS.
19 (merge_type_state): Remove redundant nested if statement.
20 (verify_jvm_instructions): Ensure current_subr is initialised to
21 NULL_TREE.
22 Minor formatting fixes all over the place.
23
82c82743
RH
242004-07-02 Richard Henderson <rth@redhat.com>
25
26 * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
27
c9b9aa64
RH
282004-07-01 Richard Henderson <rth@redhat.com>
29
30 * class.c (registerClass_libfunc): Remove.
31 (init_class_processing): Don't set it.
32 (emit_register_classes): Take list_p parameter. Fill it in
33 with _Jv_RegisterClass calls.
34 * decl.c (java_init_decl_processing): Don't call
35 init_resource_processing.
36 * jcf-parse.c (java_emit_static_constructor): New.
37 (java_parse_file): Call it.
38 * resource.c (registerResource_libfunc): Remove.
39 (init_resource_processing): Remove.
40 (write_resource_constructor): Take list_p parameter. Fill it in
41 with _Jv_RegisterResource calls.
42 * java-tree.h: Update prototypes.
43
9c5fdae6
BM
442004-06-29 Bryce McKinlay <mckinlay@redhat.com>
45
46 PR java/1262
47 * class.c (layout_class_method): Do not override package-private
48 method if its in a different package.
49 (split_qualified_name): Move here from parse.y. Rename from
50 breakdown_qualified. Add comment.
51 (in_same_package): Move here from parse.y. Add comment.
52 * java-tree.h (break_down_qualified, in_same_package): Declare.
53 (in_same_package): Likewise.
54 * parse.y (breakdown_qualified, in_same_package): Moved to class.c.
55 Callers updated.
56
ba60e475
AH
572004-06-29 Andrew Haley <aph@redhat.com>
58
59 * except.c (expand_start_java_handler): Push a new binding level.
60 Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
61 register_exception_range() to register where we'll do it.
62 (expand_end_java_handler): Remove old bogus code. Replace with
63 new logic that simply builds TRY_CATCH_EXPRs and inserts them at
64 the top of the expression we're curently building.
65 (maybe_end_try): Delete.
66 * decl.c (binding_level.exception_range): New field.
67 (clear_binding_level): Add field exception_range. Reformat.
68 (poplevel): Call expand_end_java_handler().
69 (poplevel): Call java_add_stmt only if functionbody is false.
70 (maybe_poplevels): Don't call maybe_end_try() from here.
71 (end_java_method): Clear no longer used trees in function decl.
72 (register_exception_range): New function.
73 * java-tree.h (register_exception_range, struct eh_range): Declare.
74
a0cc19cb
BM
752004-06-28 Bryce McKinlay <mckinlay@redhat.com>
76
77 * jcf-write.c (get_classfile_modifiers): Formatting fixes.
78
fe0b9fb5
RM
792004-06-27 Ranjit Mathew <rmathew@hotmail.com>
80
81 Formatting fixes.
82 * expr.c (class_has_finalize_method): Fix method name indentation.
83 (expand_java_call): Remove K&R style parameter declaration.
84 (expand_invoke): Fix statement indentation.
85 (expand_java_field_op): Likewise.
86 * parse-scan.y: Fix typo.
87 (reset_report): Fix method name indentation.
88 * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
89 line. Fix typos.
90 * verify.c (verify_jvm_instructions): Document parameters, insert
91 page break.
92 * lang.c (lang_init_source): Fix method name indentation.
93 * class.c (common_enclosing_context_p): Likewise.
94 (emit_symbol_table): Fix parameter list indentation.
95 * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
96 parameter declaration.
97 * constants.c: Fix copyright notice indentation.
98 * typeck.c (find_method_in_superclasses): Fix parameter list
99 indentation.
100 (find_method_in_interfaces): Likewise.
101 * zextract.c (makelong): Fix method name indentation.
102
0f6cd83f
BM
1032004-06-26 Bryce McKinlay <mckinlay@redhat.com>
104
105 PR java/15715.
106 * parse.y (create_interface): Set correct access modifiers for
107 interfaces.
108 * jcf-write.c (get_classfile_modifiers): New function.
109 (generate_classfile): Use get_classfile_modifiers, not
110 get_access_flags.
111
1122004-06-26 Bryce McKinlay <mckinlay@redhat.com>
113
114 * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
115 dependency to current parser context, not NULL_TREE, for top-level
116 classes.
117 (jdep_resolve_class): Enable member access check for all inner
118 class dependencies.
119
808fd801
BM
1202004-06-26 Bryce McKinlay <mckinlay@redhat.com>
121
122 * parse.y (qualify_and_find): Pass type decl, not identifier, to
123 load_class.
124
6573a104
BM
1252004-06-26 Bryce McKinlay <mckinlay@redhat.com>
126
127 PR java/15734
128 * expr.c (expand_java_field_op): Ensure that target class for static
129 field access has been loaded.
130
ed7f2369
BM
1312004-06-26 Bryce McKinlay <mckinlay@redhat.com>
132 Ranjit Mathew <rmathew@hotmail.com>
133
134 PR java/1207, java/16178
135 * jcf-parse.c (load_class): Return immediately if passed a type decl
136 where CLASS_FROM_SOURCE_P is set. Remove FIXME.
137 * parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P
138 before calling load_class.
139 (qualify_and_find): Likewise.
140 (find_in_imports_on_demand): Likewise.
141 (find_applicable_accessible_methods_list): Likewise.
142
1432004-06-24 Bryce McKinlay <mckinlay@redhat.com>
144
145 * parse.y (java_layout_seen_class_methods): Don't call load_class
146 on class defined by source parser.
147
d01a8ee0
BM
1482004-06-23 Bryce McKinlay <mckinlay@redhat.com>
149
150 * parse.y (set_nested_class_simple_name_value): Removed.
151 (java_complete_expand_class): Remove calls to
152 set_nested_class_simple_name_value.
153
56c5197b
AH
1542004-06-22 Andrew Haley <aph@redhat.com>
155 Ranjit Mathew <rmathew@hotmail.com>
156
157 Fixes PR java/16113.
158 * decl.c (force_poplevels): Remove call to expand_end_bindings.
159
815c5191
RM
1602004-06-22 Ranjit Mathew <rmathew@hotmail.com>
161
162 * parse.y (create_class): Correct diagnostic message about
163 java.lang.Object extending anything else.
164
44de5aeb
RK
1652004-06-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
166
167 * class.c (build_class_ref): Add new operand for COMPONENT_REF.
168 (build_static_field_ref): Likewise and add new operands for ARRAY_REF.
169 * constants.c (build_ref_from_constant_pool): Likewise.
170 * expr.c (build_java_array_length_access): Likewise.
171 (build_get_class, build_field_ref, build_known_method_ref): Likewise.
172 (invoke_build_dtable, build_invokevirtual): Likewise.
173 (build_invokeinterface, java_expand_expr): Likewise.
174 (emit_init_test_initialization): Likewise.
175 * java-gimplify.c (java_gimplify_new_array_init): Likewise.
176 * parse.y (make_qualifed_name, build_array_ref): Likewise.
177
979bf9a1
AH
1782004-06-21 Andrew Haley <aph@redhat.com>
179
180 * java-gimplify.c (java_gimplify_block): set TREE_USED on the new
181 block.
182
b40410b9
JM
1832004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
184
185 * jcf.h (struct JCF): Change java_source, right_zip and finished
186 to unsigned int.
187 * lex.h (struct java_lexer): Change hit_eof, read_anything,
188 byte_swap and use_fallback to unsigned int.
189 * parse.h (struct _jdep): Change flag0 to unsigned int.
190
cfb6b4b8
RM
1912004-06-17 Ranjit Mathew <rmathew@hotmail.com>
192
193 Fixes PR java/13948
194 * parse.y (java_layout_seen_class_methods): Ensure class is loaded
195 before trying to lay out its methods.
196 * jcf-parse.c (read_class): Track parsed files using canonical paths
197 obtained via lrealpath from libiberty.
198 (java_parse_file): Likewise.
199 (parse_source_file_1): Rename formal parameter to reflect its
200 modified purpose. Minor formatting fix.
201
096f22f4
PB
2022004-06-15 Paolo Bonzini <bonzini@gnu.org>
203
204 * class.c (emit_register_classes): Make the function uninlinable,
205 do not set current_function_cannot_inline.
206 * resource.c (write_resource_constructor): Do not reset
207 flag_inline_functions around rest_of_compilation.
208
c1b69e3c
AP
2092004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
210
211 PR java/15769
212 * expr.c (java_truthvalue_conversion): Handle
213 UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
214 ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
215 i.e. return the expression.
216
a757585a
MA
2172004-06-03 Mark G. Adams <mark.g.adams@sympatico.ca>
218
219 * gjavah.c: Include version.h
220
1aae9cdc
BM
2212004-05-31 Bryce McKinlay <mckinlay@redhat.com>
222
223 * jcf-write.c (generate_bytecode_conditional): Correct handling
224 of unordered conditionals. Add comment.
225
edf74484
RM
2262004-05-29 Ranjit Mathew <rmathew@hotmail.com>
227 Per Bothner <per@bothner.com>
228
229 * java-tree.h (DECL_LOCAL_FINAL_IUD): New macro to test if a
230 local variable was initialised upon declaration.
231 * parse.y (declare_local_variables): Set DECL_LOCAL_FINAL_IUD if
232 variable was final and initialised upon declaration.
233 * check-init.c (check_final_reassigned): Give error only if a blank
234 final is not definitely unassigned or if an initialised final is
235 reassigned.
236 (check_bool_init): Respect JLS2 16.1.7 requirements for boolean
237 assignment expressions. Remove case MODIFY_EXPR, label do_default.
238 (check_init): Perform initialised-variable-removing-optimisation
239 only on non-final local variables.
240
138c4fd4
BM
2412004-05-28 Bryce McKinlay <mckinlay@redhat.com>
242
70c39ccb
BM
243 * jcf-write.c (generate_bytecode_conditional): Handle binops
244 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
245 and LTGT_EXPR.
138c4fd4
BM
246 (generate_bytecode_insns): Likewise.
247
711e3187
BM
2482004-05-28 Bryce McKinlay <mckinlay@redhat.com>
249
250 * check-init.c (check_init): Handle binops UNLT_EXPR, UNLE_EXPR,
251 UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, and LTGT_EXPR.
252
ca60dce2
BM
2532004-05-28 Bryce McKinlay <mckinlay@redhat.com>
254
255 * gcj.texi (Object allocation): Remove _Jv_AllocBytes.
256 (Mixing with C++): Document JvAllocBytes and RawDataManaged.
257
062583ea
BM
2582004-05-26 Bryce McKinlay <mckinlay@redhat.com>
259
260 * decl.c (struct binding_level): Add GTY marker. Compile
261 binding_depth unconditionally.
262 (current_binding_level, free_binding_level, global_binding_level):
263 Likewise.
264 (clear_binding_level): Unconditionally set binding_depth.
265 (make_binding_level): Use ggc_alloc_cleared, not xmalloc.
266
b9d861bc
BM
2672004-05-26 Bryce McKinlay <mckinlay@redhat.com>
268
269 * lex.c (java_new_lexer): Set 'encoding'.
270 (java_read_char): Improve error message for unrecognized characters.
271 * lex.h (struct java_lexer): New field 'encoding'.
272
4f4e53dd
PB
2732004-05-23 Paolo Bonzini <bonzini@gnu.org>
274
275 * Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
276
f1865cde
MW
2772004-05-21 Mark Wielaard <mark@klomp.org>
278
279 * gjavah.c (print_stub_or_jni): Mark functions only JNIEXPORT, not
280 extern.
281
20cb64fd
PB
2822004-05-19 Paolo Bonzini <bonzini@gnu.org>
283
284 * typeck.c: Remove non-printable character 160.
285
66ba7273
RM
2862004-05-17 Ranjit Mathew <rmathew@hotmail.com>
287
288 * check-init.c: Correct minor typos.
289
eadf906f
DN
2902004-05-13 Diego Novillo <dnovillo@redhat.com>
291
292 * Make-lang.in, expr.c, java-gimplify.c: Rename
293 tree-simple.[ch] to tree-gimple.[ch].
294
c9ecc336
RM
2952004-05-14 Ranjit Mathew <rmathew@hotmail.com>
296
297 * java-gimplify.c (java_gimplify_expr): Correct minor typos.
298
6de9cd9a
DN
2992004-05-13 Diego Novillo <dnovillo@redhat.com>
300
301 Merge from tree-ssa-20020619-branch. See
302 ChangeLog.tree-ssa for details.
303
304 * Make-lang.in, builtins.c, check-init.c, class.c,
305 constants.c, decl.c, except.c, expr.c, java-except.h,
306 java-tree.def, java-tree.h, jcf-parse.c, jcf-write.c,
307 lang.c, lang.opt, parse.y, resource.c: Merged.
308 * java-gimplify.c: New file.
309
af434fa7
AH
3102004-05-10 Andrew Haley <aph@redhat.com>
311
312 * parse.y (create_class): Set TYPE_VFIELD.
313 * decl.c (java_init_decl_processing): Likewise.
314
315 * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
316 * class.c (make_method_value): Replace DECL_VINDEX with call to
317 get_method_index().
318 (get_dispatch_vector): Likewise.
319 (layout_class_method): Likewise.
320 Replace set of DECL_VINDEX with call to set_method_index().
321 (set_method_index): New function.
322 (get_method_index): New function.
323 * java-tree.h (set_method_index): New function decl.
324 (get_method_index): New function decl.
325
7cef5027
AP
3262004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
327
328 * parse.y (check_pkg_class_access): Add new argument
329 and use it when cl is NULL to call lookup_cl on it.
330 (parser_check_super_interface): Do not call lookup_cl.
331 Pass this_decl to check_pkg_class_access and NULL
332 instead of lookup_cl.
333 (parser_check_super): Update for change in
334 check_pkg_class_access.
335 (do_resolve_class): Likewise.
336 (process_imports): Likewise.
337 (find_in_imports_on_demand): Likewise.
338 (resolve_qualified_expression_name): Likewise.
339
8ae6595c
RM
3402004-05-06 Ranjit Mathew <rmathew@hotmail.com>
341
342 Fixes PR java/9685, PR java/15073
343 * parse.y (accessibility_string): New method.
344 (not_accessible_field_error): Use accessibility_string()
345 instead of java_accstring_lookup().
346 (resolve_qualified_expression_name): Check with
347 check_pkg_class_access() before allowing access using
348 qualified names.
349 Fix comment typo.
350 Use check_pkg_class_access() instead of not_accessible_p()
351 for unqualified types.
352 (not_accessible_p): Use DECL_CONTEXT (member) instead of
353 REFERENCE for package-private access checking.
354 (patch_method_invocation): Use accessibility_string() instead
355 of java_accstring_lookup().
356
3fb577a5
RM
3572004-04-30 Ranjit Mathew <rmathew@hotmail.com>
358
359 Fixes PR java/15133
360 * gjavah.c (struct method_name): Add member is_native.
361 (overloaded_jni_method_exists_p): Match candidate method only if
362 it is native.
363 (print_method_info): Initialise is_native flag from the method's
364 access flags.
365
2d99c042
RS
3662004-04-30 Roger Sayle <roger@eyesopen.com>
367
368 * builtins.c (java_builtins): Add acos, asin, ceil and floor.
369 (initialize_builtins): Likewise, define acos, asin, ceil and floor.
370
a95cd5a0
RS
3712004-04-22 Roger Sayle <roger@eyesopen.com>
372
373 * resource.c (write_resource_constructor): Guard call to possibly
374 NULL targetm.asm_out.constructor with targetm.have_ctors_dtors.
375
f5310108
BM
3762004-04-19 Bryce McKinlay <mckinlay@redhat.com>
377
378 * class.c (make_class_data): Add new field aux_info.
379 * decl.c (java_init_decl_processing): Push type and decl for
380 `aux_info'.
381
245c3c04
BM
3822004-04-15 Bryce McKinlay <mckinlay@redhat.com>
383
384 * expr.c (expand_java_NEW): Don't use size argument for
385 _Jv_AllocObject calls.
386 * parse.y (patch_invoke): Likewise.
387
aeb95628
BM
3882004-04-12 Bryce McKinlay <mckinlay@redhat.com>
389
390 * expr.c (build_invokeinterface): Remove unused variables to
391 fix warnings.
392
d7afe286
BM
3932004-04-12 Bryce McKinlay <mckinlay@redhat.com>
394
395 * class.c (get_interface_method_index): New function. Return dispatch
396 index for interface method.
397 (make_method_value): For interface methods, set index field to
398 iface dispatch index, not DECL_VINDEX.
399 * expr.c (build_invokeinterface): Use get_interface_method_index.
400
8df83eae
RK
4012004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
402
403 * jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
404
31023ac5
AH
4052004-03-31 Andrew Haley <aph@redhat.com>
406
407 PR java/14104
408 * jcf-io.c (opendir_in_zip): Tidy up error handling.
409
1431042e
ZW
4102004-03-30 Zack Weinberg <zack@codesourcery.com>
411
412 * builtins.c, expr.c, jcf.h, parse.h: Use new shorter
413 form of GTY markers.
414
f6e9619a
MM
4152004-03-25 Marcus Meissner <meissner@suse.de>
416
417 PR java/14689:
418 * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
419
986dc4e5
TT
4202004-03-23 Tom Tromey <tromey@redhat.com>
421
422 PR java/14315:
423 * jcf-write.c (make_class_file_name): Don't report if mkdir
424 failed with EEXIST.
425
37214c41
TT
4262004-03-23 Tom Tromey <tromey@redhat.com>
427
428 * gcj.texi (Extensions): Document GCJ_PROPERTIES.
429
c048d56d
KH
4302004-03-20 Kazu Hirata <kazu@cs.umass.edu>
431
432 * class.c, gjavah.c, lang.c: Fix comment typos.
433 * gcj.texi: Fix typos.
434
24d82bce
PB
4352004-03-19 Per Bothner <per@bothner.com>
436
678fccd5
PB
437 * gcj.texi (Code Generation): Document new flags and assert defaults.
438
24d82bce
PB
439 * class.c (assume_compiled_node_struct): Rename type to
440 class_flag_node_struct, as it is now also used for enable_assertions.
441 Rename assume_compiled_node typedef. Rename excludep field to value.
442 (find_assume_compiled_node): Rename function to find_class_flag_node.
443 Minor optimization - avoid needless strlen.
444 (add_assume_compiled): Some tweaking and optimization.
445 Rename and generalize to add_class_flag takem an extra parameter.
446 (add_assume_compled): New just calls add_class_flag.
447 (add_enable_assert, enable_assertions): New functions.
448 (enable_assert_tree): New static.
449 * java-tree.h (add_enable_assert, enable_assertions): New declarations.
450 * lang.opt (fenable-assertions, fenable-assertions=,
451 fdisable-assertions, fdisable-assertions=): New options.
452 * lang.c (java_handle_option): Handle new options.
453 * parse.y (build_incomplete_class_ref): Handle class$ in an inner
454 class in an interface - create helper class nested in outer interface.
1431042e 455 (build_assertion): Short-circuit if enable_assertions is false.
24d82bce 456
eb34af89
RK
4572004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
458
459 * java-tree.h: Changes throughout to add checking to macros
460 and numerous whitespace changes.
461 (VAR_OR_FIELD_CHECK): New macro.
462 * jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC,
463 FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL.
464
e4b27b12
PB
4652004-03-16 Per Bothner <per@bothner.com>
466
c4cef86b
PB
467 * jcf-jump.c (options): New --print-constants option.
468 * gcj.texi (Invoking jcf-dump): Document --print-constants.
469
e4b27b12
PB
470 * jcf-dump.c (flag_print_constant_pool): Default to off.
471 (print_constant_terse_with_index): New helper function.
472 (various places): Check flag_print_constant_pool where missing.
473 (main): If verbose set flag_print_constant_pool.
474 (HANDLE_INNERCLASSES_ATTRIBUTE): Null inner class name is anonymous.
475
bfb7b172
AH
4762004-03-15 Andrew Haley <aph@redhat.com>
477
478 PR java/14581
479 * parse.y (java_complete_lhs): Check that final variable has an
480 initializer.
481
0bb1600a
AH
4822004-03-12 Andrew Haley <aph@redhat.com>
483
484 PR java/14551
485 * typeck.c (convert): Clear TREE_OVERFLOW after an integer
486 conversion.
487
083474cc
RS
4882004-02-29 Roger Sayle <roger@eyesopen.com>
489
490 * jcf-parse.c (java_parse_file): Handle the case that input_filename
491 is NULL.
492
202167e7
PB
4932004-02-27 Per Bothner <per@bothner.com>
494
495 * parse.y (build_assertion): Re-do 02-25 change following Jeff Sturm
496 suggestion: Use build_incomplete_class_ref.
6bd5c787 497 This fixes PR java/13508, java/11714.
202167e7 498
88462c42
KH
4992004-02-27 Kazu Hirata <kazu@cs.umass.edu>
500
501 * java/parse.h: Update copyright.
502
bddefd4f
AH
5032004-02-26 Andrew Haley <aph@redhat.com>
504
505 PR java/14231:
506 * parse.y (check_interface_throws_clauses): Check for
507 !METHOD_INVISIBLE (iface_method).
508 * class.c (layout_class_methods): Check for CLASS_INTERFACE as
509 well as CLASS_ABSTRACT.
1431042e 510
9980cc4b
PB
5112004-02-25 Per Bothner <per@bothner.com>
512
513 * parse.y (build_assertion): If we're in an inner class, create the
514 class$ helper routine in the outer class.
515
4221057e
RH
5162004-02-19 Richard Henderson <rth@redhat.com>
517
518 * parse.y (switch_label): Use make_node for DEFAULT_EXPR.
519
fd1146d4
GK
5202004-02-16 Geoffrey Keating <geoffk@apple.com>
521
522 * Make-lang.in (java.install-man): Add extra dependencies.
523
c7dad005
GK
5242004-02-13 Geoffrey Keating <geoffk@apple.com>
525
526 * Make-lang.in: Install man pages under the same names
527 (possibly transformed) as the program they document.
528
0237b2dc
JM
5292004-02-10 Joseph S. Myers <jsm@polyomino.org.uk>
530
531 * gjavah.c: Include "intl.h".
532 (error): New function.
533 (main): Call gcc_init_libintl.
534 (get_field_name, throwable_p, print_c_decl, print_full_cxx_name,
535 print_stub_or_jni, process_file, main): Use error rather than
536 fprintf.
537 (print_method_info, usage, help, version, main): Mark strings for
538 translation with _. Avoid splitting up sentences. Send
539 information messages to stdout.
540 * jcf-dump.c: Include "intl.h".
541 (main): Call gcc_init_libintl.
542 (process_class, usage, help, version, main, CHECK_PC_IN_RANGE):
543 Mark error, usage and version messages for translation with _.
544 Avoid splitting up sentences.
545 * jv-scan.c: Include "intl.h".
546 (fatal_error, warning): Change parameter s to msgid. Translate
547 messages.
548 (main): Call gcc_init_libintl.
549 (usage, help, version): Mark error, usage and version messages for
550 translation with _. Avoid splitting up sentences.
551 * jvgenmain.c: Include "intl.h".
552 (main): Call gcc_init_libintl.
553 (usage, main): Mark error messages for translation with _.
554 * Make-lang.in (GCJH_OBJS, JVSCAN_OBJS, JCFDUMP_OBJS,
555 JVGENMAIN_OBJS): Add intl.o.
556 (java/jcf-dump.o, java/gjavah.o, java/jv-scan.o,
557 java/jvgenmain.o): Update dependencies.
558
e333a618
PB
5592004-02-08 Per Bothner <per@bothner.com>
560
561 * parse.y (resolve_qualified_expression_name): In case of inaccessible
562 class don't use not_accessible_field_error, which can get confused.
563
02ba6b22
KC
5642004-02-05 Kelley Cook <kcook@gcc.gnu.org>
565
566 Make-lang.in (po-generated): Delete.
567
136e64db
KH
5682004-02-05 Kazu Hirata <kazu@cs.umass.edu>
569
570 * Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
571 Depend on target.h.
572 * decl.c: Include target.h.
573 (start_java_method): Replace PROMOTE_PROTOTYPES with
574 targetm.calls.promote_prototypes.
575 * expr.c: Include target.h.
576 (pop_arguments): Replace PROMOTE_PROTOTYPES with
577 targetm.calls.promote_prototypes.
578 * parse.y: Include target.h.
579 (start_complete_expand_method): Replace PROMOTE_PROTOTYPES
580 with targetm.calls.promote_prototypes.
581
e146f815
KH
5822004-02-04 Kazu Hirata <kazu@cs.umass.edu>
583
584 * typeck.c: Update copyright.
585
4e0e4a49
TT
5862004-02-02 Tom Tromey <tromey@redhat.com>
587
588 * decl.c (java_init_decl_processing): Remove duplicate
589 gnu/gcj/RawData.
590
71cbe2c1
KC
5912004-01-30 Kelley Cook <kcook@gcc.gnu.org>
592
1431042e 593 * Make-lang.in (doc/gcj.dvi): Use $(abs_docdir).
71cbe2c1 594
ae8f0c17
AP
5952004-01-28 Andrew Pinski <pinskia@physics.uc.edu>
596
597 * expr.c (build_field_ref): Move variable
598 definition up.
599
6d23f07f
AH
6002004-01-28 Andrew Haley <aph@redhat.com>
601
602 * expr.c (build_field_ref): Widen field offset.
603
ea095e9a
AH
6042004-01-27 Andrew Haley <aph@redhat.com>
605
606 java/13273
607 * parse.y (check_interface_throws_clauses): Make sure class_decl
608 has been loaded.
609
5238574f
JS
6102004-01-22 Jeff Sturm <jsturm@one-point.com>
611
612 PR java/13733
613 * parse.y (patch_assignment): Don't modify lhs_type for
614 reference assignments.
615
a541f69d
KC
6162004-01-20 Kelley Cook <kcook@gcc.gnu.org>
617
618 * Make-lang.in: Replace $(docdir) with doc.
619 (java.info, java.srcinfo, java.man, java.srcman): New rules.
620 (java.install-man): Revamp rule.
1431042e 621
e165d61b
KC
6222004-01-20 Kelley Cook <kcook@gcc.gnu.org>
623
1431042e
ZW
624 * Make-lang.in (JAVA_INSTALL_NAME, JAVA_TARGET_INSTALL_NAME,
625 GCJH_TARGET_INSTALL_NAME): Define via a immediate $(shell)
e165d61b
KC
626 instead of deferred backquote.
627
cf5da2b9
AP
6282004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
629
630 * typeck.c (find_method_in_interfaces): Move variable
631 definition up.
632
e081a9c4
AH
6332004-01-16 Andrew Haley <aph@redhat.com>
634
635 PR java/13273:
636 * typeck.c (shallow_find_method): New.
637 (find_method_in_superclasses): New.
638 (find_method_in_interfaces): New.
639 (lookup_do): Rewrite.
640 * java-tree.h (SEARCH_ONLY_INTERFACE): Delete.
641
642 * jcf-parse.c (read_class): Save and restore output_class.
643 * decl.c (java_expand_body): Set output_class from fndecl.
644
71e68384
MC
6452004-01-15 Michael Chastain <mec.gnu@mindspring.com>
646
647 * class.c (gen_indirect_dispatch_tables): Fix string length
648 calculations.
649
03787dfd
KC
6502004-01-15 Kelley Cook <kcook@gcc.gnu.org>
651
652 * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
653 (java.srcextra): Copy above back to source directory if requested.
654 (po-generated): Delete reference to $(parsedir).
655 (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
656 Use implicit rule.
657
4b589eab
JH
6582004-01-14 Jan Hubicka <jh@suse.cz>
659
660 * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
661 estimation.
662
0fab64a3
MM
6632004-01-09 Mark Mitchell <mark@codesourcery.com>
664
665 * java-tree.h (java_expand_expr): Change prototype.
666 * expr.c (java_expand_expr): Add alt_rtl parameter.
667
85194ee9
AH
6682004-01-09 Andrew Haley <aph@redhat.com>
669
670 PR java/12755:
671 * parse.y (java_fix_constructors): Set output_class.
672 (java_reorder_fields): Likewise.
673 (java_layout_classes): Likewise.
674 (java_expand_classes): Generate indirect dispatch tables.
675 (java_expand_classes): Set output_class.
676 (java_finish_classes): Likewise.
677 * lang.c (java_init): Turn on always_initialize_class_p if we're
678 using indirect dis[atch.
679 (java_decl_ok_for_sibcall): Use output_class, not current_class.
680 (java_get_callee_fndecl): Use class local atable.
1431042e 681 * jcf-parse.c
85194ee9
AH
682 (always_initialize_class_p): Decl moved to java-tree.h.
683 (HANDLE_CLASS_INFO): Set output_class.
684 (read_class): Likewise.
685 (parse_class_file): Call gen_indirect_dispatch_tables.
686 (parse_zip_file_entries): Set output_class.
687 (java_parse_file): Set output_class. Don't emit symbol tables.
688 * java-tree.h (output_class): New.
689 Remove global declarations for otable, atable, and ctable.
690 (always_initialize_class_p): moved here from decl.c.
691 (DECL_OWNER): New.
692 (TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL,
693 TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL,
694 TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New.
695 (struct lang_type): Add otable_methods, otable_decl,
696 otable_syms_decl, atable_methods, atable_decl, atable_syms_decl,
697 ctable_decl, catch_classes, type_to_runtime_map.
698 * expr.c (build_field_ref): Make otable, atable, and ctable class
699 local rather than global.
700 (build_known_method_ref): Likewise.
701 (build_invokeinterface): Likewise.
702 (java_expand_expr): Pass runtime type (rather than actual type) to
703 expand_start_catch.
704 * except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for
705 this class. Look up each class in that map to delete duplicates.
706 (expand_end_java_handler): Pass runtime type (rather than actual
707 type) to expand_start_catch.
708 * decl.c: (always_initialize_class_p): Decl moved to java-tree.h.
709 (do_nothing): New.
710 (java_init_decl_processing): Rearrange things. Remove global
711 declarations of otable, atable, and ctable.
712 (java_init_decl_processing): Make lang_eh_runtime_type do_nothing.
713 (java_expand_body): Set output_class.
714 * constants.c (build_constant_data_ref): Use output_class, not
715 current_class.
716 (alloc_name_constant): Likewise.
717 * class.c (gen_indirect_dispatch_tables): New.
718 (build_class_ref): Generate hard reference to superclass, even if
719 using indirect dispatch.
720 (build_static_field_ref): Use class local atable.
721 (make_class_data): Generate hard reference to superclass, even if
722 using indirect dispatch.
723 Generate symbolic references to interfaces when using indirect
724 dispatch.
725 (make_class_data): Emit otable, atable, and ctable.
726 Make otable, atable, and ctable class local rather than global.
727 (emit_catch_table): Make otable, atable, and ctable class local
728 rather than global.
1431042e 729
df9fe6e5
AP
7302003-12-25 Andrew Pinski <pinskia@physics.uc.edu>
731
19a4e5b7
AP
732 * parse.y (catch_clause_parameter): Fix typo.
733
df9fe6e5 734 PR java/13404
1431042e 735 * parse.y: (catch_clause_parameter): Return early if $3, aka
df9fe6e5
AP
736 formal_parameter, is null.
737
3a976c72
KH
7382003-12-20 Kazu Hirata <kazu@cs.umass.edu>
739
740 * class.c: Remove uses of "register" specifier in
741 declarations of arguments and local variables.
742 * decl.c: Likewise.
743 * expr.c: Likewise.
744 * gjavah.c: Likewise.
745 * jcf-dump.c: Likewise.
746 * jcf-io.c: Likewise.
747 * jcf-parse.c: Likewise.
748 * jcf-write.c: Likewise.
749 * keyword.h: Likewise.
750 * parse.y: Likewise.
751 * typeck.c: Likewise.
752 * verify.c: Likewise.
753
439020ec
KC
7542003-12-06 Kelley Cook <kcook@gcc.gnu.org>
755
756 * Make-lang.in (GCJ_CROSS_NAME): Delete.
757 (java.install_common, java.install-man): Adjust for above.
758 (java.uninstall): Likewise.
759
02972627
MK
7602003-12-03 Michael Koch <konqueror@gmx.de>
761
762 * class.c (make_class_data):
763 Push field value to 'hack_signers' instead of 'signers'.
764 * decl.c (java_init_decl_processing):
765 Push field 'hack_signers' instead of 'signers'.
766
eb158727
ZW
7672003-12-03 Zack Weinberg <zack@codesourcery.com>
768
769 * lex.h: Check both HAVE_ICONV and HAVE_ICONV_H before
770 including iconv.h.
771
c6a25d3a
RL
7722003-12-03 Ralph Loader <rcl@ihug.co.nz>
773
774 PR java/12374:
775 * parse.y (qualify_ambiguous_name): Remove lots of broken
776 field access processing - there's no need to do that here,
777 because we have resolve_field_access. Remove
778 RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
779 * java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
780 used.
eb158727 781
50abb28b
JS
7822003-12-01 Jeff Sturm <jsturm@one-point.com>
783
784 Fix PR java/13237
785 * parse.y (java_complete_lhs): Save location prior to patching
786 CALL_EXPR.
787
8bc7a740
ME
7882003-11-25 Mohan Embar <gnustuff@thisiscool.com>
789
50abb28b
JS
790 PR java/12548
791 * resource.c (write_resource_constructor): Append
792 "_resource" to constructor identifier name.
8bc7a740 793
75182467
JS
7942003-11-25 Jeff Sturm <jsturm@one-point.com>
795
796 Fix PR java/13183.
797 * constants.c (cpool_for_class): New function.
798 (outgoing_cpool): Remove global variable.
799 (alloc_name_constant): Use cpool_for_class.
800 (build_constants_constructor): Likewise.
801 * decl.c (java_expand_body): Set current_class.
802 * java-tree.h (outgoing_cpool) Remove declaration.
803 (init_outgoing_cpool): Likewise.
804 * jcf-parse.c (init_outgoing_cpool): Remove function.
805 (parse_class_file): Don't call init_outgoing_cpool.
806 * parse.y (java_complete_expand_methods): Don't call
807 init_outgoing_cpool. Don't save outgoing_cpool.
808 (java_expand_classes): Don't restore outgoing_cpool.
809 (java_finish_classes): Likewise.
810
33fe4596
ME
8112003-11-24 Mohan Embar <gnustuff@thisiscool.com>
812
813 * Make-lang.in: (java.install-common) Add
814 symlink for $(target_noncanonical)-gcjh for
815 native builds.
816
a03ad584
JM
8172003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
818
819 * Make-lang.in (java.extraclean): Delete.
820
49a41726
JM
8212003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
822
823 * Make-lang.in (check-java): Add.
824
c2a141a0
JS
8252003-11-19 Jeff Sturm <jsturm@one-point.com>
826
827 Fix PR java/13024.
828 * except.c (prepare_eh_table_type): Allocate variable-sized
829 buffer `buf' with alloca.
830
b8ca854a
JS
8312003-11-17 Jeff Sturm <jsturm@one-point.com>
832
833 Fix PR java/12857.
834
835 decl.c (java_init_decl_processing): Don't initialize
836 class_not_found_type_node, no_class_def_found_type_node.
837
838 java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE,
839 JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index.
840 (class_not_found_type_node, no_class_def_found_type_node):
841 Don't define.
842
843 parse.y (build_dot_class_method_invocation): Add this_class
844 argument. Qualify method invocations to a different class.
845 (create_new_parser_context): Initialize saved_data_ctx to 0.
846 (java_parser_context_save_global): Initialize saved_data_ctx to 1.
847 (build_dot_class_method): Don't load classes. Register
848 incomplete types.
849 (build_incomplete_class_ref): Special cases for interfaces
850 and inner classes. Move build_dot_class_method call to here...
851 (patch_incomplete_class_ref): ...from here. Pass current_class
852 to build_dot_class_method_invocation.
853 (build_assertion): Pass class_type to
854 build_dot_class_method_invocation.
855 (encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node.
856
a78e4fa7
JS
8572003-11-17 Jeff Sturm <jsturm@one-point.com>
858
859 Fix PR java/12739.
860 * java-tree.h (BLOCK_EMPTY_P): Define.
861 * parse.y (java_complete_lhs): Check for empty blocks
862 in TRY_FINALLY_EXPR case.
863
8642003-11-17 Andrew Haley <aph@redhat.com>
6bbb4ad3
AH
865
866 * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
eb158727 867 (struct lang_decl_var:freed): New variable.
6bbb4ad3
AH
868 * decl.c (poplevel): Mark local vars that have gone out of scope.
869 (push_jvm_slot): Don't use the RTL of a var that has gone out of
870 scope.
871
7d60db05
JM
8722003-11-16 Jason Merrill <jason@redhat.com>
873
874 * Make-lang.in (java.tags): Create TAGS.sub files in each directory
875 and TAGS files that include them for each front end.
876
45c00e22
TT
8772003-11-15 Tom Tromey <tromey@redhat.com>
878
879 * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
880
1b2b8ee7
JM
8812003-11-12 Jason Merrill <jason@redhat.com>
882
883 PR optimization/12547
884 * lang.c (java_tree_inlining_walk_subtrees): Just walk
885 BLOCK_EXPR_BODY directly.
886
7304c6cf
AH
8872003-11-12 Andrew Haley <aph@redhat.com>
888
0adaa7e4
AH
889 PR java/11045
890 * parse.y (fold_constant_for_init): Check that we really do have a
891 constant.
892
7304c6cf
AH
893 PR java/11533
894 * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
895 init_test_decls being inlined.
896
897 PR java/12890:
898 * parse.y (do_resolve_class): Check return value from
899 breakdown_qualified().
900
5b84be73
TT
9012003-11-11 Tom Tromey <tromey@redhat.com>
902
903 PR java/12915:
904 * parse.y (merge_string_cste): Handle case where we have a
905 pointer that happens to be zero, not null_pointer_node.
906
87a9cbf9
TT
9072003-11-10 Tom Tromey <tromey@redhat.com>
908
909 * jcf-parse.c (classify_zip_file): Correctly compare
910 filename_length against length of manifest file's name.
911
b9bc3665
TT
9122003-11-08 Tom Tromey <tromey@redhat.com>
913
914 PR java/12894:
915 * jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.
916
4b886873
AH
9172003-11-06 Andrew Haley <aph@redhat.com>
918
919 * expr.c (java_stack_swap): Make sure destination stack slots are
920 of the correct type.
921
63069342
KC
9222003-11-03 Kelley Cook <kcook@gcc.gnu.org>
923
924 * Make-lang.in (dvi): Move targets to $(docobjdir).
925 (gcj.dvi): Simplify rule and adjust target.
926 (gcj.info): Simplify rule.
927 (gcj.pod): New intermediate rule.
928 (gcjh.pod): Likewise.
929 (jv-scan.pod): Likewise.
930 (jcf-dump.pod): Likewise.
931 (gij.pod): Likewise.
932 (jv-convert.pod): Likewise.
933 (rmic.pod): Likewise.
934 (rmiregistry.pod): Likewise.
935 (gcj.1): Delete.
936 (gcjh.1): Delete.
937 (jv-scan.1): Delete.
938 (jcf-dump.1): Delete.
939 (gij.1): Delete.
940 (jv-convert.1): Delete.
941 (rmic.1): Delete.
942 (rmiregistry.1): Delete.
943
9bcdf735
JS
9442003-11-02 Jeff Sturm <jsturm@one-point.com>
945
946 Fixes PR java/12866.
947 * parse.y (resolve_qualified_expression_name): Move test
948 for outer field access methods from here...
949 (check_thrown_exceptions) ...to here.
950
d6665c33
KC
9512003-11-01 Kelley Cook <kcook@gcc.gnu.org>
952
953 * .cvsignore: Delete.
954
ab212c24
FCE
9552003-10-28 Frank Ch. Eigler <fche@redhat.com>
956
957 * verify.c (verify_jvm_instructions): Don't warn about legal
958 eh binding regions generated for example by jdk 1.4.1.
959
7b8af2b5
DM
9602003-10-24 David S. Miller <davem@redhat.com>
961
962 * jcf-parse.c (jcf_parse): Fix args to fatal_error().
963
90471585
AH
9642003-10-22 Andrew Haley <aph@redhat.com>
965
966 * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
967 (java_get_callee_fndecl): New.
968
969 * jcf-parse.c (java_parse_file): Call emit_catch_table().
970
971 * java-tree.h (ctable_decl): New.
972 (catch_classes): New.
973 (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
974
975 * decl.c (java_init_decl_processing): Add catch_class_type.
976 Add ctable_decl.
977 Add catch_classes field.
978
979 * class.c (build_indirect_class_ref): Break out from
980 build_class_ref.
981 (make_field_value): Check flag_indirect_dispatch.
982 (make_class_data): Ditto.
983 Tidy uses of PUSH_FIELD_VALUE.
984 Add field catch_classes.
985 (make_catch_class_record): New.
986
987 * java-tree.h (PUSH_FIELD_VALUE): Tidy.
988
ed2f11fa
KH
9892003-10-22 Kazu Hirata <kazu@cs.umass.edu>
990
991 * jcf-write.c: Follow spelling conventions.
992 * parse.y: Likewise.
993
67264b4f
KH
9942003-10-22 Kazu Hirata <kazu@cs.umass.edu>
995
996 * ChangeLog: Fix typos.
997 * expr.c: Fix comment typos.
998 * jcf-write.c: Likewise.
999 * lang.c: Likewise.
1000 * lex.c: Likewise.
1001 * mangle.c: Likewise.
1002 * parse-scan.y: Likewise.
1003 * parse.y: Likewise.
1004
36ae3d8e
TT
10052003-10-22 Tom Tromey <tromey@redhat.com>
1006
1007 * expr.c (expand_byte_code): Only warn about dead bytecode when
1008 extra_warnings is set.
1009
ed2506a4
BM
10102003-10-22 Bryce McKinlay <bryce@mckinlay.net.nz>
1011
1012 Fix for PR java/12586.
1013 * mangle.c (find_compression_record_match): Don't iterate through
1014 package namespace elements unless they all match compression_table
1015 entries.
1016
036a75ac
KC
10172003-10-20 Kelley Cook <kcook@gcc.gnu.org>
1018
1019 * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
1020 (generate-manpages): Likewise.
1021 (java.maintainer-clean): Likewise.
1022 (gcj.info): Likewise.
1023 (gcj.1): Likewise.
1024 (gcjh.1): Likewise.
1025 (jv-scan.1): Likewise.
1026 (jcf-dump.1): Likewise.
1027 (gij.1): Likewise.
1028 (jv-convert.1): Likewise.
1029 (rmic.1): Likewise.
1030 (rmiregistry.1): Likewise.
1031 (java.install-man): Likewise.
1032 (parse-scan.o): Move and define complete compile line.
1033 (parse.o): Likewise.
1034 (jcf-tree-inline.o): Move.
1035
97ae108d
MM
10362003-10-20 Mark Mitchell <mark@codesourcery.com>
1037
1038 * Make-lang.in (info): Update dependencies.
1039 (java.install-info): Remove.
1040 ($(srcdir)/java/gcj.info): Replace with ...
1041 ($(docobjdir)/gcj.info): ... this.
1042
43aba518
NN
10432003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
1044
1045 * Make-lang.in: Replace uses of $(target_alias) with
1046 $(target_noncanonical).
1047
ae125b17
TT
10482003-10-09 Tom Tromey <tromey@redhat.com>
1049
1050 * decl.c (java_init_decl_processing): Declare signers field.
1051 * class.c (make_class_data): Set signers field.
1052
1456deaf
JM
10532003-10-09 Jason Merrill <jason@redhat.com>
1054
1055 * parse.y (patch_assignment): Use make_node to create a BLOCK.
1056 * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
1057 POINTER_TYPE.
1058
62b81e45
MM
10592003-10-06 Mark Mitchell <mark@codesourcery.com>
1060
1061 * Make-lang.in (java.info): Replace with ...
1062 (info): ... this.
1063 (java.dvi): Replace with ...
1064 (dvi): ... this.
1065 (java.generated-manpages): Replace with ...
1066
35222de2
KC
10672003-10-03 Kelley Cook <kelleycook@wideopenwest.com>
1068
1069 * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
1070
9dfc2ec2
AH
10712003-10-01 Andrew Haley <aph@redhat.com>
1072
1073 * jcf-parse.c (java_parse_file): Write otable and atable.
1074 * java-tree.h (atable_methods): New.
1075 (atable_decl): New.
1076 (atable_syms_decl): New.
1077 (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
1078 JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
eb158727 1079 (symbol_*type): Rename method_symbol* to symbol*type.
9dfc2ec2
AH
1080 (emit_offset_symbol_table): Delete.
1081 (emit_symbol_table): New.
1082 (get_symbol_table_index): New.
1083 (atable_type): New.
1084 * expr.c (build_field_ref): Handle flag_indirect_dispatch.
1085 (build_known_method_ref): Likewise.
1086 (get_symbol_table_index): Rename from get_offset_table_index.
1087 Parameterize to allow re-use by differing types of symbol table.
1088 (build_invokevirtual): Pass table to get_offset_table_index.
1089 * decl.c (java_init_decl_processing): Push types and decls for
1090 atable and atable_syyms.
1091 * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
1092 (make_class_data): Add new fields atable and atable_syms.
1093 (emit_symbol_table): Rename from emit_offset_symbol_table.
1094 Parameterize to allow re-use by different types of symbol table.
1095 (build_symbol_entry): Renamed from build_method_symbols_entry.
eb158727 1096
d186e676
RS
10972003-09-30 Roger Sayle <roger@eyesopen.com>
1098
1099 * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
1100 semantics for SAVE_EXPR, by caching the result in a temporary.
1101
436fac17
RH
11022003-09-28 Richard Henderson <rth@redhat.com>
1103
1104 * check-init.c (check_init): Save and restore input_location
1105 instead of file and line separately.
1106 * decl.c (java_expand_body): Likewise.
1107 * jcf-write.c (generate_bytecode_insns): Likewise.
1108 * parse.y (safe_layout_class): Likewise.
1109 * jcf-parse.c (read_class, parse_class_file): Likewise.
1110 (java_parse_file): Use %H for warning locator.
1111
37e2180d
RS
11122003-09-28 Roger Sayle <roger@eyesopen.com>
1113
1114 * expr.c (java_check_reference): Use the semantics of COND_EXPRs
1115 with void-type branches instead of using a COMPOUND_EXPR.
1116
9220b1ba
JS
11172003-09-28 Jeff Sturm <jsturm@one-point.com>
1118
1119 * decl.c (java_optimize_inline, dump_function): Remove.
1120 * java-tree.h (java_optimize_inline): Remove declaration.
1121 * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
1122 * parse.y (source_end_java_method, java_expand_classes):
1123 Likewise. Remove dead code.
1124
c67e6e14
RS
11252003-09-27 Roger Sayle <roger@eyesopen.com>
1126
1127 * lang.c (java_init_options): Set flag_evaluation_order.
1128 * expr.c (force_evaluation_order): Don't attempt to force
1129 evaluation order of binary operations using save_expr.
1130 * parse.y (java_complete_lhs): No longer need to call
1131 force_evaluation_order when constructing binary operators.
1132
cd11bdcc
APB
11332003-09-27 Alexandre Petit-Bianco <apbianco@redhat.com>
1134 Bryce McKinlay <bryce@mckinlay.net.nz>
1135
1136 PR java/1333:
1137 * parse.y (not_accessible_field_error): New function.
1138 (resolve_expression_name): Check field access permissions.
1139 (resolve_qualified_expression_name): Use
1140 not_accessible_field_error.
1141 (resolve_qualified_expression_name): Likewise.
1142
eb9ec0d4
RO
11432003-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1144
1145 * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
1146
87750fef
RS
11472003-09-23 Roger Sayle <roger@eyesopen.com>
1148
1149 * jcf-write.c (generate_bytecode_insns): Optimize binary operations
1150 with equal operands without side-effects.
1151
92f6e625
JS
11522003-09-22 Jeff Sturm <jsturm@one-point.com>
1153
1154 * decl.c (java_init_decl_processing): Don't emit otable decls
1155 if flag_indirect_dispatch is not set.
1156
f31686a3
RH
11572003-09-21 Richard Henderson <rth@redhat.com>
1158
eb158727 1159 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
f31686a3
RH
1160 resource.c: Revert.
1161
7e2af53a
RH
11622003-09-21 Richard Henderson <rth@redhat.com>
1163
eb158727 1164 * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
7e2af53a
RH
1165 resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
1166
ddd2d57e
RH
11672003-09-20 Richard Henderson <rth@redhat.com>
1168
eb158727 1169 * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
ddd2d57e 1170
96123432
RS
11712003-09-18 Roger Sayle <roger@eyesopen.com>
1172
1173 * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
1174 * check-init.c (check_init): Likewise.
1175
a490d1be
RS
11762003-09-18 Roger Sayle <roger@eyesopen.com>
1177
1178 * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
1179
1319e88e
AH
11802003-09-16 Andrew Haley <aph@redhat.com>
1181
1182 * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
1183
bdc225df
RM
11842003-09-17 Ranjit Mathew <rmathew@hotmail.com>
1185
1186 Fixes PR java/9577
1187 * mangle.c (find_compression_record_match): Skip
1188 over a "6JArray" (the array template mangled string)
1189 IDENTIFIER_NODE.
1190 (mangle_array_type): Correct minor typo.
1191 (atms): Move definition to the beginning.
1192
93634679
BM
11932003-09-16 Bryce McKinlay <bryce@mckinlay.net.nz>
1194
eb158727 1195 * class.c (add_miranda_methods): Ensure super-interfaces are laid
93634679
BM
1196 out. Fix for PR java/12254.
1197
6b00c969
RH
11982003-09-11 Richard Henderson <rth@redhat.com>
1199
eb158727
ZW
1200 * parse.y (source_end_java_method): Update for new
1201 cgraph_finalize_function argument.
6b00c969 1202
39adabaf
RH
12032003-09-09 Richard Henderson <rth@redhat.com>
1204
eb158727
ZW
1205 * parse.y (source_end_java_method): Update call to
1206 cgraph_finalize_function.
39adabaf 1207
916b57ce
JS
12082003-09-03 Jeff Sturm <jsturm@one-point.com>
1209
1210 * decl.c (java_expand_body): New function.
1211 * expr.c (build_class_init): Set DECL_IGNORED_P.
1212 * java-tree.h (start_complete_expand_method,
1213 java_expand_body): Declare.
1214 * jcf-parse.c (cgraph.h): Include.
1215 (java_parse_file): Handle flag_unit_at_a_time.
1216 * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
1217 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1218 (java_estimate_num_insns): Use walk_tree_without_duplicates.
1219 (java_start_inlining): New function.
1220 * parse.h (java_finish_classes): Declare.
1221 * parse.y: Include cgraph.h.
1222 (block): Don't special-case empty block production.
1223 (craft_constructor): Set DECL_INLINE.
1224 (source_end_java_method): Handle flag_unit_at_a_time.
1225 Replace inline code with call to java_expand_body.
1226 (start_complete_expand_method): Remove static modifier.
1227 (java_expand_method_bodies): Patch function tree for
1228 class initialization and/or synchronization as needed.
1229 Don't begin RTL expansion yet.
1230 (java_expand_classes): Check flag_unit_at_a_time before
1231 calling finish_class.
1232 (java_finish_classes): New function.
1233 (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
1234 (patch_assignment): Set DECL_CONTEXT on temporary variable.
1235 (emit_test_initialization): Set DECL_IGNORED_P.
1236
e71d3aae
RS
12372003-09-03 Roger Sayle <roger@eyesopen.com>
1238
1239 * builtins.c (enum builtin_type): Delete unused enumeration.
1240 * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
1241
ff2865f2
TT
12422003-08-28 Tom Tromey <tromey@redhat.com>
1243
1244 * gcj.texi (Extensions): Document gcjlib URLs.
1245
b7d6f12a
TT
12462003-08-20 Tom Tromey <tromey@redhat.com>
1247
1248 * gcj.texi (Extensions): Added xref.
1249 (libgcj Runtime Properties): Document
1250 gnu.gcj.runtime.VMClassLoader.library_control.
1251
ec00bfc0
AH
12522003-08-20 Andrew Haley <aph@redhat.com>
1253
eb158727
ZW
1254 * except.c (prepare_eh_table_type): Use new encoding for exception
1255 handlers when using -fno-assume-compiled.
ec00bfc0 1256
7f8b4704
TT
12572003-08-13 Tom Tromey <tromey@redhat.com>
1258
1259 * gcj.texi (Invoking gij): Document -X and -?.
1260
d0cf60cc
ME
12612003-08-13 Mohan Embar <gnustuff@thisiscool.com>
1262
1263 * Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
1264 GCJH_OBJS, JCFDUMP_OBJS
1265 * win32-host.c: Removed the unnecessary and broken dependency
1266 on jcf.h
1267
aecf4109
TT
12682003-08-11 Tom Tromey <tromey@redhat.com>
1269
1270 * parse.y (java_check_regular_methods): Typo fixes. Call
1271 check_interface_throws_clauses. Use
1272 check_concrete_throws_clauses.
1273 (check_interface_throws_clauses): New function.
1274 (check_concrete_throws_clauses): New function.
1275 (hack_is_accessible_p): New function.
1276 (find_most_specific_methods_list): Added FIXME.
1277 * typeck.c (lookup_do): Use `flags' argument to decide what to
1278 do. Reimplemented.
1279 (lookup_argument_method_generic): New function.
1280 (lookup_argument_method2): Removed.
1281 * jcf.h (ACC_INVISIBLE): New define.
1282 * jcf-write.c (generate_classfile): Skip invisible methods.
1283 * class.c (add_miranda_methods): New function.
1284 (layout_class_methods): Use it.
1285 (get_access_flags_from_decl): Use ACC_INVISIBLE.
1286 * java-tree.h (METHOD_INVISIBLE): New define.
1287 (lang_decl_func) [invisible]: New field.
1288 (lookup_argument_method_generic): Declare.
1289 (SEARCH_INTERFACE): New define.
1290 (SEARCH_SUPER): Likewise.
1291 (SEARCH_ONLY_INTERFACE): Likewise.
1292 (SEARCH_VISIBLE): Likewise.
1293 (lookup_argument_method2): Removed declaration.
1294
90281aec
TT
12952003-08-05 Tom Tromey <tromey@redhat.com>
1296
1297 Fix for PR java/11600:
1298 * parse.y (java_complete_lhs): See whether we're calling a method
1299 on an array.
1300 (check_thrown_exceptions): Added `is_array_call' argument;
1301 fixed `clone' checking; updated all callers.
1302
b3c3af2f
SB
13032003-08-05 Steven Bosscher <steven@gcc.gnu.org>
1304
1305 * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
1306
0e046453
TT
13072003-08-03 Tom Tromey <tromey@redhat.com>
1308
1309 * java-tree.h (METHOD_TRANSIENT): Removed.
1310 * decl.c (pushdecl): Removed some dead code.
1311 * class.c (get_access_flags_from_decl): Can't have transient
1312 method.
1313 (add_method_1): Can't have a transient method.
1314
8376cf3d
AJ
13152003-07-28 Andreas Jaeger <aj@suse.de>
1316
1317 * jvspec.c: Convert to ISO C90 prototypes.
1318
b8bae365
NS
13192003-07-25 Nathan Sidwell <nathan@codesourcery.com>
1320
1321 * decl.c (force_poplevels): Fix warning call.
1322
cd475805
GDR
13232003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1324
1325 * expr.c (expand_java_field_op): Don't use xxx_with_decl
1326 (expand_java_field_op): Likewise.
1327 * class.c (layout_class_method): Likewise
1328 (emit_register_classes): Likewise.
1329 * decl.c (pushdecl): Likewise.
1330 (poplevel): Likewise.
1331 (force_poplevels): Likewise.
1332 (give_name_to_locals): Likewise.
1333 * check-init.c (check_for_initialization): Likewise.
1334
de7df9eb
JM
13352003-07-24 Jason Merrill <jason@redhat.com>
1336
1337 * java-tree.h: Move boolean_type_node et al to the back end.
1338
c68b0a84
KG
13392003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1340
1341 * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
1342 casts.
1343
2cc98056
NB
13442003-07-19 Neil Booth <neil@daikokuya.co.uk>
1345
1346 * lang.opt: Don't show -MD_ and -MDD_.
1347
b2e608ca
NB
13482003-07-18 Neil Booth <neil@daikokuya.co.uk>
1349
1350 * lang-options.h: Remove.
1351 * lang.opt: Add help text.
1352
683b1112
KH
13532003-07-15 Kazu Hirata <kazu@cs.umass.edu>
1354
1355 * expr.c: Remove the last argument to expand_assignment().
1356
602a82f3 13572003-07-09 Jan Hubicka <jh@suse.cz>
084c1779
JH
1358
1359 * java-tree.h (DECL_NUM_STMTS): Rename to...
1360 (DECL_ESTIMATED_INSNS): ... this.
1361 * lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
1362 New static functions.
1363 (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
1364 * parser.y (add_stmt_to_compound): Do not account statements.
1365
671d6ee7
MW
13662003-07-08 Mark Wielaard <mark@klomp.org>
1367
1368 * gcj.texi: CNI now expands to Compiled Native Interface.
1369
c5ffd36c
RO
13702003-07-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1371
1372 * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
1373
0cea056b
NS
13742003-07-07 Nathan Sidwell <nathan@codesourcery.com>
1375
1376 * expr.c (expand_byte_code): Adjist emit_line_note call.
1377
cb66e385
NB
13782003-07-06 Neil Booth <neil@daikokuya.co.uk>
1379
1380 * lang.c (java_handle_option): Don't handle filenames.
1381
3dce1408
ZW
13822003-07-02 Zack Weinberg <zack@codesourcery.com>
1383
1384 * jcf-path.c: Don't default-define PATH_SEPARATOR nor
1385 DIR_SEPARATOR.
1386 Use FILENAME_CMP.
1387 * jcf-write.c: Don't default-define DIR_SEPARATOR.
1388 * jcf.h: Delete COMPARE_FILENAMES definition.
1389
b86f6cd9
NB
13902003-07-02 Neil Booth <neil@daikokuya.co.uk>
1391
1392 * lang.c (java_init_options): Update prototype.
1393
5b030314
NS
13942003-07-01 Nathan Sidwell <nathan@codesourcery.com>
1395
1396 * decl.c (poplevel): Adjust define_label call.
1397
8ce33230
ZW
13982003-06-27 Zack Weinberg <zack@codesourcery.com>
1399
a6d682a0
ZW
1400 * gjavah.c (flag_jni): Make non-static.
1401 * parse-scan.y (ctxp): Make non-static.
1402
8ce33230
ZW
1403 * class.c (build_method_symbols_entry)
1404 * expr.c (get_offset_table_index)
1405 * jcf-parse.c (jcf_parse):
1406 Mark the definition static, matching the forward declaration.
1407
9eee5e72
NB
14082003-06-26 Neil Booth <neil@daikokuya.co.uk>
1409
1410 * lang.c (java_handle_option): Don't check for missing arguments.
1411
1f9cc6db
NS
14122003-06-20 Nathan Sidwell <nathan@codesourcery.com>
1413
1414 * class.c (push_class): Use a location_t to save place.
1415 (emit_register_classes): Set input_location. Adjust
1416 expand_function_end call.
1417 * resource.c (write_resource_constructor): Likewise.
1418 * decl.c (end_java_method): Adjust expand_function_end call.
1419 * parse.y (source_end_java_method): Likewise.
1420
f3f735eb
RA
14212003-06-17 Robert Abeles <rabeles@archaelogic.com>
1422
1423 * lang.c (java_handle_option): Likewise.
1424
7b086b11
NB
14252003-06-16 Neil Booth <neil@daikokuya.co.uk>
1426
1427 * lang.c (java_handle_option): Special-casing of optional
1428 joined arguments no longer needed.
1429 * lang.opt: Update switches that take optional argument.
1430
be43ab4e
NB
14312003-06-15 Neil Booth <neil@daikokuya.co.uk>
1432
1433 * lang.opt: Declare Java.
1434 * lang.c (java_init_options): Update.
1435
d185d268
NB
14362003-06-15 Neil Booth <neil@daikokuya.co.uk>
1437
1438 * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
1439
cef67dce
NB
14402003-06-14 Neil Booth <neil@daikokuya.co.uk>
1441
1442 * lang-specs.h: Rewrite -MD and -MMD to append an underscore.
1443 * lang.c (java_handle_option): -MD and -MMD have an underscore.
1444 * lang.opt: -MD and -MMD have an underscore.
1445
ee6b0296
NS
14462003-06-14 Nathan Sidwell <nathan@codesourcery.com>
1447
1448 * class.c (emit_register_classes): Adjust init_function_start
1449 call.
1450 * decl.c (complete_start_java_method): Likewise.
1451 * resource.c (write_resource_constructor): Likewise.
1452
d7b42618
NB
14532003-06-14 Neil Booth <neil@daikokuya.co.uk>
1454
1455 * Make-lang.in: Update to use options.c and options.h.
1456 * lang.c: Include options.h not j-options.h.
1457 (java_handle_option): Abort on unrecognized option.
1458 (java_init_options): Request Java switches.
1459
7fb26bb0
NB
14602003-06-11 Neil Booth <neil@daikokuya.co.uk>
1461
1462 * Make-lang.in: Handle mostlyclean.
1463
265411b6
TT
14642003-06-11 Tom Tromey <tromey@redhat.com>
1465
4a09cbac
TT
1466 * lang.c (java_handle_option): Update dependency_tracking for
1467 OPT_MF case.
1468
265411b6
TT
1469 * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
1470 empty argument.
1471
dc952677
AH
14722003-06-10 Andrew Haley <aph@redhat.com>
1473
1474 * resource.c (write_resource_constructor): Use expand_expr to
1475 generate the address of the label attached to a resource.
1476 * Make-lang.in (java/resource.o): Add expr.h
1477
e076f71a
AH
14782003-06-10 Andrew Haley <aph@redhat.com>
1479
1480 * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1481 (java_decl_ok_for_sibcall): New.
1482
95ca6d8b
NB
14832003-06-09 Neil Booth <neil@daikokuya.co.uk>
1484
1485 * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
1486 (java/j-options.c, java/j-options.h): New.
1487 * java-tree.h (resource_name, compile_resource_file,
1488 compile_resource_data): Constify.
1489 * jcf-write.c (jcf_write_base_directory): Similarly.
1490 * jcf.h (jcf_write_base_directory): Similarly.
1491 * lang.c: Include j-options.h.
1492 (cl_options_count, cl_options, string_option, java_decode_option,
1493 lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
1494 process_option_with_no): Remove.
1495 (resource_name): Constify.
1496 (LANG_HOOKS_HANDLE_OPTION): Override.
1497 (java_handle_option): New.
1498 (java_init): Don't call jcf_path_init.
1499 (java_init_options): Call jcf_path_init.
1500 * lang.opt: New.
1501 * resource.c (compile_resource_data, compile_resource_file): Constify.
1502
36f04556
NS
15032003-06-09 Nathan Sidwell <nathan@codesourcery.com>
1504
1505 * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
1506 (struct lang_decl_func): Add last_line field.
1507 * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
1508 DECL_SOURCE_LINE_LAST): Remove.
1509 * parse.y (missing_return_error, finish_method_declaration,
1510 lookup_cl, start_artificial_method_body, source_end_java_method,
1511 start_complete_expand_method): Adjust.
1512
f751e9c2
TT
15132003-06-08 Tom Tromey <tromey@redhat.com>
1514
1515 * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
1516 fno-assume-compiled.
1517
5f158b44
RS
15182003-06-08 Roger Sayle <roger@eyesopen.com>
1519
1520 * builtins.c (define_builtin_type, builtin_types): Delete.
1521 (define_builtin): Rewritten to take just the built-in code,
1522 the function's name, type and fallback library function name.
1523 All built-ins used by Java are implicit and BUILT_IN_NORMAL.
1524 (initialize_builtins): Overhaul to define the GCC builtins
1525 used by gcj manually, providing the Java run-time's
1526 implementations as the fallback library function.
1527
f32c53c2
AG
15282003-06-08 Anthony Green <green@redhat.com>
1529
1530 * parse.y (patch_cast): Fix conversions from floating-point to
1531 integral types.
1532
c8b04b13
NB
15332003-06-08 Neil Booth <neil@daikokuya.co.uk>
1534
1535 * Make-lang.in: Update.
1536 * lang.c: Include opts.h. Define cl_options_count and cl_options.
1537
2772ef3e
NB
15382003-06-07 Neil Booth <neil@daikokuya.co.uk>
1539
1540 * lang.c (java_init_options): Update.
1541
602a82f3 15422003-06-05 Jan Hubicka <jh@suse.cz>
8f231b5d
JH
1543
1544 * Make-lang.in: Add support for stageprofile and stagefeedback
1545
4fa26a60
RS
15462003-05-31 Roger Sayle <roger@eyesopen.com>
1547
1548 * lang.c (java_init_options): Prescribe wrap-around two's
1549 complement arithmetic overflow by setting flag_wrapv.
1550
833e1a77
RS
15512003-05-29 Roger Sayle <roger@eyesopen.com>
1552
1553 * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
1554 (builtin_record): Add an additional builtin_code field to
1555 record which GCC built-in corresponds to the Java function.
1556 (java_builtins): Add new entries for atan, atan2, exp, log,
1557 pow and tan.
1558 (max_builtin, min_builtin, abs_builtin): Perform constant
1559 folding on the resulting tree.
1560 (java_build_function_call_expr): Likewise, perform constant
1561 folding on the resulting tree.
1562 (initialize_builtins): The NULL creators are now allowed in
1563 the java_builtins table, which is now terminated by an entry
1564 with builtin_code == END_BUILTINS.
1565 (check_for_builtin): Likewise. If the matching creator is
1566 NULL, construct the call using java_build_function_call_expr
1567 directly with the decl for the corresponding builtin_code.
1568
24bcc721
NN
15692003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
1570
1571 * win32-host.c: Normalize copyright boilerplate.
1572
90ff44cf
KG
15732003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1574
1575 * parse.y (print_int_node): Use string concatentation on
1576 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
1577 function calls into one.
1578
fa6ef813
ZW
15792003-05-13 Zack Weinberg <zack@codesourcery.com>
1580
1581 * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
1582 fatal_io_error with calls to fatal_error; add ": %m" to the end of
1583 all the affected error messages.
1584
3bec3c0c
RH
15852003-05-13 Richard Henderson <rth@redhat.com>
1586
1587 * class.c (layout_class_method): Set DECL_EXTERNAL.
1588 * decl.c (java_mark_decl_local, java_mark_class_local): New.
1589 * java-tree.h (java_mark_class_local): Declare.
1590 * jcf-parse.c (parse_class_file): Use it.
1591 * parse.y (java_expand_classes): Likewise.
1592
d4b56320
NS
15932003-05-04 Nathan Sidwell <nathan@codesourcery.com>
1594
1595 * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
1596 * lex.h: #include input.h.
1597 * jv-scan.c (input_filename): Remove.
1598
73cb3b5a
TT
15992003-05-02 Tom Tromey <tromey@redhat.com>
1600
1601 PR java/10491:
1602 * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
1603 (handle_inner_classes): New function.
1604
fcc8cecb
TT
16052003-05-01 Tom Tromey <tromey@redhat.com>
1606
1607 PR java/10459:
1608 * parse.y (finish_for_loop): Do nothing if update expression is a
1609 EXPR_WFL_NODE wrapping nothing.
1610 (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
1611
6060edcb
NS
16122003-05-02 Nathan Sidwell <nathan@codesourcery.com>
1613
1614 * lex.h (input_lineno): Remove declaration.
1615 * parse-scan.y: #include input.h.
1616 (input_filename): Remove declaration.
1617 (input_location): Add definition.
1618 (input_line): Remove definition.
1619
3489e061
NS
16202003-05-01 Nathan Sidwell <nathan@codesourcery.com>
1621
1622 * lex.h (lineno): Rename to ...
1623 (input_line): ... here
1624 * parse-scan.y (lineno): Rename to ...
1625 (input_line): ... here.
1626 (reset_report): Rename lineno to input_line.
1627 * check-init.c (check_init): Likewise.
1628 * class.c (push_class): Likewise.
1629 * decl.c (complete_start_java_method, end_java_method): Likewise.
1630 * expr.c (expand_byte_code): Likewise.
1631 * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
1632 * jcf-write.c (generate_bytecode_insns): Likewise.
1633 * lex.c (java_init_lex, java_allocate_new_line,
1634 do_java_lex): Likewise.
1635 * parse.h (YYNOT_TWICE): Likewise.
1636 * parse.y (empty_statement, expression_statement,
1637 java_pop_parser_context, java_parser_context_save_global,
1638 yyerror, register_fields, method_header, safe_layout_class,
1639 find_in_imports_on_demand, create_artificial_method,
1640 source_end_java_method, start_complete_expand_method,
1641 build_thisn_assign, java_complete_lhs,
1642 maybe_absorb_scoping_block): Likewise.
1643
ef963bc8
ME
16442003-04-20 Mohan Embar <gnustuff@thisiscool.com>
1645
1646 * jcf-io.c (find_class): use DIR_SEPARATOR instead of
1647 '/' when computing java source filename
1648
e6311b9e
TT
16492003-04-13 Tom Tromey <tromey@redhat.com>
1650
1651 * gjavah.c (print_c_decl): Indentation fix.
1652
dcf92453
ZW
16532003-04-12 Zack Weinberg <zack@codesourcery.com>
1654
1655 * class.c (make_field_value, make_method_value, get_dispatch_table)
1656 (make_class_data, emit_offset_symbol_table)
1657 * constants.c (build_constants_constructor)
1658 * java-tree.h (START_RECORD_CONSTRUCTOR)
1659 * parse.y (maybe_build_array_element_wfl):
1660 Use build_constructor.
1661
04a0be36
EB
16622003-04-10 Eric Blake <ebb9@email.byu.edu>
1663
1664 PR java/10253:
1665 * parse.y (string_convert_int_cst): Always use at least one digit
1666 in string conversion. Remove ASCII dependence.
1667 (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
1668
72f339d2
AH
16692003-03-16 Mohan Embar <gnustuff@thisiscool.com>
1670
1671 * Make-lang.in: added win32-host.c
1672 * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
1673 resolves to open() on non-Win32 platforms and
1674 Win32-specific jcf_open_exact_case() on Win32
1675 * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
1676 when trying .java and .class files
1677 * win32-host.c: added to repository. Defines
1678 Win32-specific jcf_open_exact_case()
1679
16802003-04-10 Andrew Haley <aph@redhat.com>
1681
1682 * jcf-write.c (struct jcf_partial): num_jsrs: new field.
1683 (maybe_free_localvar): Renamed from localvar_free.
1684 Add new arg, really.
1685 (generate_bytecode_insns): Set new variable, jsrs.
1686 Only free local vars if no jsr insns have been emittted.
1687 Call maybe_free_localvar, not localvar_free.
1688
438f63a8
JM
16892003-03-30 Joseph S. Myers <jsm@polyomino.org.uk>
1690
1691 * gcj.texi: Remove @ at start of file.
1692
dcb0eee2
TT
16932003-03-25 Tom Tromey <tromey@redhat.com>
1694
1695 * parse.y (create_interface): Call CHECK_DEPRECATED.
1696
62c9aa5f
ZW
16972003-03-23 Zack Weinberg <zack@codesourcery.com>
1698
1699 * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
1700
649eaf9b
ZW
17012003-03-21 Zack Weinberg <zack@codesourcery.com>
1702
1703 * javaop.h (jfloat, jdouble): Make them structures mirroring
1704 the bit fields of IEEE float and double respectively.
1705 (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
1706 JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
1707 (union Word, union DWord): Delete.
1708 (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
1709
1710 * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
1711 D_NAN_MASK): Delete.
1712 (jni_print_float, jni_print_double): New. Generate
1713 hexadecimal floating constants.
1714 (print_field_info): Use jni_print_float/double.
1715
1716 * jcf-dump.c: Include math.h. Use ldexp/frexp to assemble
1717 finite floating point numbers for output; special case
1718 non-finite floats.
1719
2bd3ecad
NN
17202003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
1721
1722 * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
1723 Replace 0 and 1 with true and false in return statements.
1724
b25a23bd
TT
17252003-03-19 Tom Tromey <tromey@redhat.com>
1726
1727 * lex.c (do_java_lex): Renamed from java_lex.
1728 (java_lex): New function.
1729 Include timevar.h.
1730
2f29e5e8
TT
17312003-03-13 Tom Tromey <tromey@redhat.com>
1732
1733 * parse.y (resolve_inner_class): Error if qualifier is a primitive
1734 type.
1735
68566610
AH
17362003-03-04 Andrew Haley <aph@redhat.com>
1737
649eaf9b
ZW
1738 * gjavah.c (is_first_data_member): New global variable.
1739 (print_c_decl): If it's the first data member, align it as the
1740 superclass.
1741 (process_file): Set is_first_data_member.
68566610 1742
8b8e6c64
TT
17432003-03-11 Tom Tromey <tromey@redhat.com>
1744
1745 * parse.y (resolve_field_access): Initialize class if field is
1746 found in another static field.
1747 * expr.c (build_class_init): Don't optimize out initialization of
1748 implemented interface.
1749
3d874dea
AH
17502003-03-11 Andrew Haley <aph@redhat.com>
1751
1752 * jcf-io.c (caching_stat): Initialize origsep to remove compiler
1753 warning.
1754
630287af
RM
17552003-03-10 Ranjit Mathew <rmathew@hotmail.com>
1756
1757 * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
1758 and DIR_SEPARATOR_2 for a target.
1759 Correct minor typos.
1760
1761 * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
1762 and DIR_SEPARATOR_2 for a target into account.
1763
4bfec483
NB
17642003-03-08 Neil Booth <neil@daikokuya.co.uk>
1765
1766 * lang.c (java_init): Update prototype, move code to java_post_options.
1767 (java_post_options): Similarly.
1768
530d4230
RM
17692003-03-05 Ranjit Mathew <rmathew@hotmail.com>
1770
1771 * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
1772 compare file name components depending on the case-sensitivity
1773 or otherwise of the host file system.
1774
1775 * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
1776 "strcmp" to compare file name components.
1777 Use IS_DIR_SEPARATOR instead of comparing directly against
1778 DIR_SEPARATOR.
649eaf9b 1779 (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
530d4230
RM
1780 comparing directly against DIR_SEPARATOR.
1781
5993642d
TT
17822003-03-04 Tom Tromey <tromey@redhat.com>
1783
1784 * Make-lang.in (java.tags): New target.
1785
08291658
RS
17862003-03-01 Roger Sayle <roger@eyesopen.com>
1787
1788 * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
1789 (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
1790
11522327
TT
17912003-03-01 Tom Tromey <tromey@redhat.com>
1792
1793 * parse.y (jdep_resolve_class): Only check deprecation if we found
1794 a decl.
1795
0ea05c0d
TT
17962003-02-28 Tom Tromey <tromey@redhat.com>
1797
1798 PR java/9695:
1799 * class.c (maybe_layout_super_class): Always pass a WFL to
1800 do_resolve_class.
1801 * parse.y (do_resolve_class): Updated comment to explain
1802 parameters.
1803
49b973cb
TT
18042003-02-26 Tom Tromey <tromey@redhat.com>
1805
1806 * jcf-write.c (generate_classfile): Check whether class is
1807 deprecated before writing attribute count.
1808
b052d8ee
RS
18092003-02-25 Roger Sayle <roger@eyesopen.com>
1810
1811 * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
1812 built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
649eaf9b 1813
f94ae540
TT
18142003-02-23 Tom Tromey <tromey@redhat.com>
1815
1816 * lang-options.h: Added -Wdeprecated.
1817 * gcj.texi (Warnings): Document -Wdeprecated.
1818 * java-tree.h (flag_deprecated): Declare.
1819 * lang.c (lang_W_options): Added deprecated.
1820 (flag_deprecated): New global.
1821 * chartables.h: Rebuilt.
1822 * gen-table.pl (process_one): Look at whitespace.
1823 (print_tables): Define LETTER_SPACE, LETTER_MASK.
1824 * parse.h (CLEAR_DEPRECATED): New macro.
1825 (CHECK_DEPRECATED_NO_RESET): New macro.
1826 * jcf-parse.c (handle_deprecated): New function.
1827 (HANDLE_DEPRECATED_ATTRIBUTE): New define.
1828 * jcf-reader.c (get_attribute): Handle Deprecated attribute.
1829 * parse.y (resolve_type_during_patch): Check deprecation.
1830 (jdep_resolve_class): Likewise.
1831 (process_imports): Likewise.
1832 (resolve_expression_name): Likewise.
1833 (check_deprecation): Strip arrays from decl. Check
1834 flag_deprecated.
1835 (patch_method_invocation): Also check the particular constructor
1836 for deprecation.
1837 (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
1838 * jcf-write.c (append_deprecated_attribute): New function.
1839 (generate_classfile): Generate deprecated attribute when
1840 appropriate.
1841 * lex.c (java_parse_doc_section): Return type now void. Rewrote.
1842 (java_lex) [case '*']: Simplify logic.
1843 (java_start_char_p): Use LETTER_MASK.
1844 (java_part_char_p): Likewise.
1845 (java_space_char_p): New function.
1846
dbbf88d1
NS
18472003-02-20 Nathan Sidwell <nathan@codesourcery.com>
1848
1849 Change base class access representation.
1850 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
1851 (add_interface_do): Likewise.
1852
697ec326
RM
18532003-02-12 Ranjit Mathew <rmathew@hotmail.com>
1854
649eaf9b 1855 * decl.c (java_init_decl_processing): Change
697ec326
RM
1856 soft_lookupjnimethod_node to reflect the change in
1857 signature of _Jv_LookupJNIMethod in libjava/jni.cc
1858 * expr.c (build_jni_stub): Calculate and pass the size
1859 on the stack of the arguments to a JNI function. Use
649eaf9b 1860 new target macro MODIFY_JNI_METHOD_CALL to allow a
697ec326
RM
1861 target to modify the call to a JNI method.
1862
afc432a9
RS
18632003-02-08 Roger Sayle <roger@eyesopen.com>
1864
1865 * jcf-io.c (java_or_class_file): Use libiberty's lbasename
1866 instead of basename to avoid compiler warnings on Tru64.
1867
b3a8389d
JM
18682003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
1869
1870 * gcj.texi: Update to GFDL 1.2.
1871
2d7b3505
AH
18722003-01-31 Andrew Haley <aph@redhat.com>
1873
1874 * parse.y (java_expand_classes): Scan the whole class list looking
1875 for access methods that haven't yet been expanded.
1876
7d503466
AB
18772003-01-31 Adrian Bunk <bunk@fs.tum.de>
1878
1879 Fix for java/4269:
1880
1881 * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
1882 to fix bootstrap on sparc-unknown-netbsdelf1.5.
1883 * jcf-parse.c: Likewise.
1884
36da0e78
MW
18852003-01-31 Mark Wielaard <mark@klomp.org>
1886
1887 * gjavah.c (throwable_p): Allocate 1 more byte for string.
1888
1824b90d
NS
18892003-01-31 Nathan Sidwell <nathan@codesourcery.com>
1890
1891 * class.c (make_class): Use BINFO_ELTS.
1892 (set_super_info): Likewse.
1893 (add_interface_do): Likewise.
1894
7e278bae
TT
18952003-01-30 Tom Tromey <tromey@redhat.com>
1896
1897 * jcf-parse.c (read_class): Update identifier's class value if it
1898 changed during parsing.
1899
65eb9b87
LR
19002003-01-30 Loren James Rittle <ljrittle@acm.org>
1901
1902 * Make-lang.in (po-generated): Find the targets in $(parsedir).
1903 Propagate change to all other rules as required.
1904 (java/parse-scan.o): Add explicit dependency on
1905 $(parsedir)/java/parse-scan.c .
1906
c78f2b91
TT
19072003-01-29 Tom Tromey <tromey@redhat.com>
1908
1909 * parse.y (patch_assignment): Only transform the rhs of an
1910 assignment when compiling to native.
1911
0d42c3c2
TT
19122003-01-28 Tom Tromey <tromey@redhat.com>
1913
1914 * jcf-write.c (generate_bytecode_conditional): Typo fixes.
1915
82b22c42
TT
19162003-01-28 Tom Tromey <tromey@redhat.com>
1917
1918 * lex.c (java_lex): Don't include UEOF as part of token.
1919 (java_read_unicode): Error if \u sequence prematurely terminated.
1920
6a807d35
TT
19212003-01-27 Tom Tromey <tromey@redhat.com>
1922
1923 * parse.y (java_check_regular_methods): Check for construct after
1924 checking types in throws clause.
1925
c2c98445
TT
19262003-01-24 Tom Tromey <tromey@redhat.com>
1927
1928 * class.c (build_static_field_ref): Only a String or numeric field
1929 can fold to a constant.
1930
8bef0925
TT
19312003-01-23 Tom Tromey <tromey@redhat.com>
1932
1933 * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
1934 file name in resource buffer.
1935
1f369e60
TT
19362003-01-23 Tom Tromey <tromey@redhat.com>
1937
1938 * expr.c (build_known_method_ref): Use method's context to find
1939 method table index.
1940
0f0ff6ec
TT
19412003-01-23 Tom Tromey <tromey@redhat.com>
1942
1943 * constants.c (set_constant_entry): Allocated cleared memory.
1944
850ccfae
TT
19452003-01-22 Tom Tromey <tromey@redhat.com>
1946
1947 * java-tree.h: Don't use PARAMS.
1948 * resource.c: Add prototypes for all functions.
1949 (write_resource_constructor): Use `const char *' to avoid
1950 warning.
1951
e00d2127
NN
19522003-01-22 Nathanael Nerode <neroden@gcc.gnu.org>
1953
1954 * jcf-parse.c (process_zip_dir): Remove unused variable.
1955
906c7c32
TT
19562003-01-22 Tom Tromey <tromey@redhat.com>
1957
1958 * expr.c (build_invokeinterface): Abort if method's context is not
1959 an interface.
1960
3e895978
TT
19612003-01-22 Tom Tromey <tromey@redhat.com>
1962
1963 * gcj.texi (Input and output files): Mention non-class entries.
1964 * decl.c (java_init_decl_processing): Call
1965 init_resource_processing.
1966 * java-tree.h (compile_resource_data, write_resource_constructor,
1967 compile_resource_file, init_resource_processing): Declare.
1968 * config-lang.in (gtfiles): Added resource.c.
1969 * Make-lang.in (gt-java-resource.h): New target.
1970 (JAVA_OBJS): Added resource.o.
1971 (java/resource.o): New target.
1972 * resource.c: New file.
1973 * class.c (compile_resource_file): Moved to resource.c.
1974 (registerResource_libfunc): Likewise.
1975 (utf8_decl_list): Mark with GTY; now static.
1976 * jcf-parse.c (classify_zip_file): New function.
1977 (parse_zip_file_entries): Use it; compile .properties files.
1978 (process_zip_dir): Use classify_zip_file and compute_class_name.
1979 Don't write class name into zip directory.
1980 (java_parse_file): Call write_resource_constructor.
1981 (compute_class_name): New function.
1982 * jcf-io.c (read_zip_member): Reindented.
1983
5c64ead4
TT
19842003-01-21 Tom Tromey <tromey@redhat.com>
1985
1986 * class.c (supers_all_compiled): New function.
1987 (make_class_data): Use it.
1988
9179646e
TT
19892003-01-21 Tom Tromey <tromey@redhat.com>
1990
1991 * parse.y (method_header): Native method can't be strictfp.
1992 No method can be transient or volatile.
1993
dd859b8a
KG
19942003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1995
1996 Make-lang.in (jvspec.o-warn): Add -Wno-error.
1997
634661fe
KH
19982003-01-18 Kazu Hirata <kazu@cs.umass.edu>
1999
2000 * check-init.c: Fix comment typos.
2001 * class.c: Likewise.
2002 * constants.c: Likewise.
2003 * decl.c: Likewise.
2004 * except.c: Likewise.
2005 * expr.c: Likewise.
2006 * java-except.h: Likewise.
2007 * java-tree.h: Likewise.
2008 * javaop.h: Likewise.
2009 * jcf-dump.c: Likewise.
2010 * jcf-io.c: Likewise.
2011 * jcf-parse.c: Likewise.
2012 * jcf-write.c: Likewise.
2013 * lang.c: Likewise.
2014 * mangle.c: Likewise.
2015 * typeck.c: Likewise.
2016 * verify.c: Likewise.
2017
a1fb4e91
KG
20182003-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2019
2020 * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
2021 * jcf-write.c: Include "tm_p.h".
2022
1faad0fc
KG
20232003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2024
2025 * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
2026
fc555370
KG
20272003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2028
f981519d
KG
2029 * builtins.c (java_build_function_call_expr): Renamed from
2030 build_function_call_expr. All callers changed.
2031
0334ef47
KG
2032 * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
2033 * jcf-parse.c: Include tm_p.h.
2034
fc555370
KG
2035 * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
2036 warning.
2037
d9bbf3f7
TT
20382003-01-14 Tom Tromey <tromey@redhat.com>
2039
2040 * class.c (make_class_data): Check that super is compiled before
2041 building class reference to it.
2042
47411341
AH
20432003-01-14 Andrew Haley <aph@redhat.com>
2044
2045 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
649eaf9b 2046 varargs function -- correct.
47411341 2047
e5c9ced4
AH
20482003-01-14 Andrew Haley <aph@redhat.com>
2049
2050 * decl.c (java_init_decl_processing): Temporarily back out previous patch.
2051
50cbc605
AH
20522003-01-14 Andrew Haley <aph@redhat.com>
2053
2054 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
2055 varargs function -- correct.
2056
2057 * parse.y (patch_assignment): Copy the rhs of an assignment into a
2058 temporary if the RHS is a reference.
2059
0a2f0c54
KG
20602003-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2061
b3504bc1
KG
2062 * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
2063 * keyword.h: Regenerated.
2064
0a2f0c54
KG
2065 * All Files: Convert to ISO C style function definitions.
2066
43a4a12b
NN
20672003-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
2068
2069 * parse.y (check_pkg_class_access): ANSIfy definition.
2070
77d3109b
KG
20712003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2072
d12689d2
KG
2073 * decl.c, parse-scan.y, parse.y: Don't cast return value of
2074 xmalloc et al.
2075
77d3109b
KG
2076 * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
2077
17211ab5
GK
20782003-01-09 Geoffrey Keating <geoffk@apple.com>
2079
2080 Merge from pch-branch:
2081
2082 2002-12-02 Geoffrey Keating <geoffk@apple.com>
2083
2084 * Make-lang.in (java/gjavah.o): Update dependencies.
2085 * gjavah.c: Include ggc.h.
2086
2087 2002-08-16 Geoffrey Keating <geoffk@redhat.com>
2088
2089 * Make-lang.in (GCJH_OBJS): Add ggc-none.o.
2090 (JCFDUMP_OBJS): Add ggc-none.o.
2091 (java/jcf-dump.o): Depend on GGC_H.
2092 * jcf-reader.c (jcf_parse_constant_pool): Use ggc_alloc to allocate
2093 CPool substructures.
2094 * jcf-parse.c (process_zip_dir): Use ggc_alloc to allocate JCFs.
2095 * jcf-dump.c: Include ggc.h.
2096
2097 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
2098
2099 * jcf.h (union cpool_entry): New.
2100 (struct CPool): Use gengtype to mark. Change field 'data' to be
2101 an array of unions.
2102 (struct JCF): Use gengtype to mark.
2103 (CPOOL_UINT): Update for new cpool_entry type.
2104 (CPOOL_USHORT1): Likewise.
2105 (CPOOL_USHORT2): Likewise.
2106 (CPOOL_FINISH): Use GC to free cpool subfields.
2107 * parse.h (struct parser_ctxt): Mark field current_jcf.
2108 * lex.c (java_init_lex): Use GC to allocate struct JCF.
2109 * jcf-parse.c (HANDLE_CONSTANT_Utf8): Update for new cpool_entry type.
2110 (main_jcf): Use gengtype to mark.
2111 (ggc_mark_jcf): Delete.
2112 (get_constant): Update for new cpool_entry type.
2113 (give_name_to_class): Likewise.
2114 (get_class_constant): Likewise.
2115 (init_outgoing_cpool): Use GGC to allocate struct CPool.
2116 (java_parse_file): Use GGC to allocate struct JCF.
2117 (init_jcf_parse): Don't call ggc_add_root.
2118 * jcf-reader.c (jcf_parse_constant_pool): Update for new
2119 cpool_entry type.
2120 * java-tree.h (current_jcf): Use gengtype to mark.
2121 (CPOOL_UTF): Update for new cpool_entry type.
2122 (outgoing_cpool): Use gengtype to mark.
2123 (struct lang_type): GC struct JCF and struct CPool.
2124 * config-lang.in (gtfiles): Add jcf.h.
2125 * constants.c (find_tree_constant): New.
2126 (set_constant_entry): Allocate cpool subfields using GGC. Update
2127 for new cpool_entry type.
2128 (find_constant1): Update for new cpool_entry type.
2129 (find_constant2): Likewise.
2130 (find_utf8_constant): Use find_tree_constant.
2131 (find_class_or_string_constant): Remove unnecessary cast to jword.
2132 Update for new cpool_entry type.
2133 (count_constant_pool_bytes): Update for new cpool_entry type.
2134 (write_constant_pool): Likewise.
2135 (alloc_name_constant): Use find_tree_constant.
2136 (build_constants_constructor): Update for new cpool_entry type.
2137
2138 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
2139
2140 * parse.y (mark_parser_ctxt): Delete.
2141 (goal): Don't use ggc_add_root.
2142 (create_new_parser_context): Use GC to allocate struct parser_ctxt.
2143 (java_pop_parser_context): Let GC free parser_ctxt.
2144 (java_parser_context_resume): Likewise.
2145 * parse.h (struct parser_ctxt): Use gengtype to mark.
2146 (ctxp): Likewise.
2147 (ctxp_for_generation): Likewise.
2148 * lex.h (struct java_lc_s): Mark for gengtype.
2149 (java_lexer): Rearrange for gengtype.
2150 * config-lang.in (gtfiles): Add lex.h, parse.h.
2151
b3339cf7
KG
21522003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2153
d2097937
KG
2154 * All Files: Remove PARAMS macro.
2155
6ff2fe39
KG
2156 * expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
2157 jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
2158 `__STDC__' macros.
2159
b3339cf7
KG
2160 * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
2161 VA_CLOSE.
2162
8a4c5898
CC
21632003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
2164
2165 * Make-lang.in (java.install-common, java.uninstall,
2166 java.install-info, java.install-man): Prepend $(DESTDIR)
2167 to destination paths in all (un)installation commands.
2168 (java.install-common): Rewrite $(LN) command to support
2169 DESTDIR with "ln" as well as with "ln -s".
2170
2f23f5c1
NN
21712003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
2172
2173 * java-tree.h: Protect against multiple inclusion.
2174
b47ffb8f
TT
21752003-01-07 Tom Tromey <tromey@redhat.com>
2176
2177 * class.c (add_assume_compiled): Don't adjust parent if we're
2178 already at the root of tree.
2179
c7c50494
KG
21802003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2181
2182 * lang.c (dump_compound_expr): Prototype.
2183
f3ce4aba
TT
21842003-01-03 Tom Tromey <tromey@redhat.com>
2185
2186 Fix for PR java/8712:
2187 * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR,
2188 when simply checking against `null'.
2189
60db58b2
TT
21902003-01-03 Tom Tromey <tromey@redhat.com>
2191
0320cac3
TT
2192 * gcj.texi (Standard Properties): Document http.proxyHost and
2193 http.proxyPort.
2194
60db58b2
TT
2195 * gcj.texi (GNU Classpath Properties): Document new properties.
2196
43c6a96a
SB
21972003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
2198
2199 * java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf,
2200 java/lang-options.h, java/mangle.c, java/mangle_name.c,
2201 java/xref.c, java/zextract.c,java/zipfile.h: Fix copyright years.
2202
f309ff0a
SB
22032003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
2204
2205 * Make-lang.in, boehm.c, buffer.c,
2206 buffer.h, builtins.c, class.c,
2207 config-lang.in, constants.c,
2208 convert.h, decl.c, except.c,
2209 expr.c, java-except.h,
2210 java-tree.h, javaop.def,
2211 jcf-parse.c, jcf-write.c,
2212 jv-scan.c, jvgenmain.c,
43c6a96a 2213 jvspec.c, keyword.gperf,
f309ff0a
SB
2214 keyword.h, lang-options.h,
2215 lang-specs.h, lang.c, lex.c,
2216 lex.h, mangle.c, mangle_name.c,
2217 parse-scan.y, parse.h, parse.y,
2218 typeck.c, verify.c, xref.c,
2219 xref.h: Replace "GNU CC" with
2220 "GCC" in the copyright header.
2221
2222 * check-init.c, gjavah.c, javaop.h,
2223 jcf-depend.c, jcf-dump.c, jcf-io.c,
2224 jcf-path.c, jcf-reader.c, jcf.h,
2225 zextract.c, zipfile.h: These files are
2226 "part of GCC". Also say "GCC" not "GNU CC".
2227
9a280a6e
DD
22282002-12-30 DJ Delorie <dj@redhat.com>
2229
e2f45c30 2230 * Make-lang.in: Protect against texi2pod/pod2man failing.
9a280a6e 2231
bdefb2ab
JM
22322002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
2233
2234 * gcj.texi: Use @copying.
2235
239b7dea
MM
22362002-12-27 Mark Mitchell <mark@codesourcery.com>
2237
2238 * gjavah.c (print_name_for_stub_or_jni): Adjust call to
2239 print_cxx_classname.
2240 (print_cxx_classname): Add add_scope parameter.
2241 (print_class_decls): Do not emit a semicolon after the extern
2242 "Java" block.
43c6a96a 2243 (process_file): Adjust calls to print_cxx_classname.
239b7dea 2244
df82908a
JM
22452002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
2246
2247 * gcj.texi: Include Cover Texts in man page.
2248
d3ab697b
JS
22492002-12-23 Jeff Sturm <jsturm@one-point.com>
2250
2251 * class.c (build_static_field_ref): Check FIELD_FINAL.
2252
2253 * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF
2254 instead of current_constant_pool_data_ref.
2255 * java-tree.h (current_constant_pool_data_ref): Undefine.
2256 (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove.
2257 * jcf-parse.c (init_outgoing_cpool): Don't initialize
2258 current_constant_pool_data_ref.
2259
2260 * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
2261 not build_internal_class_name.
2262
2263 * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
2264 Use it when class ref isn't certain to be compiled.
2265
46d40353
JM
22662002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
2267
2268 * gcj.texi: Include gcc-common.texi.
2269 * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on
2270 $(srcdir)/doc/include/gcc-common.texi.
2271
fba1caab
AG
22722002-12-22 Anthony Green <green@redhat.com>
2273
2274 * gcj.texi (Limitations): Add note about org.xml.sax and
2275 org.w3c.dom.
2276
913746e3
TT
22772002-12-20 Tom Tromey <tromey@redhat.com>
2278
2279 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
2280 where minimum case value is Integer.MIN_VALUE.
2281 Fixes PR java/8955.
2282
71d082af
AH
22832002-12-18 Andrew Haley <aph@redhat.com>
2284
2285 * parse.y (patch_invoke): Force evaluation order when `check' is
2286 set. For PR libgcj/8945.
2287
7a04c51b
MM
22882002-12-16 Mark Mitchell <mark@codesourcery.com>
2289
2290 * gcj.texi: Change version number to 3.4.
2291
0cc1565a 22922002-12-05 Ranjit Mathew <rmathew@hotmail.com>
649eaf9b 2293 Andrew Haley <aph@redhat.com>
0cc1565a
RM
2294
2295 * parse.y (source_end_java_method): Remove custom encoding of line
2296 numbers for a function decl before passing it to the back end.
2297
421f9e60
AH
22982002-12-03 Andrew Haley <aph@redhat.com>
2299
2300 * class.c (make_class_data): New field, "chain".
2301 * decl.c (java_init_decl_processing): Likewise.
2302
6b55b27f
TT
23032002-12-02 Tom Tromey <tromey@redhat.com>
2304
2305 For PR java/8740:
2306 * parse.y (do_resolve_class): Handle qualified name via
2307 recursion.
2308
4977bab6
ZW
23092002-11-30 Zack Weinberg <zack@codesourcery.com>
2310
2311 * boehm.c, buffer.c, builtins.c, check-init.c, class.c,
2312 constants.c, decl.c, except.c, expr.c, gjavah.c, jcf-depend.c,
2313 jcf-dump.c, jcf-io.c, jcf-parse.c, jcf-path.c, jcf-write.c,
2314 jv-scan.c, jvgenmain.c, jvspec.c, lang.c, mangle.c, mangle_name.c,
2315 parse-scan.y, parse.y, typeck.c, verify.c, xref.c, zextract.c:
2316 Include coretypes.h and tm.h.
2317 * Make-lang.in: Update dependencies.
2318
d1aed877
KG
23192002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2320
2321 * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
2322
b4bbc8b7
DN
23232002-11-25 Diego Novillo <dnovillo@redhat.com>
2324
2325 * jcf-reader.c: Don't expand JCF_readu4 inside the
2326 expansion of JCF_SKIP.
2327
4977bab6
ZW
23282002-11-25 Diego Novillo <dnovillo@redhat.com>
2329
2330 * jcf-reader.c: Don't expand JCF_readu4 inside the
2331 expansion of JCF_SKIP.
2332
dd06be9e
TT
23332002-11-22 Tom Tromey <tromey@redhat.com>
2334
2335 * parse.y (patch_binop): Cast right hand side of shift expression
2336 to `int'. Fixes PR java/8676.
2337
34744d4e
RM
23382002-11-22 Ranjit Mathew <rmathew@hotmail.com>
2339 Andrew Haley <aph@redhat.com>
2340
2341 * gcc/java/jcf-write.c (write_classfile): Remove target
2342 class file, if it exists, before renaming the temporary
2343 class file to it.
2344
f3226a90
JT
23452002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
2346
2347 * jvspec.c (lang_specific_spec_functions): New.
2348
5602b49d
TT
23492002-11-18 Tom Tromey <tromey@redhat.com>
2350
2351 Fix for PR java/7912:
2352 * expr.c (can_widen_reference_to): Allow cast of array to
2353 Cloneable or Serializable.
2354 * java-tree.h (java_lang_cloneable_identifier_node): Declare.
2355 (java_io_serializable_identifier_node): Likewise.
2356 * parse.y (java_lang_cloneable, java_io_serializable): Removed.
2357 (valid_ref_assignconv_cast_p): Use new identifier nodes.
2358 * lex.c (java_init_lex): Don't initialize java_lang_cloneable and
2359 java_io_serializable.
2360 * decl.c (java_init_decl_processing): Initialize
2361 java_lang_cloneable_identifier_node and
2362 java_io_serializable_identifier_node.
2363 (java_lang_cloneable_identifier_node): New global.
2364 (java_io_serializable_identifier_node): Likewise.
2365
a92cb0c3
JMH
23662002-11-14 Jens-Michael Hoffmann <jensmh@gmx.de>
2367
2368 * buffer.c: Remove unnecessary casts.
2369 * check-init.c: Likewise.
2370 * class.c: Likewise.
2371 * constants.c: Likewise.
2372 * decl.c: Likewise.
2373 * except.c: Likewise.
2374 * gjavah.c: Likewise.
2375 * jcf-io.c: Likewise.
2376 * jcf-parse.c: Likewise.
2377 * jcf-path.c: Likewise.
2378 * jvspec.c: Likewise.
2379 * lang.c: Likewise.
2380 * lex.c: Likewise.
2381 * verify.c: Likewise.
2382
5bd717f1
TT
23832002-11-06 Tom Tromey <tromey@redhat.com>
2384
2385 * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
2386 a JNI header.
2387
c034b453
TT
23882002-11-05 Tom Tromey <tromey@redhat.com>
2389
2390 Fix for PR java/6388.
2391 * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while.
2392 * java-tree.h (enum java_tree_index): New values
2393 JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE.
2394 (decimal_int_max, decimal_long_max): New defines.
2395 * lex.c (yylex): Rewrote range checking. Sign extend literals.
2396 (error_if_numeric_overflow): Rewrote range checking.
2397 * decl.c (java_init_decl_processing): Initialize decimal_int_max,
2398 decimal_long_max.
2399
21140beb
TT
24002002-11-02 Tom Tromey <tromey@redhat.com>
2401
60b68525
TT
2402 * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
2403
21140beb
TT
2404 * class.c (make_method_value): Put class name, not signature, into
2405 `throws' field. For PR java/8415.
2406
3752ac08
TT
24072002-10-24 Tom Tromey <tromey@redhat.com>
2408
2409 * gcj.texi (Invoking gij): Document --showversion.
2410 (Standard Properties): java.library.path now set.
2411
0d3911c9
TT
24122002-10-23 Tom Tromey <tromey@redhat.com>
2413
2414 * gjavah.c (decode_signature_piece): In JNI mode, print
2415 `jobjectArray' when array depth is nonzero.
2416 Fixes PR java/8296.
2417
c1ddb5c8
AH
24182002-10-15 Andrew Haley <aph@redhat.com>
2419
2420 * parse.y (patch_invoke): Call force_evaluation_order on a static
2421 arg list.
2422 (resolve_qualified_expression_name): Call force_evaluation_order
2423 on a arg list that is part of a Qualified Expression Name.
2424
2425 * lang.c (dump_compound_expr): New.
2426 (java_dump_tree): New.
2427
63bb20d4
RM
24282002-10-20 Ranjit Mathew <rmathew@hotmail.com>
2429
2430 * gcj.texi: Added item describing the GCJ runtime property
2431 "gnu.gcj.progname".
2432
ba0bb02d
RH
24332002-10-15 Richard Henderson <rth@redhat.com>
2434
2435 * jcf-parse.c (get_constant): Fix type warning.
2436
dbd1e2d8
AH
24372002-10-15 Andrew Haley <aph@redhat.com>
2438
2439 * java-tree.h (java_inlining_merge_static_initializers): Declare.
2440 (java_inlining_map_static_initializers): Declare.
2441
3eb429b2
AH
24422002-10-14 Andrew Haley <aph@redhat.com>
2443
2444 * tree-inline.c (remap_block): All local class initialization
2445 flags go in the outermost scope.
2446 (expand_call_inline): Call java_inlining_map_static_initializers.
2447 (expand_call_inline): Call java_inlining_merge_static_initializers.
2448 * java/lang.c (merge_init_test_initialization): New.
2449 (java_inlining_merge_static_initializers): New.
2450 (inline_init_test_initialization): New.
2451 (java_inlining_map_static_initializers): New.
2452
37d2b7e2
MW
24532002-10-11 Mark Wielaard <mark@klomp.org>
2454
2455 * gcj.texi (Compatibility): Add Limitations and Extensions section.
2456
7bdfd72e
KG
24572002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2458
2459 * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
2460
c6449a1d
KG
24612002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2462
2463 * parse.y (merge_string_cste): Add parentheses around & within |.
2464
8f6d2e96
TT
24652002-10-08 Tom Tromey <tromey@redhat.com>
2466
2467 * parse.y (variable_declarator_id): Simplify error path for
2468 array declarator error. For PR java/8003.
2469
36624850
ZW
24702002-10-08 Zack Weinberg <zack@codesourcery.com>
2471
2472 * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
2473 bug_report_url.
2474
ce5bb293
AH
24752002-10-08 Andrew Haley <aph@redhat.com>
2476
2477 * parse.y (attach_init_test_initialization_flags): Check for
2478 error_mark_node.
2479
36624850 24802002-10-07 Anthony Green <green@redhat.com>
6a921942 2481
36624850 2482 * parse.y (merge_string_cste): Fix bug in string concatenation.
6a921942 2483
f42ee52f
MK
24842002-10-03 Michael Koch <konqueror@gmx.de>
2485
2486 * gcj.texi (Standard properties):
2487 Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
2488
f963b5d9
RS
24892002-10-02 Roger Sayle <roger@eyesopen.com>
2490
2491 PR optimization/6627
2492 * lang.c (java_init): If storing the vbit in function
2493 pointers, ensure that force_align_functions_log is atleast
2494 one to aid compatability with g++ vtables.
2495
6f7e9e94
NS
24962002-10-01 Nathan Sidwell <nathan@codesourcery.com>
2497
2498 * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
2499 foul of type-based aliasing.
2500
71dff728
AG
25012002-09-30 Anthony Green <green@redhat.com>
2502
2503 * gcj.texi (Invoking jv-scan): Fix texinfo.
2504
acc59b85
AG
25052002-09-28 Anthony Green <green@redhat.com>
2506
2507 * gcj.texi (Invoking jv-scan): Add --no-assert documentation.
2508 (Code Generation): Add -fno-assert documentation.
2509 * jv-scan.c (flag_assert): New global.
2510 (options): Add assert option.
2511 (help): Add --no-assert documentation.
2512 * parse-scan.y (flag_assert): New global.
2513 * lang.c (lang_f_options): Add -fassert/-fno-assert support.
2514 (flag_assert): New global.
2515 * java-tree.h (flag_assert): New global.
2516 * lex.c (java_lex): Obey flag_assert.
2517 * jvspec.c (jvgenmain_spec): Strip -fassert/-fno-assert when
2518 calling cc1.
2519
fc5295fa
AH
25202002-09-26 Andrew Haley <aph@redhat.com>
2521
2522 * expr.c (build_java_array_length_access): Check for null pointer.
2523 * expr.c (expand_java_arrayload): Likewise.
2524
aa2046c4
RH
25252002-09-21 Richard Henderson <rth@redhat.com>
2526
36624850 2527 * jcf-parse.c (get_constant): Decode from IEEE no matter
aa2046c4
RH
2528 what the target format.
2529
ee142fe7
KH
25302002-09-20 Kazu Hirata <kazu@cs.umass.edu>
2531
2532 * ChangeLog: Follow spelling conventions.
2533 * class.c: Likewise.
2534 * decl.c: Likewise.
2535 * expr.c: Likewise.
2536 * gjavah.c: Likewise.
2537 * java-tree.h: Likewise.
2538 * jcf-dump.c: Likewise.
2539 * jcf-parse.c: Likewise.
2540 * jvspec.c: Likewise.
2541 * lang.c: Likewise.
2542 * mangle.c: Likewise.
2543 * parse.y: Likewise.
2544
6a022513
TT
25452002-09-17 Tom Tromey <tromey@redhat.com>
2546
2547 * lex.c (java_read_unicode_collapsing_terminators): Handle case
2548 where \r appears at EOF. Fixes PR java/7950.
2549
4977bab6
ZW
25502002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2551
2552 * jvspec.c (lang_specific_driver): Remove unused variable.
2553
36a5eadd
GK
25542002-09-16 Geoffrey Keating <geoffk@apple.com>
2555
2556 * java-tree.h (union lang_tree_node): Add chain_next option.
2557
efdc7e19
RH
25582002-09-16 Richard Henderson <rth@redhat.com>
2559
2560 * jcf-parse.c (get_constant): Runtime check for IEEE format;
2561 use new real.h interface.
2562 * jcf-write.c (find_constant_index): Use new real.h interface.
2563 * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
2564
6522685d
KH
25652002-09-15 Kazu Hirata <kazu@cs.umass.edu>
2566
25facd31 2567 * lang.c: Follow spelling conventions.
6522685d 2568
6e471ea7
PB
25692002-09-11 Per Bothner <per@bothner.com>
2570
2571 * parse.y (fold_constant_for_init): If a VAR_DECL, convert numerical
2572 constant to the type of the field.
2573 (java_complete_tree): Remove now-redundant code.
2574
2575 * parse.y (fold_constant_for_init): 'null' is not a constant expr.
2576
23114b69
JR
25772002-09-03 Jesse Rosenstock <jmr@ugcs.caltech.edu>
2578
2579 For PR java/5794:
2580 * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
2581 return label if a ret instruction for the jsr has been reached.
2582
f724acb8
RM
25832002-09-09 Ranjit Mathew <rmathew@hotmail.com>
2584
2585 * parse.y (DIR_SEPARATOR): Don't define.
2586 (check_class_interface_creation): Use IS_DIR_SEPARATOR.
2587
b139fcfd
AH
25882002-08-28 Andrew Haley <aph@redhat.com>
2589
2590 * verify.c (verify_jvm_instructions): Allow exception handler
2591 inside code that is being protected, but generate a warning.
2592 * except.c (link_handler): Initialize `expanded' in new eh_range.
2593 (binding_depth, is_class_level, current_pc): Declare extern.
2594
f60518c8
MW
25952002-09-01 Mark Wielaard <mark@klomp.org>
2596
2597 * gcj.texi: Add chapter about system properties.
2598 Fixed some typos.
2599
83dd5fae
TT
26002002-08-26 Tom Tromey <tromey@redhat.com>
2601
2602 * parse.y (try_builtin_assignconv): Allow narrowing primitive
2603 conversion if RHS_TYPE is byte, short, or char.
2604
00a8b314
TT
26052002-08-22 Tom Tromey <tromey@redhat.com>
2606
2607 * gcj.texi (Invoking gij): Document -cp and -classpath.
2608
0d811e1a
TT
26092002-08-21 Tom Tromey <tromey@redhat.com>
2610
79a3cb18
TT
2611 * Make-lang.in (java/jcf-path.o): Use $(datadir), not
2612 $(prefix)/share. For PR libgcj/7633.
2613
0d811e1a
TT
2614 For PR java/6005 and PR java/7611:
2615 * lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define.
2616 (java_can_use_bit_fields_p): New function.
2617
ca75573a
TT
26182002-08-16 Tom Tromey <tromey@redhat.com>
2619
2620 * gcj.texi (Class Initialization): Mention class initialization of
2621 arrays.
2622
7149627b
AH
26232002-07-30 Andrew Haley <aph@cambridge.redhat.com>
2624
2625 * Make-lang.in (java-tree-inline.o): New.
2626 (JAVA_OBJS): Add java-tree-inline.o.
2627 * parse.y (source_end_java_method): Call java_optimize_inline.
2628 (java_expand_method_bodies): Save method's tree in
2629 DECL_SAVED_TREE.
2630 (add_stmt_to_compound): Keep track of the number of statments.
2631 * lang.c (java_init): Enable flag_inline_trees.
2632 (java_post_options): If flag_inline_functions is on, enable
2633 flag_inline_trees instread.
2634 (decl_constant_value): New.
2635 (java_tree_inlining_walk_subtrees): New.
2636 * java-tree.h (DECL_NUM_STMTS): New macro.
2637 (java_optimize_inline): Declare.
2638 * expr.c (java_expand_expr): Allow a BLOCK to return a value.
2639 Handle a LABEL_EXPR.
2640 * decl.c (build_result_decl): If we already have a DECL_RESULT
2641 don't make another.
2642 (dump_function): New.
2643 (java_optimize_inline): New.
2644 (dump_function): New.
2645
ee1884cb
JR
26462002-08-13 Jesse Rosenstock <jmr@fulcrummicro.com>
2647
2648 For PR java/7483:
2649 * parse.y (build_assertion): Invert return from
2650 desiredAssertionStatus.
2651
097684ce
BM
26522002-08-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2653
36624850 2654 * jcf-write.c (get_access_flags): Return correct access flags for
097684ce
BM
2655 private and protected inner classes.
2656
22aa533e
NS
26572002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2658
2659 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2660
b3426eb9
GK
26612002-08-05 Geoffrey Keating <geoffk@redhat.com>
2662
2663 * mangle_name.c: Don't include obstack.h twice.
2664 * xref.c: Don't include obstack.h.
2665
6d9f628e
GK
26662002-08-04 Geoffrey Keating <geoffk@redhat.com>
2667
2668 * class.c: (permanent_obstack): Delete declaration.
2669 * constants.c: (permanent_obstack): Delete declaration.
2670 * except.c: (permanent_obstack): Delete declaration.
2671 * expr.c: (permanent_obstack): Delete declaration.
2672 * jcf-parse.c: (permanent_obstack): Delete declaration.
2673 (saveable_obstack): Delete declaration.
2674 * parse.h: (permanent_obstack): Delete declaration.
2675 * typeck.c: (permanent_obstack): Delete declaration.
2676
d500c5d7
JM
26772002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
2678
2679 * gcj.texi (version-gcc): Increase to 3.3.
2680
e75abdab
TT
26812002-07-22 Tom Tromey <tromey@redhat.com>
2682
2683 * lex.c (java_lex): Check for `e' or `E' after 0.
2684
8943a0b4
RH
26852002-07-21 Richard Henderson <rth@redhat.com>
2686
2687 * lang.c (java_unsafe_for_reeval): New.
2688 (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2689
2f8dd115
NB
26902002-07-21 Neil Booth <neil@daikokuya.co.uk>
2691
2692 * jcf-path.c (GET_ENV_PATH_LIST): Remove.
2693 (jcf_path_init): Use GET_ENVIRONMENT.
2694
c5358a5d
RS
26952002-07-10 Roger Sayle <roger@eyesopen.com>
2696 Zack Weinberg <zack@codesourcery.com>
2697
2698 * builtins.c (initialize_builtins): Remove defines that
2699 handled C/C++ specific junk hereby removed from builtins.def.
2700
5351f1ca
NB
27012002-07-07 Neil Booth <neil@daikokuya.co.uk>
2702
2703 * lang.c (java_post_options): Update prototype.
2704
df061a43
RS
27052002-07-05 Roger Sayle <roger@eyesopen.com>
2706
c5358a5d 2707 * builtins.c (initialize_builtins): Ignore the additional
df061a43
RS
2708 parameter to DEF_BUILTIN. Handle more C/C++ specific junk in
2709 the builtins.def file.
2710
68a830fe
TT
27112002-07-01 Tom Tromey <tromey@redhat.com>
2712
2713 For PR libgcj/7073:
2714 * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
2715 specially.
2716
6a2dd09a
RS
27172002-07-01 Roger Sayle <roger@eyesopen.com>
2718
2719 * java/decl.c (builtin_function): Accept additional parameter.
2720 (java_init_decl_processing): Pass an additional NULL_TREE
2721 argument to builtin_function.
2722
32c4621e
M
27232002-06-29 T.J. Mather <tjmather@maxmind.com>
2724
2725 * gcj.texi: Fixed gcj invocation example so that it compiles.
2726
bd466c7b
KG
27272002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2728
57ddd19c
KG
2729 * lex.c (java_init_lex): Avoid incorrect hardcoded constant 11.
2730 * parse.y (mark_parser_ctxt): Likewise.
33780b45
KG
2731 (check_modifiers, declare_local_variables): Avoid incorrect
2732 hardcoded constant 10.
57ddd19c 2733
bd466c7b
KG
2734 * lex.c (java_read_char): Avoid "comparison is always true"
2735 warning.
2736
b6532e57
AS
27372002-06-25 Andreas Schwab <schwab@suse.de>
2738
2739 * expr.c (JSR): Avoid undefined operation on PC.
2740
eb6b51b9
KG
27412002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2742
2743 * decl.c (clear_binding_level): Const-ify.
2744
6d61f1bd
AD
27452002-06-13 Akim Demaille <akim@epita.fr>
2746
2747 * parse.y (class_declaration, interface_declaration): Make sure
2748 all their rules have an action, in order to avoid meaningless `$$
2749 = $1' and their type clashes.
2750
c6226a7e
TT
27512002-06-11 Tom Tromey <tromey@redhat.com>
2752
2753 * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
2754 * parse-scan.y (statement_without_trailing_substatement): Added
2755 assert_statement.
2756 (assert_statement): New rule.
2757 * java-tree.h (struct lang_type) [assertions]: New field.
2758 (TYPE_USES_ASSERTIONS): New macro.
2759 (CLASS_USES_ASSERTIONS): Likewise.
2760 (FIELD_SYNTHETIC): New define.
2761 * lex.c (java_lval;): Added ASSERT_TK.
2762 * parse.y (ASSERT_TK): Added.
2763 (statement_without_trailing_substatement): Added assert_statement.
2764 (assert_statement): New rule.
2765 (build_assertion): New function.
2766 (maybe_generate_pre_expand_clinit): Create and initialize
2767 $assertionsDisabled.
2768 (lookup_package_type): Removed decl.
2769 * keyword.h: Rebuilt.
2770 * keyword.gperf (assert): New token.
2771
e35b68b0
AD
27722002-06-10 Akim Demaille <akim@epita.fr>
2773
2774 * parse.y (interface_type_list, class_member_declaration)
2775 (unary_expression_not_plus_minus): Remove duplicate %type.
2776 Whitespace changes.
2777
950ac1d3
TT
27782002-06-09 Tom Tromey <tromey@redhat.com>
2779
ac57655a
TT
2780 * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
2781
950ac1d3
TT
2782 * parse.y (method_header): Give error message in all cases.
2783 Fixes PR java/6865.
2784
36d010ca
BM
27852002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2786
2787 Don't use RTL inlining. Fix for PR java/6820.
2788 * lang.c (LANG_HOOKS_POST_OPTIONS): Define.
2789 (flag_really_inline): New.
2790 (java_decode_option): Set flag_really_inline if -finline-functions
2791 is seen.
2792 (java_post_options): New function. Turn off inlining unless
2793 flag_really_inline is set.
2794
64e68197
BM
27952002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2796
36624850 2797 * gjavah.c (throwable_p): Accept argument as either a classname or
64e68197
BM
2798 signature fragment. Create null-terminated classname string for super
2799 when calling itself recursively.
36624850 2800 (decode_signature_piece): Skip first character from class name
64e68197
BM
2801 signature when calling throwable_p.
2802
c238d806
L
28032002-06-08 H.J. Lu (hjl@gnu.org)
2804
2805 * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
2806
f06cafdf
TT
28072002-06-04 Tom Tromey <tromey@redhat.com>
2808
2809 * jcf-write.c (perform_relocations): Optmize a goto to a goto.
2810
0bb5f0e4
MK
28112002-06-04 Michael Koch <konqueror@gmx.de>
2812
2813 * gcj.texi (Input Options): Fixed typo.
2814
c02ebb18
ZW
28152002-06-04 Zack Weinberg <zack@codesourcery.com>
2816
2817 * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
2818 typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
2819 all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
2820 and all now-pointless local variables. Rename other local
2821 variables to reflect their not being handles.
2822
2823 * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
2824 #if JCF_USE_STDIO blocks.
2825
2826 * parse.y: Add missing semicolon at end of rule.
2827
e2500fed
GK
28282002-06-03 Geoffrey Keating <geoffk@redhat.com>
2829
2830 * check-init.c (attach_initialized_static_class): Delete, unused.
2831 * parse.y: Use htab_t instead of struct hashtable, update
2832 all uses.
2833 * java-tree.h: Include hashtab.h instead of hash.h.
2834 (struct lang_decl_func): Use htab_t, set up for gengtype.
2835 (struct init_test_hash_entry): Delete.
2836 (struct treetreehash_entry): New.
c02ebb18 2837 (java_treetreehash_find): New
e2500fed
GK
2838 (java_treetreehash_new): New prototype.
2839 (java_treetreehash_create): New prototype.
2840 (java_mark_tree): Delete prototype.
2841 (java_hash_hash_tree_node): Delete prototype.
2842 (java_hash_compare_tree_node): Delete prototype.
2843 (attach_initialized_static_class): Delete prototype.
2844 * expr.c (build_class_init): Update to use java_treetreehash
2845 functions.
2846 (java_expand_expr): Update to use htab_t.
2847 (emit_init_test_initialization): Likewise.
2848 * decl.c (java_mark_tree): Delete.
2849 * class.c (init_test_hash_newfunc): Delete.
2850 (java_hash_hash_tree_node): Delete.
2851 (java_hash_compare_tree_node): Delete.
2852 (add_method_1): Update to use java_treetreehash functions.
2853 (JAVA_TREEHASHHASH_H): New macro.
2854 (java_treetreehash_hash): New function.
2855 (java_treetreehash_compare): New function.
2856 (java_treetreehash_find): New function.
2857 (java_treetreehash_new): New function.
2858 (java_treetreehash_create): New function.
2859 * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
2860
2861 * Make-lang.in (java/parse.o): Depend on debug.h.
2862 * java-tree.h (struct lang_identifier): Use gengtype.
2863 (union lang_tree_node): New.
2864 (struct lang_decl_func): Use gengtype.
2865 (struct lang_decl_var): Likewise.
2866 (struct lang_decl): Likewise.
2867 * parse.y: Include debug.h.
2868 * lang.c (LANG_HOOKS_MARK_TREE): Delete.
2869
2870 * lang.c (struct language_function): New dummy structure.
2871
2872 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
2873 descriminator for DECL_LANG_SPECIFIC.
2874 (struct lang_decl_func): Rename from struct lang_decl.
2875 (enum lang_decl_desc): New.
2876 (struct lang_decl): Make it a union. Update all the accessor macros.
2877 (struct lang_type): Use gengtype.
2878 * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
2879 * decl.c (java_dup_lang_specific_decl): All lang_decl structures
2880 are now the same size.
2881 (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
2882 use discriminator to mark DECL_LANG_SPECIFIC.
2883
2884 * Make-lang.in (gt-java-builtins.h): New rule.
2885 (java/builtins.o): Add dependency on gt-<filename>.h.
2886 * builtins.c: Use gengtype for roots.
2887 (union string_or_tree): Use gengtype.
2888 (struct builtin_record): Use gengtype.
2889 * config-lang.in (gtfiles): Add builtins.c.
2890
2891 * Make-lang.in (gt-java-class.h, gt-java-constants.h,
2892 gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
2893 gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
2894 gt-java-parse.h, gtype-java.h): Add rules to generate.
2895 (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
2896 (class.o): Add dependency on gt-*.h.
2897 (constants.o): Likewise.
2898 (decl.o): Likewise.
2899 (expr.o): Likewise.
2900 (jcf-parse.o): Likewise.
2901 (jcf-write.o): Likewise.
2902 (lang.o): Likewise.
2903 * config-lang.in (gtfiles): New.
2904 * class.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
2905 * constants.c: Replace uses of ggc_add_* with GTY markers.
2906 Include gt-*.h.
2907 * decl.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
2908 * expr.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
2909 * java-tree.h: Replace uses of ggc_add_* with GTY markers.
2910 * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
2911 Include gt-*.h.
2912 * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
2913 Include gt-*.h.
2914 * lang.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
2915 * mangle.c: Replace uses of ggc_add_* with GTY markers. Include
2916 gt-*.h.
2917 * parse.y: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
2918 Include gtype-java.h.
2919
c442c002
TT
29202002-06-02 Tom Tromey <tromey@redhat.com>
2921
2922 Fix for PR java/5913:
2923 * parse.y (patch_binop): Call patch_string on op1.
2924
48711f4d
TT
29252002-06-02 Tom Tromey <tromey@redhat.com>
2926
2927 Fix for PR java/1343, PR java/6336:
2928 * parse.y (make_nested_class_name): Remove extraneous `else'; fix
2929 formatting. Changed return type.
2930 (anonymous_class_counter): Moved to top of file.
2931 (maybe_make_nested_class_name): Append number to class name for
2932 function-local classes.
2933
11ad4784
ZW
29342002-05-28 Zack Weinberg <zack@codesourcery.com>
2935
2936 * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
2937 * Make-lang.in: Update dependency lists.
2938
a15135c9
MM
29392002-05-18 Mark Mitchell <mark@codesourcery.com>
2940
2941 * gjavah.c (throwable_p): Do not free the name of the class after
2942 passing it to find_class.
2943 * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
2944 * jcf-io.c (dirent.h): Include it.
2945 (fnmatch.h): Likewise.
2946 (compare_path): New function.
2947 (java_or_class_file): Likewise.
2948 (memoized_dirlist_entry): New type.
2949 (memoized_dirlist_lookup_eq): New function.
2950 (memoized_dirlists): New variable.
2951 (caching_stat): New function.
2952 (memoized_class_lookup_eq): New function.
2953 (memoized_class_lookups): Likewise.
2954 (find_class): Use memoized_class_lookups and caching_stat.
2955 * jcf.h (JCF_USE_SCANDIR): Define.
2956 * parse.y (java_expand_classes): Write the class files in reverse
2957 order.
c02ebb18 2958
1e6347d8
RO
29592002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2960
2961 * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
2962
2f9a2cd7
MM
29632002-05-13 Mark Mitchell <mark@codesourcery.com>
2964
2965 * jcf-write.c (write_classfile): Unlink the temporary file if it
2966 cannot be renamed. Use concat to build up the name of the
2967 temporary file.
2968
281524f4
MM
29692002-05-08 Mark Mitchell <mark@codesourcery.com>
2970
c02ebb18 2971 * jcf-write.c (write_classfile): Write the file to a
281524f4
MM
2972 temporary file and then rename it.
2973
6b9b5de2
TT
29742002-05-07 Tom Tromey <tromey@redhat.com>
2975
5643bb97
TT
2976 * gjavah.c (throwable_p): Use xstrdup, not strdup.
2977
6b9b5de2
TT
2978 Fix for PR java/1200:
2979 * gjavah.c (throwable_p): New function.
2980 (decode_signature_piece): Use it. A `WeakReference' isn't the
2981 same as a `jweak'.
2982 Include hashtab.h.
2983 (gcjh_streq): New function.
2984
2c7e9098
AJ
29852002-05-07 Andreas Jaeger <aj@suse.de>
2986
c02ebb18 2987 * parse.y (finish_for_loop): Fix if statement.
2c7e9098 2988
486e8c0c
TT
29892002-05-06 Tom Tromey <tromey@redhat.com>
2990
2991 Fix for PR java/5941:
2992 * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
2993 loop update expression.
2994 (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
2995 * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
2996
30b50f90
MW
29972002-05-04 Mark Wielaard <mark@klomp.org>
2998
2999 For PR java/6519:
3000 * parse.y (build_string_concatenation): Return just op1 only when op2
3001 is null and op1 is a STRING_CST, otherwise always construct a
3002 StringBuffer.
3003
0a32c5ea
TT
30042002-04-27 Tom Tromey <tromey@redhat.com>
3005
3006 For PR java/6382:
3007 * parse.y (string_convert_int_cst): New function.
3008 (merge_string_cste): Use it.
3009
ff45c01e
NB
30102002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
3011
3012 * java-tree.h (java_parse_file): Update.
3013 (java_set_yydebug): Remove.
3014 * jcf-parse.c (yydebug): Remove.
3015 (java_set_yydebug): Die.
3016 (java_parse_file): Update.
3017 * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
3018
9127b2da
TT
30192002-04-24 Tom Tromey <tromey@redhat.com>
3020
3021 For PR java/6425:
3022 * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
3023 EXPR_WFL_QUALIFICATION of qual_wfl.
3024
67f0a6bf
PB
30252002-04-23 Per Bothner <per@bothner.com>
3026
3027 * expr.c (PRE_JSR): Call NOTE_LABEL for return address.
3028 * java-tree.h (BCODE_RETURN_TARGET): Removed - never set.
3029 (BCODE_TARGET): Remove BCODE_RETURN_TARGET.
3030
3d3707c1
TT
30312002-04-23 Tom Tromey <tromey@redhat.com>
3032
3033 For PR java/6314:
3034 * jvspec.c (lang_specific_driver): Use --resource, not -R. Also
3035 recognize `-fcompile-resource='.
3036 * gcj.texi (Invoking gcj): Use --resource, not -R. Expanded text
3037 a bit.
3038
920f81e7
APB
30392002-04-22 Alexandre Petit-Bianco <apbianco@redhat.com>
3040
3041 * jcf-parse.c: (yyparse): Don't prepend "./" to relative
3042 paths. Fixes PR java/2791.
3043
a2761d68
AH
30442002-04-19 Andrew Haley <aph@redhat.com>
3045
c02ebb18
ZW
3046 * jcf-write.c (push_long_const): lo, hi: New variables.
3047 Use rshift_double to extract the high part of a 64-bit long.
3048 Use WORD_TO_INT to extract the low part.
a2761d68 3049
c02ebb18
ZW
3050 * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
3051 HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
3052 CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
a2761d68 3053
7a228918
NB
30542002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
3055
3056 * typeck.c (incomplete_type_error): Remove.
3057
b798d8b6
BM
30582002-04-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3059
3060 * class.c (make_class_data): Set DECL_ALIGN on static class data,
3061 for hash synchronization.
3062 * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
3063 * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
3064 class_type_node.
3065
1cde1d05
MW
30662002-04-16 Mark Wielaard <mark@klomp.org>
3067
3068 * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
3069 negative zero.
3070
3020a7f5
BM
30712002-04-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3072
3073 Fix for PR java/6294:
3074 * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
3075 interfaces.
2c7e9098 3076
10aa83c7
BM
30772002-04-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3078
3079 Fix for PR java/6085:
3080 * parse.y (patch_method_invocation): Always use build_access_to_thisn
3081 to get enclosing "this" argument for inner-class constructor
3082 invocation. Pass correct arguments to build_access_to_thisn.
3083
9fef1fe3
AG
30842002-04-10 Andreas Jaeger <aj@suse.de>
3085
3086 * gcj.texi (Input Options): Fix extdirs patch.
3087
30882002-04-10 Anthony Green <green@redhat.com>
3089
3090 * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
3091
30922002-04-09 Anthony Green <green@redhat.com>
3093
3094 * gcj.texi (Input Options): Add --extdirs documentation.
3095 * jcf-dump.c (OPT_extdirs): New macro.
3096 (options): Add extdirs option.
3097 (help): Describe --extdirs.
3098 (main): Handle OPT_extdirs.
3099 * gjavah.c (OPT_extdirs): New macro.
3100 (options): Add extdirs option.
3101 (help): Describe --extdirs.
3102 (main): Handle OPT_extdirs.
3103 * jcf-path.c (jcf_path_init): Add extdirs support.
3104 (jcf_path_extdirs_arg): New function.
3105 (extensions): New variable to hold extensions path entries.
3106 * jvspec.c: Remove -fextdirs= when compiling main().
3107 * lang.c (java_decode_option): Handle -fextdirs=.
3108 * jcf.h (jcf_path_extdirs_arg): Declare new function.
3109 * Make-lang.in: Compile jcf-path with version info for use in
3110 identifying the appropriate libgcj.jar.
3111
66133721
TT
31122002-04-08 Tom Tromey <tromey@redhat.com>
3113
3114 For PR libgcj/5303:
3115 * .cvsignore: Added rmic.1 and rmiregistry.1.
3116 * gcj.texi (Top): Link to new nodes.
3117 (Invoking rmic): New node.
3118 (Invoking rmiregistry): Likewise.
3119 * Make-lang.in (java.generated-manpages): Added rmic.1 and
3120 rmiregistry.1.
3121 (java.maintainer-clean): Likewise.
3122 ($(srcdir)/java/rmic.1): New target.
3123 ($(srcdir)/java/rmiregistry.1): Likewise.
3124 (java.install-man): Handle rmic.1 and rmiregistry.1.
3125
00b224f8
BM
31262002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3127
3128 * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
3129 Add note about handling uncaught exceptions. Add an exception handler
3130 to example.
3131
0b055ea1
BM
31322002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3133
3134 * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
3135 after using it to patch CALL_EXPR.
3136
92c76eba
BM
31372002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3138
3139 * gcj.texi (Invocation): Document CNI invocation API.
3140
78ef5b89
NB
31412002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
3142
3143 * expr.c (truthvalue_conversion): Rename. Update.
3144 (expand_compare): Update.
3145 * java-tree.h (java_truthvalue_conversion): New.
3146 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3147
dffd7eb6
NB
31482002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3149
3150 * java-tree.h (java_mark_addressable): New.
3151 * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3152 * typeck.c (mark_addressable): Rename, update.
3153
ceef8ce4
NB
31542002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3155
3156 * expr.c (build_java_binop): Update.
3157 * java-tree.h (java_signed_type, java_unsigned_type,
3158 java_signed_or_unsigned_type): Update.
3159 * lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3160 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3161 * parse.y (patch_binop): Update.
3162 * typeck.c (signed_or_unsigned_type, unsigned_type,
3163 signed_type): Update.
3164
7cb32822
NB
31652002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
3166
3167 * lang.c (LANG_HOOKS_PRINT_ERROR_FUNCTION): Redefine.
3168 (java_dummy_print): Remove.
3169 (lang_print_error): Rename. Exit early if inhibiting output.
3170 (inhibit_error_printing_function): New.
3171 (java_init): Don't set hook.
3172 (lang_init_source): Use new boolean.
3173
5bebbee7
MK
31742002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
3175
3176 * parse.y (do_resolve_class): Fix infinite recursion.
3177
bce54832
TT
31782002-03-29 Tom Tromey <tromey@redhat.com>
3179
3180 * parse.y (check_inner_circular_reference): Ignore incomplete
3181 types.
3182
b0c48229
NB
31832002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
3184
3185 * Make-lang.in (builtins.o): Update.
3186 * boehm.c (get_boehm_type_descriptor): Update.
3187 * builtins.c: Include langhooks.h.
3188 * decl.c (java_init_decl_processing): Update.
3189 * java-tree.h (java_type_for_mode, java_type_for_size): New.
3190 * lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
3191 Redefine.
3192 * typeck.c (type_for_mode, type_for_size): Update.
3193
5843e870
MK
31942002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
3195
3196 * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
3197
073681c5
TT
31982002-03-28 Tom Tromey <tromey@redhat.com>
3199
3200 * except.c (expand_end_java_handler): If the handler type is NULL,
3201 use java.lang.Throwable. Fixes PR java/5986.
3202
242747e5
APB
32032002-03-28 Alexandre Petit-Bianco <apbianco@redhat.com>
3204
3205 Fix for PR java/4715:
3206 * jcf-parse.c (parse_source_file_3): New function.
3207 (read_class): Call it.
3208 (java_parse_file): Likewise.
3209
62c9aa5f 32102002-03-28 Jan Hubicka <jh@suse.cz>
f5eb5fd0
JH
3211
3212 * java/lang.c (java_init_options): Set flag_trapping_math to 0.
3213
c187b20e
BM
32142002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3215
3216 * parse.y (resolve_package): Initialize "decl".
3217 (lookup_package_type): Remove unused function.
3218
2f418289
BM
32192002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3220
3221 Fix for PR java/5993:
3222 * parse.y (resolve_package): Return the decl if resolution was
2c7e9098 3223 successful. Don't special case "java.lang" and "java.lang.reflect"
2f418289
BM
3224 packages. Set type_name to the merged identifier.
3225 (resolved_qualified_expression_name): Print error using "name" if
3226 resolve_package returns NULL_TREE.
3227
39bea374
TT
32282002-03-27 Tom Tromey <tromey@redhat.com>
3229
3230 * expr.c (expand_invoke): Don't generate null pointer check if
3231 we're calling <init>.
3232
c9d892a8
NB
32332002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
3234
3235 * expr.c (java_lang_expand_expr): Rename java_expand_expr,
3236 fix prototype.
3237 * java-tree.h (java_lang_expand_expr): Similarly.
3238 * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3239 (java_init): Don't set hook.
3240
05833095
BM
32412002-03-27 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3242
3243 Fix for PR java/5850:
3244 * parse.y (lookup_field_wrapper): Call itself recursively for enclosing
3245 context if field was not found in the current scope.
3246 * expr.c (lookup_field): Don't look in enclosing contexts.
3247
c8c21a8c
TT
32482002-03-26 Tom Tromey <tromey@redhat.com>
3249
3250 Fix for PR java/5942:
3251 * parse.y (init_src_parse): Added sanity check.
3252 * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
3253 elements, not 11.
3254
4f0ade92
NB
32552002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
3256
3257 * decl.c (lang_mark_tree): Rename java_mark_tree.
3258 * java-tree.h (java_mark_tree): New.
3259 * java-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
3260
15e5ad76
ZW
32612002-03-25 Zack Weinberg <zack@codesourcery.com>
3262
3263 * lex.c: Change java_perform_atof to take normal parameters
3264 instead of a pointer to a parameter block. Call it directly
3265 from java_lex.
3266
caaabaa1
MW
32672002-03-22 Mark Wielaard <mark@klomp.org>
3268
3269 Fix for PR java/5368:
3270 * parse.y (resolve_qualified_expression_name): Use decl not field_decl
3271 when printing error message.
3272
c88770e9
NB
32732002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
3274
3275 * decl.c (maybe_build_cleanup): Remove.
3276
c58408bf
TT
32772002-03-22 Tom Tromey <tromey@redhat.com>
3278
3279 Andrew Haley <aph@cambridge.redhat.com>
3280
3281 * expr.c (build_field_ref): Don't build a check if the field is a
3282 member of `this'.
3283
6c18d181
EB
32842002-03-21 Eric Blake <ebb9@email.byu.edu>
3285
3286 Fix for PR java/6026:
3287 * lex.c (java_lex): Fix parsing of consecutive floats.
3288
a5778545
TT
32892002-03-21 Tom Tromey <tromey@redhat.com>
3290
3291 * parse.y (build_access_to_thisn): Stop when FROM is not an inner
3292 class.
3293
43577e6b
NB
32942002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
3295
3296 * cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
3297 insert_block, getdecls, kept_level_p, global_bindings_p): New.
3298
fe911510
NF
32992002-03-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
3300
2c7e9098 3301 * gcj.texi: @code{gcj} becomes @command{gcj}.
15e5ad76
ZW
3302 @code{gcc} becomes @command{gcc}.
3303 GcjRaw changed to gnu.gcc.RawData.
3304
7afff7cf
NB
33052002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
3306
3307 * decl.c (start_java_method): Use new hook.
3308 * lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
3309 (java_init): Remove old hook.
3310
c2d8e20a
APB
33112002-03-18 Alexandre Petit-Bianco <apbianco@redhat.com>
3312
3313 * builtins.c (define_builtin): Do nothing if `type' is null.
3314 Fixes PR java/5876.
3315
6befbee5
BM
33162002-03-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3317
3318 * parse.y (parser_check_super_interface): Fix error message
3319 grammar/order.
3320
320c81a6
KG
33212002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3322
3323 * jcf-parse.c (get_constant): Delete unused variables.
3324
52dabb6c
NB
33252002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
3326
3327 * java-tree.h (java_parse_file): New.
3328 * jcf-parse.c (yyparse): Rename java_parse_file.
3329 * lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
3330
568d1435
BM
33312002-03-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3332
3333 * parse.y (craft_constructor): Return the constructor decl.
3334 (java_expand_classes): Update comments.
3335 (lookup_method_invoke): Call fix_constructors immediately for
3336 anonymous class. Fixes PR java/5935.
3337
8d39b447
AG
33382002-03-15 Anthony Green <green@redhat.com>
3339
3340 * jcf-parse.c (yyparse): Don't emit class registration
3341 constructor when compiling resource files.
3342
2f9834e8
KG
33432002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3344
3345 * lang.c (java_tree_code_type, java_tree_code_length,
3346 tree_code_name): Delete.
3347 (tree_code_type, tree_code_length, tree_code_name): Define.
3348 (java_init): Don't try to copy into the various tree_code
3349 arrays.
3350
f792bce5
TT
33512002-03-12 Tom Tromey <tromey@redhat.com>
3352
8a611251
TT
3353 * jcf-parse.c (get_constant) [CONSTANT_String]: String values are
3354 UTF-8, not UCS-2. Fixes PR java/5923.
3355
f792bce5
TT
3356 * parse.y (qualify_ambiguous_name): Handle case where QUAL_WFL is
3357 a call_expr wrapped in a convert. Fixes PR java/5848.
3358
acf8bc25
BM
33592002-03-12 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3360
3361 * jcf-write.c (write_classfile): Improve error strings.
3362
e0b1c206
EB
33632002-03-11 Eric Blake <ebb9@email.byu.edu>
3364
3365 * lex.c: Adjust comments to GNU standards.
3366
33672002-03-11 Eric Blake <ebb9@email.byu.edu>
3368
3369 Fix for PR java/5902:
3370 * lex.c (java_lex): Fix parsing of literals.
3371
884523df
BM
33722002-03-11 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3373
3374 * parse.y (patch_assignment): Wrap the right-hand-side with a save_expr
3375 to prevent it getting evaluated twice in the store checking case.
3376 * expr.c (build_java_arraystore_check): Unwrap SAVE_EXPR's when
3377 examining OBJECT.
3378
45597167
BM
33792002-03-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3380
3381 * decl.c (java_init_decl_processing): Make sure class_type_node
3382 alignment is not less than 64 bits if hash synchronization is enabled.
3383
edcc88c1
PB
33842002-03-08 Per Bothner <per@bothner.com>
3385
3386 * parse.y (java_complete_lhs): Check if patch_assignment
3387 returned an error-mark.
3388
3389 * parse.y (try_builtin_assignconv): Don't special-case zero.
3390
5295f849
PB
33912002-03-08 Per Bothner <per@bothner.com>
3392
3393 Fix for PR java/5812.
3394 * expr.c (build_java_jsr): Take pc arguments, and do lookup_label
be3ac45e 3395 here instead of in JSR macro. Likewise with load_type_state call.
5295f849 3396 Do the latter on if the return_pc has been verified (the jsr returns).
be3ac45e 3397 (JSR): Now just call build_java_jsr.
5295f849 3398
d3e1c36d
JS
33992002-03-07 Jeff Sturm <jsturm@one-point.com>
3400
3401 * java/Make-lang.in (JAVA_TARGET_INSTALL_NAME): Define.
3402 (java.install-common): Link native driver to
3403 JAVA_TARGET_INSTALL_NAME.
3404
6d6b5cd7
DB
34052002-03-05 David Billinghurst <David.Billinghurst@riotinto.com>
3406
3407 * builtins.c(cos_builtin): method_return_type ATTRIBUTE_UNUSED
3408 * builtins.c(sin_builtin): Likewise
3409 * builtins.c(sqrt_builtin): Likewise
3410
ba31d94e
ZW
34112002-03-03 Zack Weinberg <zack@codesourcery.com>
3412
3413 * java/expr.c, java/jcf-parse.c, java/lex.c:
3414 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
3415 REAL_ARITHMETIC blocks unconditional. Delete some further
3416 #ifdef blocks predicated on REAL_ARITHMETIC.
3417
ca7558fc
KG
34182002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3419
3420 * class.c (init_class_processing): Use ARRAY_SIZE in lieu of
3421 explicit sizeof/sizeof.
3422 * decl.c (java_init_decl_processing): Likewise.
3423 * jcf-parse.c (init_jcf_parse): Likewise.
3424 * parse.y (init_src_parse): Likewise.
3425
2a85660d
PB
34262002-03-02 Per Bothner <per@bothner.com>
3427
3428 Make --CLASSPATH by a synonym for --classpath and -classpath.
3429 Implement --bootclasspath.
3430 * jcf-path.c (classpath_u): Rename static variable to classpath_user.
3431 (classpath_l): Remove.
3432 (jcf_path_CLASSPATH_arg): Remove.
3433 (jcf_path_bootclasspath_arg): New function.
3434 (jcf_path_seal): Simplify accordingly.
3435
3436 * jcf.h (jcf_path_bootclasspath_arg): New declarations.
3437 (jcf_path_CLASSPATH): Remove declaration.
3438 * jvspec.c (jvgenmain_spec): Also accept -fbootclasspath*.
3439 (lang_specific_driver): Translate -bootclasspath.
3440 * lang-options.h: Add --bootclasspath. Update --CLASSPATH.
3441 * lang.c (decode_lang_options): Do jcf_path_init first.
3442 Handle -fCLASSPATH same as -fclasspath. Also process -fbootclasspath.
3443 * gjavah.c: Also handle --bootclasspath.
3444 Handle --CLASSPATH as a synonum for --classpath.
3445 * jcf-dump.c: Likewise.
3446
3447 "." is not part of system path, but is the default for --classpath.
3448 * jcf-path.c (jcf_path_init): Don't add "." to sys_dirs.
3449 (jcf_path_seal): Add "." if no CLASSPATH specified.
3450
3451 * gcj.texi: Document changes.
3452
2060fd4c
BM
34532002-03-01 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3454
3455 * expr.c (build_java_arraystore_check): Fix formatting.
3456
4f647d52
APB
34572002-02-28 Alexandre Petit-Bianco <apbianco@redhat.com>
3458
3459 Fix for PR java/5758, java/5632:
3460 * jcf-parse.c (load_class): Renamed local variable, consider `.' an
3461 inner-class separator too.
3462 * parse.y (do_resolve_class): New local `decl_result.'
3463 Progressively build a name for what can have been loaded.
3464
022dcc46
BM
34652002-02-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3466
3467 * expr.c (java_array_data_offset): Removed function.
3468 (JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
3469 (build_java_array_length_access): Obtain "length" value using a
3470 COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
3471 (build_java_arrayaccess): Correct comment. Access "data" using a
3472 COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
3473 (build_java_arraystore_check): New function.
3474 (expand_java_arraystore): Use build_java_arraystore_check.
3475 * parse.y (patch_assignment): Simplify code to insert a store check
3476 when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
3477 * check-init.c (check_init): Update to reflect that an array length
3478 access is now a COMPONENT_REF.
3479 * gcj.texi (Code Generation): Improve documentation of
3480 -fno-bounds-check. Add documentation for -fno-store-check.
3481 * java-tree.h (flag_store_check): Declare.
3482 (build_java_arraystore_check): Declare.
3483 * lang.c (flag_store_check): Initialize to 1.
3484 (lang_f_options): Add store-check option.
3485 * jvspec.c: Don't pass store-check option to jvgenmain.
3486 * lang-options.h: Add help string for -fno-store-check.
3487
63e1b1c4
NB
34882002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
3489
3490 * decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl.
3491 * java-tree.h (java_dup_lang_specific_decl): New.
3492 * lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
3493
f458d1d5
ZW
34942002-02-27 Zack Weinberg <zack@codesourcery.com>
3495
3496 * builtins.c, decl.c: Delete traditional-mode-related code
3497 copied from the C front end but not used, or used only to
3498 permit the compiler to link.
3499
d2fb5329
TT
35002002-02-22 Tom Tromey <tromey@redhat.com>
3501
3502 Fix for PR java/2369:
3503 * jvspec.c (verify_class_name): New function.
3504 (lang_specific_driver): Call it.
3505 (JAVA_START_CHAR_P): New macro.
3506 (JAVA_PART_CHAR_P): Likewise.
3507
dcb36804
PB
35082002-02-22 Per Bothner <per@bothner.com>
3509
022dcc46 3510 * class.c: Change vtable to be more compatible with g++ v3 abi.
dcb36804
PB
3511 (get_dispatch_table): Prepend offset-to-top (always 0) and
3512 type_info pointer (currently unimplemented hence NULL) to vtable.
3513 Specifically, prepend offset-to-top and typeinfo ptr (currently null).
3514 (make_class_data): Variable dtable_start_offset is sizeof 2 pointers.
3515 Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
3516 (build_dtable_decl): Add declarations for new fields.
3517
453c182f
PB
35182002-02-20 Per Bothner <per@bothner.com>
3519
3520 * parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
3521 to finit$ (otherwise generate_bytecode_insns drops it). However, we
3522 don't need to set it on the COMPOUND_EXPR - the caller does that.
3523
3babb2e3
NF
35242002-02-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
3525
15e5ad76
ZW
3526 * gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
3527 `--CLASSPATH' becomes `--classpath.'
3528 * gjavah.c: Likewise.
3529 * jcf-dump.c: Likewise.
3530 * lang-options.h: Likewise.
3531 * lang.c: Likewise.
3532 * jcf-path.c: Updated comment.
3533 (jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
3534 (jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
3535 * jcf.h (jcf_path_CLASSPATH_arg): Ditto.
3536 (jcf_path_CLASSPATH_arg): Ditto.
3537 (classpath_u): Updated leading comment.
3babb2e3 3538
9fe2cc05
PB
35392002-02-20 Per Bothner <per@bothner.com>
3540
3541 * builtins.c (check_for_builtin): New function.
3542 (build_call_or_builtin): Remove.
3543 * java-tree.h: Update accordingly.
3544 * expr.c (expand_invoke): Use build + check_for_builtin instead
3545 of build_call_or_builtin.
3546 * parse.y (patch_invoke): Likewise. This avoids needlessly creating
3547 a new CALL_EXPR node, which means we don't lose the CALL_USING_SUPER
3548 flag (which had caused jcf-write to incorrectly emit invokevirtual).
3549
6b6294f1
TT
35502002-02-17 Tom Tromey <tromey@redhat.com>
3551
3552 * java-tree.h (TYPE_STRICTFP): New macro.
3553 (struct lang_type) [strictfp]: New field.
3554 (CLASS_STRICTFP): New macro.
3555 (METHOD_STRICTFP): New macro.
3556 (struct lang_decl) [strictfp]: New field.
3557 * parse.y (method_header): Disallow strictfp constructor or
3558 abstract method.
3559 (STRICT_TK): Move before MODIFIER_TK.
3560 * parse.h (CLASS_MODIFIERS): Added ACC_STRICT.
3561 (METHOD_MODIFIERS): Likewise.
3562 (INTERFACE_MODIFIERS): Likewise.
3563 * jcf-write.c (get_access_flags): Likewise.
3564 * class.c (set_class_decl_access_flags): Recognize ACC_STRICT.
3565 (add_method_1): Likewise.
3566 (get_access_flags_from_decl): Likewise.
3567 * jcf-dump.c (print_access_flags): Print in standard order. Also,
3568 recognize strictfp flag.
3569 * jcf.h (ACC_STRICT): New define.
3570
5667c33d
DB
35712002-02-12 David Billinghurst <Davod.Billinghurst@riotinto.com>
3572
3573 * class.c(build_utf8_ref): Move declaration of decl_size
3574
5d65aeb7
TT
35752002-02-07 Tom Tromey <tromey@redhat.com>
3576
3577 * gcj.texi (Input Options): --CLASSPATH does not suppress system
3578 path.
3579
10c45943
AG
35802002-02-04 Anthony Green <green@redhat.com>
3581
3582 * class.c (build_utf8_ref): Put UTF-8 constants into merged
3583 sections if available.
3584
14b71055
BM
35852002-02-04 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3586
3587 * parse.y (java_expand_classes): Fix typo in static field loop.
3588
f0c75752
RH
35892002-02-02 Richard Henderson <rth@redhat.com>
3590
3591 * class.c (add_field): Mark static fields external.
3592 (build_class_ref): Remove redundant set.
3593 * parse.y (java_expand_classes): Mark static fields of classes
3594 to be compiled as local.
3595 * jcf-parse.c (parse_class_file): Likewise.
3596
d4ad1c90
NF
35972002-02-02 Nic Ferrier <nferrier@tapsellferrier.co.uk>
3598
3599 * gcj.texi (About CNI): New node.
3600
58fae3f7
CR
36012002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
3602
3603 PR java/5080
3604 * jcf-parse.c : Check for HAVE_LOCALE_H before using
3605 setlocale() with LC_CTYPE as a parameter.
3606 * jv-scan.c: Same.
3607
8512bbd7
JM
36082002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
3609
3610 * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
3611 Follow GNU Coding Standards for --version.
3612
adc8cb5d
TT
36132002-01-28 Tom Tromey <tromey@redhat.com>
3614
3615 * expr.c (build_jni_stub): Ensure storage for `meth' is
3616 generated.
3617 * parse.y (java_complete_expand_methods): Set
3618 current_function_decl before building JNI stub.
3619
1d8478d7 36202002-01-26 Andreas Tobler <a.tobler@schweiz.ch>
15e5ad76 3621
1d8478d7
AT
3622 * gcc/java/builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not
3623 BUILT_IN_SQRTF.
3624
fec763fc
TT
36252002-01-22 Tom Tromey <tromey@redhat.com>
3626
3627 * decl.c (java_init_decl_processing): Use add_predefined_file.
3628 Predefine RawData.java.
3629 (predef_filenames): Removed.
3630 (java_init_decl_processing): Don't register predef_filenames.
3631 * jcf-parse.c (add_predefined_file): New function.
3632 (predefined_filename_p): Rewrote.
3633 (predefined_filename_p): No longer static.
3634 * decl.c (java_init_decl_processing): Call initialize_builtins.
3635 * Make-lang.in (JAVA_OBJS): Added builtins.o.
3636 (java/builtins.o): New target.
3637 * builtins.c: New file.
3638 * parse.y (patch_invoke): Use build_call_or_builtin.
3639 * java-tree.h (build_call_or_builtin): Declare.
3640 (initialize_builtins): Declare.
3641 (java_set_exception_lang_code): Removed unused declaration.
3642 (PREDEF_FILENAMES_SIZE): Removed.
3643 (java_tree_index): Added JTI_PREDEF_FILENAMES.
3644 (predef_filenames): New define.
3645 (add_predefined_file): Declare.
3646 (predefined_filename_p): Declare.
3647 * expr.c (expand_invoke): Use build_call_or_builtin.
3648
cc586d70
KG
36492002-01-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3650
3651 * parse.y (patch_switch_statement): Fix format specifier.
3652
0df29596
TT
36532002-01-16 Tom Tromey <tromey@redhat.com>
3654
3655 More for PR java/5365:
3656 * gjavah.c (print_stub_or_jni): Cause exception to be thrown by
3657 default.
3658 (process_file): Generate include for
3659 java.lang.UnsupportedOperationExceptions.
3660
e1886ae0
AJ
36612002-01-15 Andreas Jaeger <aj@suse.de>
3662
3663 * .cvsignore: Add man pages.
3664
9c874875
TT
36652002-01-15 Tom Tromey <tromey@redhat.com>
3666
3667 Fix for PR java/5365:
3668 * gjavah.c (process_file): Turn class name into a file name.
3669
707635f9
MK
36702002-01-14 Matthias Klose <doko@debian.org>
3671
3672 * gcj.texi: Fix whitespace and formatting errors in the
3673 synopsis of the man pages. Update copyright.
3674
e6a5e462
TT
36752002-01-14 Tom Tromey <tromey@redhat.com>
3676
3677 For PR libgcj/5303:
3678 * Make-lang.in (java.install-man): Handle jv-convert man page.
3679 (java.generated-manpages): Added jv-convert.1.
3680 (java.uninstall): Remove jv-convert.1.
3681 (java.maintainer-clean): Likewise.
3682 ($(srcdir)/java/jv-convert.1): New target.
3683 * gcj.texi (Top): Link to jv-convert node.
3684 (Individual utilities): Likewise.
3685 (Invoking jv-convert): New node.
3686
0b0d4c5b 36872001-01-10 Jeff Sturm <jsturm@one-point.com>
f0c75752 3688 Martin Kahlert <martin.kahlert@infineon.com>
0b0d4c5b
JS
3689
3690 * jcf-parse.c (get_constant): Don't swap lo/hi for big
3691 endian targets when HOST_BITS_PER_WIDE_INT >= 64.
3692
c0b65ff1 36932002-01-03 Graham Stott <grahams@redhat.com>
79ab76fd 3694
f0c75752
RH
3695 * class.c (compile_resource_file): Update copyright date.
3696 Constify filename parameter.
3697 (java-tree.h): Update copyright date.
3698 (compile_resource_file): Constify filename parameter.
79ab76fd 3699
22e85ed4
GS
37002002-01-03 Graham Stott <grahams@redhat.com>
3701
f0c75752
RH
3702 * gcc/jcf-parse.c: Update copyright date.
3703 (yyparse): Constify resource_filename.
22e85ed4 3704
5e65297b
KG
37052002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3706
3707 * parse.y (src_parse_roots): Don't needlessly zero init.
3708
12cfb4fc
TT
37092001-12-31 Tom Tromey <tromey@redhat.com>
3710
3711 * parse.y (dump_java_tree): New function.
3712 (source_end_java_method): Call it.
3713 (end_class_declaration): Likewise.
3714 * lang.c (java_decode_option): Call dump_switch_p.
3715
dab722ee
TT
37162001-12-28 Tom Tromey <tromey@redhat.com>
3717
3718 * gen-table.pl: Don't process characters after \uffff. Added
3719 comment pointing to input file.
3720
7b0295ab
KG
37212001-12-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3722
3723 * gen-table.pl: Const-ify output. Document the location of a
3724 suitable unicode input file.
3725
3726 * chartables.h: Regenerate.
3727
c083a819
KG
37282001-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3729
3730 * chartables.h: Const-ify.
3731 * gjavah.c (options): Likewise.
3732 * jcf-dump.c (options): Likewise.
3733 * jv-scan.c (options): Likewise.
3734 * lex.c (java_start_char_p, java_part_char_p): Likewise.
3735 * parse.y (binop_lookup): Likewise.
3736
0b5826ac
KG
37372001-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3738
3739 * Make-lang.in (keyword.h): Pass -C to gperf to const-ify
3740 the static arrays that are output.
3741 * jvspec.c (jvgenmain_spec): Make static.
3742 * keyword.gperf (struct java_keyword, java_keyword): Const-ify.
3743 * keyword.h: Regenerate.
3744 * lang.c (string_option, process_option_with_no, lang_f_options,
3745 lang_W_options): Const-ify.
3746 * lex.c (java_lex): Likewise.
3747
9a07cfaf
RH
37482001-12-21 Richard Henderson <rth@redhat.com>
3749
3750 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
3751 (get_boehm_type_descriptor): ... here. Arrange for the
3752 TREE_TYPE to get set properly.
3753
f44fefca
RH
37542001-12-21 Richard Henderson <rth@redhat.com>
3755
ef969525
RH
3756 * class.c (compile_resource_file): Set TREE_PUBLIC on the constructor
3757 only if the target requires collect2.
3758
f44fefca
RH
3759 * class.c (build_class_ref): Mark _Jv_fooClass DECL_EXTERNAL.
3760
84a944b3
TT
37612001-12-20 Tom Tromey <tromey@redhat.com>
3762
3763 For PR java/4509:
3764 * parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
3765 CAN_COMPLETE_NORMALLY for the node.
3766 * jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
3767 generate code for second branch if first branch can't complete
3768 normally.
3769 (generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
3770 the loop head if the loop body can't complete normally.
3771
2d93b924
TT
37722001-12-20 Tom Tromey <tromey@redhat.com>
3773
3774 For PR java/4766:
3775 * jcf-write.c (generate_bytecode_insns) [TRY_FINALLY_EXPR]: Handle
3776 case where `finally' clause can't complete normally.
3777
f2af50db
TT
37782001-12-20 Tom Tromey <tromey@redhat.com>
3779
3780 Fixes PR java/5057:
3781 * parse.y (analyze_clinit_body): Added this_class parameter.
3782 Check for more cases where we must keep <clinit>.
3783 (maybe_yank_clinit): Cleaned up flow control.
3784
7899e8b9
BM
37852001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3786
e1886ae0 3787 * decl.c (java_init_decl_processing): Don't initialize
7899e8b9
BM
3788 finit_leg_identifier_node.
3789 * java-tree.h (java_tree_index): Remove JTI_FINIT_LEG_IDENTIFIER_NODE.
3790 (finit_leg_identifier_node): Remove.
3791 (ID_FINIT_P): Don't check for JTI_FINIT_LEG_IDENTIFIER_NODE.
3792
de4984af
BM
37932001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3794
e1886ae0 3795 * mangle.c (mangle_member_name): Don't special-case for
de4984af
BM
3796 NO_DOLLAR_IN_LABEL.
3797 * mangle_name.c (unicode_mangling_length): Likewise.
3798 (append_unicode_mangled_name): Likewise.
3799 * parse.y (make_nested_class_name): Remove dead NO_DOLLAR_IN_LABEL
3800 code.
3801
08514ae4
BM
38022001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3803
3804 * expr.c (build_java_array_length_access): Don't force null pointer
3805 check unless flag_check_references is set.
3806
56b8325e
TT
38072001-12-20 Tom Tromey <tromey@redhat.com>
3808
3809 Fix for PR java/3417:
3810 * parse.y (patch_assignment): Added special processing for
3811 `return'.
3812 (patch_return): Don't convert booleans to integers, and don't
3813 special-case `null'.
3814
38be19f6
JM
38152001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
3816
3817 * config-lang.in (diff_excludes): Remove.
3818
b11cc610
JM
38192001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
3820
3821 * gcj.texi: Update link to GCC manual.
3822
e97562f5
TT
38232001-12-17 Tom Tromey <tromey@redhat.com>
3824
3825 * parse.y (link_nested_class_to_enclosing): Removed useless
3826 statement.
3827
2c5187c5
TT
38282001-12-16 Tom Tromey <tromey@redhat.com>
3829
3830 * mangle.c (mangle_method_decl): Never emit `C2' constructor.
3831 Fixes PR java/5088.
3832
a83f01f0
JM
38332001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
3834
3835 * ChangeLog, Make-lang.in, class.c, expr.c, gcj.texi, java-tree.h,
3836 jcf-parse.c, jcf-write.c, lex.c, parse.h, parse.y, verify.c: Fix
3837 spelling errors.
3838
faf31866
KG
38392001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3840
3841 * lex.c (java_read_unicode, java_lex): Use hex_p/hex_value.
3842
9a8de998
BM
38432001-12-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3844
3845 * decl.c (java_init_decl_processing): Build otable_type correctly.
3846 otable_decl is an otable_type.
3847
861ef928
BM
38482001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3849
3850 * java-tree.h (otable_methods, otable_decl, otable_syms_decl,
e1886ae0 3851 otable_type, otable_ptr_type, method_symbol_type,
861ef928
BM
3852 method_symbols_array_type, method_symbols_array_ptr_type): New
3853 field/global tree definitions.
3854 (flag_indirect_dispatch): New flag.
e1886ae0 3855 * decl.c (java_init_decl_processing): Initialize new otable and
861ef928
BM
3856 otable_syms type nodes and decls. Add new field "index" to
3857 method_type_node.
3858 * class.c (build_method_symbols_entry): New function.
3859 (make_method_value): Set "index" to to method's vtable index for
3860 virtual methods when indirect-dispatch is not used.
a83f01f0 3861 (make_class_data): For indirect-dispatch, don't emit the dtable_decl,
861ef928
BM
3862 and set vtable_method_count to -1. Set otable and otable_syms field
3863 if indirect-dispatch is used and there was something to put in them.
3864 (build_method_symbols_entry): New function.
3865 (emit_offset_symbol_table): New function.
3866 * expr.c (get_offset_table_index): New function.
e1886ae0 3867 (build_invokevirtual): Build array reference to otable at the index
861ef928
BM
3868 returned by get_offset_table_index, and use the result as the vtable
3869 offset.
3870 (build_invokeinterface): Similar.
e1886ae0
AJ
3871 * jcf-parse.c (yyparse): If indirect-dispatch, call
3872 emit_offset_symbol_table at the end of compilation, after all classes
861ef928
BM
3873 have been generated.
3874 * jvspec.c: Don't pass findirect-dispatch to jvgenmain.
3875 * lang.c (flag_indirect_dispatch): Define.
3876 (lang_f_options): Add indirect-dispatch flag.
3877
f1727481
MK
38782001-12-14 Matthias Klose <doko@debian.org>
3879
3880 * gcj.texi: Markup for man page generation. Document missing
3881 options printed by <tool> --help.
3882 Terminate description of gij's -ms option with a dot.
3883 * Make-lang.in ($(srcdir)/java/*.1): New targets.
3884 (java.generated-manpages java.install-man, java.uninstall,
3885 java-maintainer-clean) Updated.
3886
eec87542
HB
38872001-12-14 Hans Boehm <Hans_Boehm@hp.com>
3888
3889 * class.c (get_dispatch_table): Fix java vtable layout
3890 for TARGET_VTABLE_USES_DESCRIPTORS.
3891 * decl.c (java_init_decl_processing): Initialize
3892 alloc_no_finalizer_node, finalize_identifier_node.
3893 * expr.c (class_has_finalize_method): New function.
3894 (expand_java_NEW): Generate calls for finalizer-free allocation.
3895 (build_invokevirtual): Fix java vtable layout for
3896 TARGET_VTABLE_USES_DESCRIPTORS.
e1886ae0 3897 * java-tree.h (enum java_tree_index): New entries:
eec87542
HB
3898 JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
3899 (alloc_no_finalizer_node, finalize_deintifier_node): New macros.
3900 (class_has_finalize_method): declare.
3901 (HAS_FINALIZER_P): New macro.
3902 * parse.y (patch_invoke): Generate calls for finalizer-free
3903 allocation.
3904
81deb0a3
MK
39052001-12-12 Matthias Klose <doko@debian.org>
3906
3907 * Make-lang.in: JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove
3908 whitespace at end of line.
3909
34026199
TT
39102001-12-11 Tom Tromey <tromey@redhat.com>
3911
3912 * lex.c (java_init_lex): Define wfl_to_string as
3913 gnu.gcj.runtime.StringBuffer unless generating bytecode.
3914
a3bcfa67
JS
39152001-12-11 Jeff Sturm <jsturm@one-point.com>
3916
3917 * class.c (make_method_value): Use null_pointer_node to
3918 represent empty exception table.
3919
3afdfae8
TT
39202001-12-10 Tom Tromey <tromey@redhat.com>
3921
3922 * check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT.
3923
62c9aa5f 39242001-12-10 Douglas B. Rupp <rupp@gnat.com>
96a9c44f
DR
3925
3926 * Make-lang.in (jvspec.o): Add $(OUTPUT_OPTION).
3927
a5cb134d
PB
39282001-12-09 Per Bothner <per@bothner.com>
3929
3930 * check-init.c (current_switch_has_default): New static field.
3931 (check_init): Case DEFAULT_EXPR: Set current_switch_has_default.
3932 Case SWITCH_EXPR: Save/restore current_switch_has_default. If no
3933 DEFAULT_EXPR seen, simulate a default alternative that copies state.
3934
1aca9b81
TT
39352001-12-09 Tom Tromey <tromey@redhat.com>
3936
3937 * check-init.c (check_init): Don't allow pre- or post- increment
3938 or decrement of final variable.
3939 (final_assign_error): Minor error message rewording.
3940
4440ffc4
TT
39412001-12-08 Tom Tromey <tromey@redhat.com>
3942
0854b1c4
TT
3943 * java-tree.h: Fixed typo.
3944
5fcab235
TT
3945 * gjavah.c (decompile_method): Don't decompile to `return this'
3946 for static methods.
3947
7b35f6c9
TT
3948 * gjavah.c (cxx_keywords): Re-sorted.
3949 * lex.c (cxx_keywords): Re-sorted.
3950
897c9e66
TT
3951 * gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything
3952 else.
3953
4440ffc4
TT
3954 * gjavah.c (print_namelet): Clear subnamelets.
3955 (HANDLE_METHOD): Set `method_printed' earlier.
3956
8f25dc28
TT
39572001-12-07 Tom Tromey <tromey@redhat.com>
3958
3959 * lang.c (lang_f_options): Added
3960 optimize-static-class-initialization.
3961 (java_decode_option): Removed special case.
3962
a9040c77
PB
39632001-12-07 Per Bothner <per@bothner.com>
3964
3965 * check-init.c (check_init): Fix typo freeing memory twice.
3966
5412ef6b
PB
39672001-12-05 Per Bothner <per@bothner.com>
3968
3969 Restore support for static class initialization optimization.
3970 * java-tree.h (STATIC_CLASS_INIT_OPT_P): Re-enable.
3971 * check-init.c (check_int): At end of BLOCK handle initialization
3972 blocks, which used to be done in java_complete_expand_method but did
3973 not handle the case where check_for_initialization might allocate
3974 more than a word of bits.
3975 * decl.c (lang_make_tree): The smic field is now a tree.
3976 * expr.c (build_class_init): Set DECL_FUNCTION_INIT_TEST_CLASS field.
3977 * java-tree.h (DECL_FUNCTION_INIT_TEST_TABLE): New macro.
3978
3979 * parse.y (emit_test_initialization): Combine hash_lookup calls.
3980
3981 * java-tree.h (DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND):
3982 Change from a hash table to a list.
3983 (struct_lang_decl): Change field 'smic' to match.
3984 * class.c (add_method_1): Initialize
3985 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND to null list.
3986 * parse.y (adjust_init_test_initialization): Removed - inlined into -
3987 (java_expand_method_bodies): -here, since 'smic' is now a list.
3988 (patch_invoke): Add to 'smic' list, instead of hash_lookup.
3989
3990 * check-init.c (WORD_SIZE): Use BITS_PER_UNIT.
3991
3992 * class.c (java_hash_compare_tree_node): Fix casts.
3993
4f88ccda
PB
39942001-12-04 Per Bothner <per@bothner.com>
3995
3996 * check-init.c: Handle definite unassignment to finals in addition
3997 to definite assignment.
3998 (loop_current_locals): New field.
3999 (num_current_locals, int start_current_locals, num_current_words):
4000 Make static.
4001 (SET_P, CLEAR_P, SET_BIT): Add needed but missing parentheses.
4002 (ASSIGNED_P, UNASSIGNED_P, SET_ASSIGNED, SET_UNASSIGNED,
4003 CLEAR_ASSIGNED, CLEAR_UNASSIGNED): New macros.
4004 (get_variable_decl, check_final_reassigned): New functions.
4005 (check_init, check_bool_init): Modify as needed for checking finals.
4006 (check_for_initialization): Take extra parameter and return void.
4007 Do extra start-up logic to check final fields for assignment.
4008 * parse.y (check_static_final_variable_assignment_flag,
4009 reset_static_final_variable_assignment_flag, check_final_assignment,
4010 check_final_variable_local_assignment_flag,
4011 reset_final_variable_indirect_assignment_flag,
4012 reset_final_variable_global_assignment_flag): Remove functions.
4013 (java_complete_expand_methods, outer_field_access_fix,
4014 patch_assignment): Remove no-longer used logic.
4015 * java-tree.h (DECL_FIELD_FINAL_IUD): Change usage and comments.
4016 * parse.y (register_fields, java_complete_tree): Update accordingly.
4017
4018 * check-init.c (ALLOC_WORDS/FREE_WORDS): Use xmalloc/free, not alloca.
4019 (DECLARE_BUFFERS, RELEASE_BUFFERS, ALLOC_BUFFER, FREE_BUFFER): New.
4020 (check_cond_init, check_bool2_init): Use DECLARE_BUFFERS.
4021
4022 * java-tree.h (STATIC_CLASS_INIT_OPT_P): Temporarily turn off.
4023
4024 * java-tree.h (DECL FINAL): New bit-field.
4025 (METHOD_FINAL, FIELD_FINAL, CLASS_FINAL): Define as DECL_FINAL.
4026 (LOCAL_FINAL_P): Use DECL_FINAL rather than old LOCAL_FINAL.
4027 (DECL_INIT_CALLS_THIS): New macro.
4028 (struct lang_decl): New bit-field init_calls_this.
4029 (DECL_FUNCTION_ALL_FINAL_INITIALIZED, DECL_FIELD_FINAL_LIIC,
4030 DECL_FIELD_FINAL_IERR, LOCAL_FINAL, TYPE_HAS_FINAL_VARIABLE
4031 (DECL_BIT_INDEX): Change to use pointer_alias_set since we now
4032 use it for both local variables and final fields.
4033 (struct lang_decl_var): Remove bit-fields final_liic, final_ierr,
4034 and local_final.
4035 (struct lang_type): Remove hfv bit-field.
4036 (check_for_initialization): Change to return void.
4037
4038 * java-tree.h (IS_ARRAY_LENGTH_ACCESS): New macros.
4039 * expr.c (build_java_array_length_access): Set IS_ARRAY_LENGTH_ACCESS.
4040 * check-init.c (final_assign_error): New helper function.
4041 (check_final_reassigned, check_init): Use it.
4042 (check_init): Also check IS_ARRAY_LENGTH_ACCESS for ARRAY.length.
e1886ae0 4043
4f88ccda
PB
4044 * java-tree.h (struct lang_decl, struct lang_decl_var): Change all
4045 bit-fields to unsigned.
4046
87d4ad08
PB
40472001-12-03 Per Bothner <per@bothner.com>
4048
4049 * parse.y (patch_binop): Minor constant folding.
4050
4051 * parse.y (build_current_thisn): Shorter 'buffer'.
4052
aedcdb65
PB
40532001-12-03 Per Bothner <per@bothner.com>
4054
4055 * decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR
4056 instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
4057 * jcf-write.c (generate_bytecode_insns): Remove support for
4058 CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
4059 * check-init.c (check_init): Likewise.
4060
82ff672e
PB
40612001-12-03 Per Bothner <per@bothner.com>
4062
4063 * verify.c (subroutine_nesting): New function.
4064 (verify_jvm_instructions): Use it to fix logic for checking that
4065 we're done with the current subroutine.
4066
4067 * verify.c (verify_jvm_instruction): For OPCODE_checkcast and
4068 OPCODE_instanceof use POP_TYPE macro for better diagnostics.
4069
98a63868
PB
40702001-12-03 Per Bothner <per@bothner.com>
4071
4072 * jcf.h: Fix obvious typo in comment.
4073 * typeck.c (build_null_signature): Add comment.
4074
c725bd79
NB
40752001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
4076
4077 * expr.c: Remove leading capital from diagnostic messages, as
4078 per GNU coding standards.
4079 * jcf-io.c: Similarly.
4080 * jcf-parse.c: Similarly.
4081 * jv-scan.c: Similarly.
4082 * jvspec.c: Similarly.
4083 * mangle.c: Similarly.
4084
b736dee6
TCH
40852001-12-02 Tang Ching-Hui <nicholas@cs.nthu.edu.tw>
4086 Alexandre Petit-Bianco <apbianco@redhat.com>
4087
e1886ae0 4088 * expr.c (build_java_arrayaccess): Call save_expr on array for
7e5f4bee 4089 correct evaluation order, modified comment, fixed indentation.
b736dee6
TCH
4090 * parse.y: (patch_assignment): Correctly extract the array base
4091 from the tree generate by build_java_arrayaccess, added comments.
4092 (patch_array_ref): Remove SAVE_EXPR on ARRAY_REF.
4093 Fixes PR java/3096, PR java/3803, PR java/3965.
4094
357351e5
NB
40952001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
4096
4097 * expr.c (expand_byte_code): Remove trailing periods from messages.
4098 * jcf-parse.c (load_class, jcf_parse): Similarly.
4099 * jcf-write.c (generate_classfile): Similarly.
4100 * lex.c (java_lex): Similarly.
4101
a7c5337d
BM
41022001-11-30 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4103
4104 * class.c (add_interface_do): Set BINFO_VPTR_FIELD.
4105
d3945f0a
JM
41062001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
4107
4108 * Make-lang.in (java.generated-manpages): New dummy target.
4109
b856c15d
RO
41102001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4111
4112 * jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
4113 ASM_FINAL_SPEC.
4114 (lang_specific_pre_link): Use set_input to set input_filename.
4115 Append `main' here.
4116 * jvgenmain.c (usage): Append literal `main' to CLASSNAME.
4117 (main): Fix definition.
4118 Strip `main' from classname.
4119 Fixes PR java/227.
4120
9c2fcf09
RS
41212001-11-18 Roger Sayle <roger@eyesopen.com>
4122
4123 * parse.h (java_expand_switch): Remove old prototype.
4124
8aeb42d0
TT
41252001-11-18 Tom Tromey <tromey@redhat.com>
4126
4127 Fix for PR java/1401:
4128 * jcf-write.c (generate_bytecode_insns) [binop]: Handle case where
4129 arg0 is null.
4130 (generate_bytecode_insns) [MODIFY_EXPR]: Handle `OP=' case
4131 correctly.
4132
22703ccc
NB
41332001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
4134
4135 * lang.c (finish_parse): Rename to java_finish.
4136 (LANG_HOOKS_FINISH, java_finish): New.
4137
f5e99456
NB
41382001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
4139
4140 * decl.c (init_decl_processing): Rename java_init_decl_processing.
4141 * java-tree.h: New prototype.
4142 * lang.c (java_init): Update prototype. Combine with old init_parse.
4143
150f086d
TT
41442001-11-13 Tom Tromey <tromey@redhat.com>
4145
4146 * gjavah.c (method_signature): New global.
4147 (HANDLE_METHOD): Set it.
4148 (decompile_return_statement): New function.
4149 (decompile_method): Use it.
4150 (print_method_info): Removed `synth' argument.
4151
5d69f816
NB
41522001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
4153
4154 * java-tree.h (java_set_yydebug): New.
4155 * jcf-parse.c (set_yydebug): Rename java_set_yydebug.
4156 * lang.c (LANG_HOOKS_SET_YYDEBUG): Override.
4157 (print_lang_decl, print_lang_type, print_lang_identifier,
4158 print_lang_statistics, lang_print_xnode): Remove.
4159
3ac88239
NB
41602001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
4161
4162 * jcf-parse.c (init_lex): Remove.
4163 * lang.c (language_string, lang_identify): Remove.
4164 (struct lang_hooks): Constify.
4165 (LANG_HOOKS_NAME): Override.
4166 (init_parse): Update.
4167
b21d216c
AF
41682001-11-08 Andreas Franck <afranck@gmx.de>
4169
e1886ae0 4170 * Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
b21d216c
AF
4171 program_transform_name the way suggested by autoconf.
4172 (java.install-common): Also transform auxiliary program names with
4173 program_transform_name.
4174
1fa73144
TT
41752001-11-08 Tom Tromey <tromey@cygnus.com>
4176
4177 * parse.y (trap_overflow_corner_case): New rule.
4178 (unary_expression): Use it.
4179 * lex.c (java_init_lex): Don't set minus_seen.
4180 (yylex): Don't use minus_seen. Communicate overflow to parser for
4181 it to handle.
4182 (error_if_numeric_overflow): New function.
4183 * parse.h (minus_seen): Removed field.
4184 (JAVA_RADIX10_FLAG): New define.
4185
5a21a051
TT
41862001-11-07 Tom Tromey <tromey@redhat.com>
4187
4188 Patch for PR java/1414:
4189 * parse.y (case_label_list): New global.
4190 (goal): Register case_label_list with GC.
4191 (java_complete_lhs): Save new case on case_label_list.
4192 (patch_switch_statement): Check for duplicate case labels.
4193
5573cb39
APB
41942001-11-07 Alexandre Petit-Bianco <apbianco@redhat.com>
4195
4196 * parse.y (patch_assignment): Removed unused third argument.
4197 (java_complete_lhs): Removed unused third argument to patch_assignment.
4198
d23c55c2
NB
41992001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4200
4201 * lang.c: Include langhooks-def.h.
4202 * Make-lang.in: Update.
4203
5b7874aa
ZW
42042001-10-31 Zack Weinberg <zack@codesourcery.com>
4205
4206 * Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
4207
2b472f91
BM
42082001-10-29 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4209
4210 * mangle.c (find_compression_record_match): Don't match compression
4211 records for package name elements unless they occur at the start of
4212 the name. Fix for PR java/4717.
4213
961b8e70
BM
42142001-10-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4215
4216 * expr.c (expand_java_field_op): Don't special-case references to
4217 java.lang.PRIMTYPE.TYPE.
4218 (build_primtype_type_ref): Removed.
4219 * java-tree.h (build_primtype_type_ref): Remove prototype.
4220 * parse.y (maybe_build_primttype_type_ref): Removed.
4221 (complete_function_arguments): Don't special-case references to
4222 java.lang.PRIMTYPE.TYPE.
4223 (patch_assignment): Likewise.
4224 (array_constructor_check_entry): Likewise.
4225
98f705b9
APB
42262001-10-24 Alexandre Petit-Bianco <apbianco@redhat.com>
4227
4228 * mangle.c (static tree compression_table): Fixed leading comment.
4229 * parse.h (struct parser_ctxt): Fixed field comment.
4230 * parse.y (check_pkg_class_access): New prototype, fixed leading
4231 comment, new parameter used to emit error only if passed as true.
4232 (parse_check_super): Pass extra argument to check_pkg_class_access.
4233 (do_resolve_class): Likewise.
4234 (process_imports): Likewise.
4235 (read_import_dir): Fixed indentation.
4236 (find_in_imports_on_demand): New local class_type_name. Local
4237 node_to_use deleted. while loop changed into for loop. Report
4238 multiple definition only for accessible classes. Improved error
4239 message.
4240 (start_complete_expand_method): Local `ptr' removed. DECL_ARGUMENTS
4241 assigned to parameter list, fixed indentation. while loop changed
4242 into for loop, restore TREE_CHAIN on local `tem' before the next
4243 iteration.
4244
62c9aa5f 42452001-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8ac61af7
RK
4246
4247 * lang.c (lang_get_alias_set): Deleted.
4248
0df6c2c7
KG
42492001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4250
299b5f9e
KG
4251 * gjavah.c (jni_print_char): Fix thinko in last change.
4252
0df6c2c7
KG
4253 * gjavah.c (jni_print_char, decode_signature_piece): Use
4254 safe-ctype macros and/or fold extra calls into fewer ones.
4255 * lex.c (java_read_unicode, java_lex): Likewise.
4256 * lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT,
4257 JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise.
4258 * mangle_name.c (append_unicode_mangled_name,
4259 unicode_mangling_length): Likewise.
4260
17ed6335
RH
42612001-10-17 Richard Henderson <rth@redhat.com>
4262
4263 * Make-lang.in (java/lang.o): Depend on langhooks.h.
4264
c83303d8
APB
42652001-10-15 Alexandre Petit-Bianco <apbianco@redhat.com>
4266
4267 * lang.c (langhooks.h): Included.
4268 (LANG_HOOKS_INIT): Redefined.
4269 (LANG_HOOKS_INIT_OPTIONS): Likewise.
4270 (LANG_HOOKS_DECODE_OPTION): Likewise.
4271 (struct lang_hooks lang_hooks): New initialization.
4272
be98560f
PB
42732001-10-11 Per Bothner <per@bothner.com>
4274
89b894e1
PB
4275 * parse.y (patch_synchronized_statement): Use a TRY_FINALLY_EXPR
4276 rather than a CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR pair.
4277 The former is simpler, and jcf-write.c handles it better.
4278 (java_complete_lhs): No longer need to handle CLEANUP_POINT_EXPR
4279 or WITH_CLEANUP_EXPR.
4280 * jcf-write.c: Revert Alex's change from 2000-10-18. It is no
4281 longer needed, as we already handle empty TRY_FINALLY_EXPR bodies fine.
4282
be98560f
PB
4283 * parse.y (patch_if_else_statement): If the condition is constant,
4284 optimize away the test.
4285
3fb5c0eb
APB
42862001-10-09 Alexandre Petit-Bianco <apbianco@redhat.com>
4287
4288 * parse.y (patch_cast): Call patch_string on the first operand of
c83303d8 4289 the incoming node, update it if necessary. Fixes PR java/4510.
3fb5c0eb 4290
908fecca
BM
42912001-10-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4292
4293 * parse.y (find_as_inner_class): Don't disregard the enclosing scope
4294 when name qualifier matches a package name.
4295
f3ca28bf
TT
42962001-10-08 Tom Tromey <tromey@redhat.com>
4297
4298 Fix for PR java/4489:
4299 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Always
4300 force a new label when computing `body_block'.
4301
8b60264b
KG
43022001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4303
4304 * jcf-io.c (format_uint): Const-ify.
4305 * lang.c (java_tree_code_type, java_tree_code_length): Likewise.
4306 * lex.c (java_get_line_col): Likewise.
4307 * parse.y (build_incdec): Likewise.
4308
3fb5c0eb
APB
43092001-10-05 Alexandre Petit-Bianco <apbianco@redhat.com>
4310
4311 * parse.y (register_incomplete_type): Set JDEP_SUPER to be given
c83303d8 4312 a NULL enclosing context if appropriate. Fixes PR java/4466.
3fb5c0eb 4313
7754e0a9
APB
43142001-10-03 Alexandre Petit-Bianco <apbianco@redhat.com>
4315
4316 * parse.y (patch_assignment): Use lvalue's original TYPE when
4317 building the final COMPOUND_EXPR.
4318 (try_reference_assignconv): Fixed leading comment.
4319
e9546ca4
APB
43202001-09-26 Alexandre Petit-Bianco <apbianco@redhat.com>
4321
4322 * parse.y (check_final_variable_indirect_assignment): For
4323 COMPOUND_EXPR, return only if finals were found initialized
4324 properly, if not, keep on checking.
4325 (check_final_variable_global_assignment_flag): New local
4326 error_found, set when appropriate and used to decide whether to
4327 report uninitialized finals. Fixed typo in comment.
4328
f6a67a81
APB
43292001-09-22 Alexandre Petit-Bianco <apbianco@redhat.com>
4330
4331 * decl.c (init_decl_processing): Fixed typo in predef_filenames
4332 last three initializations. Fixes PR java/4360.
4333
67231816
RH
43342001-09-21 Richard Henderson <rth@redhat.com>
4335
4336 * class.c (get_dispatch_table): Handle function descriptors.
4337 (build_dtable_decl): Likewise.
4338 * expr.c (build_invokevirtual): Likewise.
4339
870a5b8a
APB
43402001-09-20 Alexandre Petit-Bianco <apbianco@redhat.com>
4341
4342 * parse.y (patch_method_invocation): Build class initialization
4343 when static finals are used to qualify method invocation.
4344 Fixes PR java/4366.
4345
2e3b2d2c
APB
43462001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
4347
4348 * parse.h: (WFL_STRIP_BRACKET): Re-written using
4349 build_type_name_from_array_name.
4350 (STRING_STRIP_BRACKETS): New macro.
4351 * parse.y (build_type_name_from_array_name): New function.
4352 (array_creation_expression:): Accumulate []s instead of [s.
4353 (cast_expression:): Accumulate []s instead of [s after cast type
4354 name.
4355 (build_array_from_name): Local string deleted, use
4356 build_type_name_from_array_name.
4357 (build_unresolved_array_type): Accumulate []s instead of [s after
4358 type name.
4359 (register_fields): Fixed comment.
4360 (resolve_class): Local name, base deleted, new locals tname and
4361 array_dims. Use build_type_name_from_array_name. Use array_dims to
4362 build array type.
4363 (purify_type_name): Use STRING_STRIP_BRACKETS.
4364
e64c46ce
AJ
43652001-09-18 Andreas Jaeger <aj@suse.de>
4366
4367 * parse.y: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
4368 * jv-scan.c: Likewise.
4369
3fb5c0eb
APB
43702001-09-17 Alexandre Petit-Bianco <apbianco@redhat.com>
4371
4372 * parse.y (patch_method_invocation): Inner class creation context
4373 check not enforced within constructors. Fixes PR java/1873.
4374
7a91449c
TT
43752001-09-16 Tom Tromey <tromey@redhat.com>
4376
4377 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Call
4378 NOTE_PUSH for single-case push. Fixes PR java/4189.
4379
653d5d95
APB
43802001-09-13 Alexandre Petit-Bianco <apbianco@redhat.com>
4381
4382 * java-tree.h (TYPE_IMPORT_LIST): New macro.
4383 (TYPE_IMPORT_DEMAND_LIST): Likewise.
4384 (struct lang_type): New fields import_list and import_demand_list.
4385 * parse.y (java_complete_class): Initialize TYPE_IMPORT_LIST and
4386 TYPE_IMPORT_DEMAND_LIST with ctxp counterparts.
4387 (do_resolve_class): New local saved_enclosing_type, initialized,
4388 passed as parameter to find_in_imports and find_in_imports_on_demand.
4389 (find_in_imports): Added paramater enclosing_type, use its
4390 TYPE_IMPORT_LIST when applicable.
4391 (find_in_imports_on_demand): Added parameter enclosing_type, use
4392 its TYPE_IMPORT_DEMAND_LIST when applicable. Reorganized locals
4393 declaration and initialization.
4394 (fold_constant_for_init): Switch/restore current_class to the
4395 appropriate context.
4396
6d334db8
MM
43972001-09-13 Mark Mitchell <mark@codesourcery.com>
4398
4399 * verify.c (verify_jvm_instructions): Fix typo.
4400
83182544
KG
44012001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4402
4403 * expr.c (expand_invoke): Const-ification.
4404 * parse.y (patch_method_invocation): Likewise.
4405
fd033052
KG
44062001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4407
4408 * gjavah.c (cxx_keywords): Const-ification.
4409 * keyword.gperf (java_keyword): Likewise.
4410 * lang.c (java_tree_code_name): Likewise.
4411 * lex.c (cxx_keywords): Likewise.
4412 * parse.y (java_parser_context_suspend, merge_string_cste): Likewise.
4413
fcbc317f
RH
44142001-09-11 Richard Henderson <rth@redhat.com>
4415
4416 * parse.h (ctxp_for_generation): Mark extern.
4417
c347e68d
RH
44182001-09-10 Richard Henderson <rth@redhat.com>
4419
4420 * class.c (build_class_ref): Set DECL_EXTERNAL before make_decl_rtl.
4421
6a9f6727
MK
44222001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4423
4424 * typeck.c (java_array_type_length, build_prim_array_type):
4425 Represent empty arrays by NULL index.
4426
0ef02b2d
APB
44272001-09-06 Alexandre Petit-Bianco <apbianco@redhat.com>
4428
4429 * java-tree.h (compile_resource_file): Grouped with other prototypes.
e64c46ce 4430 * jvspec.c (lang_specific_driver): Removed unused local `ptr.'
0ef02b2d 4431
f2767a67
AG
44322001-09-06 Anthony Green <green@redhat.com>
4433
4434 * class.c (O_BINARY): Define if necessary.
4435 (registerResource_libfunc): Declare.
4436 (init_class_processing): Initilize registerResource_libfunc.
4437 (compile_resource_file): New function.
4438 * java-tree.h (resource_name): Declare.
4439 (compile_resource_file): Declare.
4440 * jcf-parse.c (yyparse): Handle compiling java resource files.
4441 * lang.c (java_decode_option): Handle -fcompile-resource option.
4442 * jvspec.c (lang_specific_driver): Handle -R flag for compiling
4443 resource files.
4444 * gcj.texi (Code Generation): Add documentation for -R flag.
4445
731866ba
APB
44462001-09-05 Alexandre Petit-Bianco <apbianco@redhat.com>
4447
4448 * jcf-write.c (generate_classfile): Issue an error in case of
4449 field/initial value mismatch.
4450 * parse.y (analyze_clinit_body): Keep <clinit> if an array is
4451 being initialized and we're generating bytecode.
4452 (java_complete_lhs): In MODIFY_EXPR section: added comments,
4453 set DECL_INITIAL properly when appropriate.
4454 Fixes PR java/4230
4455 Fixes PR java/4204
4456
0286a91d
PB
44572001-09-01 Per Bothner <per@bothner.com>
4458
4459 * parse.y (maybe_yank_clinit): A field without an initializer is not
4460 relevant. All initializers except static final and constant require
4461 <clinit>, regardless of flag_emit_class_files.
4462
289b57ee
PB
44632001-08-31 Per Bothner <per@bothner.com>
4464
67264b4f 4465 * class.c (set_constant_value): When not emitting class files, then a
289b57ee
PB
4466 String ConstantValue is a utf8const_ptr_type.
4467
be0c7ff4
PB
44682001-08-30 Per Bothner <per@bothner.com>
4469
4470 * jcf-write.c (generate_classfile): Check that field is primitive
4471 or string before emitting ConstantValue attribute.
e64c46ce 4472
f0cdee96
PB
44732001-08-30 Per Bothner <per@bothner.com>
4474
4475 * parse.y (resolve_qualified_expression_name): If creating a
4476 COMPOUND_EXPR, set it's type correctly.
4477
bc8a5e56
PB
44782001-08-30 Per Bothner <per@bothner.com>
4479
4480 * jcf-io.c (open_class): Set filename field.
4481
4482 * jcf-parse,c (parse_class_file): Set current_function_decl
4483 for better error message when Code attribute is missing.
4484
4485 * lang.c (put_decl_node, lang_print_error): Re-arrange for
4486 better diagnostics, especially for constructors.
e64c46ce 4487
1b9ee723
PB
44882001-08-30 Per Bothner <per@bothner.com>
4489
4490 * jcf-write.c (generate_classfile): Don't write ConstantValue
4491 attribute if field is not final, for compatibility with jdk.
4492
4493 * jcf-write.c (generate_classfile): Convert ConstantValue values
4494 to correct type. Work-around for front-end bug.
4495 * class.c (set_constant_value): Error if constant has wrong type.
4496
6e4302ec
PB
44972001-08-30 Per Bothner <per@bothner.com>
4498
4499 * jcf-dump.c (print_constant): Fix fencepost error so "Float" and
4500 "Double" are printed at verbosity 1.
4501
4502 * jcf-dump.c (main): Disable flag_print_attributes if --javap.
4503
4504 * jcf-dump.c (SPECIAL_IINC): Remove unneeded casts to long.
4505
3ed218d4
APB
45062001-08-30 Alexandre Petit-Bianco <apbianco@redhat.com>
4507
4508 * parse.y (patch_assignment): Don't verify final re-assignment here.
4509 (java_complete_lhs): Verify assignments to finals calling
4510 patch_assignment. Verify re-assignments to finals before calling
4511 patch_assignment.
4512
45132001-08-29 Alexandre Petit-Bianco <apbianco@redhat.com>
4514
4515 * parse.y (java_complete_lhs): Allow final locals in CASE_EXPRs.
4516 Fixes PR java/1413
4517
45182001-08-28 Alexandre Petit-Bianco <apbianco@redhat.com>
4519
4520 * lex.c (java_lex): new local found_hex_digits. Set and then used
4521 in test to reject invalid hexadecimal numbers.
4522 * parse.y (java_complete_tree): Prevent unwanted cast with
4523 initialized floating point finals.
4524 (patch_binop): Emit a warning when detecting a division by zero,
4525 mark result not constant, don't simplify non integer division.
4526
1a27eec1
PB
45272001-08-28 Per Bothner <per@bothner.com>
4528
4529 * jcf-write.c (generate_bytecode_insns): For increments and
9a07cfaf 4530 decrements just recurse to push constant. Improvement on Mark's patch.
1a27eec1 4531
06657dcd
MM
45322001-08-28 Mark Mitchell <mark@codesourcery.com>
4533
4534 * jcf-write.c (generate_bytecode_insns): Generate an integer to
4535 real conversion for increments and decrements of reals.
4536
1ca09b48
APB
45372001-08-27 Alexandre Petit-Bianco <apbianco@redhat.com>
4538
4539 * parse.y (resolve_qualified_expression_name): Handle unresolved
4540 qualified expressions, prevent numerical qualifiers, fixed typo.
4541 Fixes PR java/4141
4542
7b02957e
APB
45432001-08-24 Alexandre Petit-Bianco <apbianco@redhat.com>
4544
4545 * parse.y (check_deprecation): Handle TYPE_DECL in a special case,
4546 don't report anything but deprecated class when marked so. Handle
4547 VAR_DECL.
4548 (patch_method_invocation): Check deprecation on methods and types.
4549 (patch_binop): code becomes an enum tree_code, added default: to
4550 switch to handle that. Detect division by zero, try to fold and
4551 return before using a subroutine.
4552
496849ba
APB
45532001-08-23 Alexandre Petit-Bianco <apbianco@redhat.com>
4554
4555 * jcf-parse.c (yyparse): Set magic to 0, don't issue error for a
e64c46ce 4556 file smaller than 4 bytes.
496849ba
APB
4557 * parse.y (check_inner_circular_reference): New function.
4558 (check_circular_reference): Likewise.
4559 (array_initializer:): Accept {,}.
4560 (java_check_circular_reference): Rewritten using
4561 check_circular_reference and check_inner_circular_reference.
4562 (java_complete_expand_method): Unconditionally save and restore
4563 the unpurged exception list.
4564 (build_dot_class_method_invocation): Unmangle signature parameter.
4565
66b461ce
TT
45662001-08-21 Tom Tromey <tromey@redhat.com>
4567
4568 * decl.c (init_decl_processing): Add `throws' field to method
4569 descriptor.
4570 * class.c (make_method_value): Compute `throws' field for method.
4571
df1c5346
APB
45722001-08-22 Alexandre Petit-Bianco <apbianco@redhat.com>
4573
4574 * parse.y (resolve_inner_class): Keep local_enclosing to NULL if
4575 circularity is detected.
4576 (ctors_unchecked_throws_clause_p): Fixed leading comment.
4577
c8af3574
RH
45782001-08-17 Richard Henderson <rth@redhat.com>
4579
4580 * class.c (emit_register_classes): Add align parameter to
4581 call to assemble_integer.
4582
17126208
APB
45832001-08-16 Alexandre Petit-Bianco <apbianco@redhat.com>
4584
4585 * jcf-parse.c (load_class): New locals saved and class_loaded. If
4586 loading a class_or_name fails, try considering an innerclass name
4587 and load the enclosing context.
4588 * parse.y (resolve_inner_class): New function.
4589 (find_as_inner_class): Added leading comment.
4590 (register_incomplete_type): Keep the current context as enclosing
4591 context for JDEP_FIELD dependencies.
4592 (do_resolve_class): Locals new_class_decl and super initialized to
4593 NULL. Call resolve_inner_class, explore the enclosing context
4594 superclass if necessary.
4595 Fixes PR java/4007
4596
4266d0b2
TT
45972001-08-16 Tom Tromey <tromey@redhat.com>
4598
4599 * jcf-dump.c (main): Updated for change to jcf_path_seal.
4600 * gjavah.c (main): Updated for change to jcf_path_seal.
4601 * lang.c (version_flag): New global.
4602 (java_decode_option): Recognize `-version'.
4603 (java_init): Update for change to jcf_path_seal.
4604 * jcf.h (jcf_path_seal): Added `print' argument.
4605 * jcf-path.c (jcf_path_seal): Added `print' argument.
4606
e78d8e51
ZW
46072001-08-13 Zack Weinberg <zackw@panix.com>
4608
4609 * Make-lang.in (java/decl.o): Update dependencies.
4610 * decl.c: Include libfuncs.h, don't include toplev.h.
4611
17126208
APB
46122001-08-12 Alexandre Petit-Bianco <apbianco@redhat.com>
4613
4614 * decl.c (init_decl_processing): exception_type_node,
4615 class_not_found_type_node, and no_class_def_found_type_node
4616 initialized. predef_filenames augmented accordingly.
4617 instinit_identifier_node initialized.
4618 * java-tree.def (INSTANCE_INITIALIZERS_EXPR): Entry removed.
4619 * java-tree.h (enum java_tree_index): New entries
4620 JTI_EXCEPTION_TYPE_NODE, JTI_CLASS_NOT_FOUND_TYPE_NODE,
4621 JTI_NO_CLASS_DEF_FOUND_TYPE_NODE, JTI_INSTINIT_IDENTIFIER_NODE.
4622 (exception_type_node): New macro.
4623 (class_not_found_type_node): Likewise.
4624 (no_class_def_found_type_node): Likewise.
4625 (instinit_identifier_node): Likewise.
4626 (PREDEF_FILENAMES_SIZE): Adjusted.
4627 (TYPE_HAS_FINAL_VARIABLE): Fixed typo.
4628 (struct lang_type): Fixed typo in bitfield name.
4629 (DECL_INSTINIT_P): New macro.
4630 (ID_INSTINIT_P): Likewise.
4631 * jcf-write.c (generate_classfile): instinit$ bears the Synthetic
4632 attribute.
4633 * parse.y (encapsulate_with_try_catch): New function.
4634 (generate_instinit): Likewise.
4635 (build_instinit_invocation): Likewise.
4636 (ctors_unchecked_throws_clause_p): Likewise.
4637 (add_instance_initializer): Deleted.
4638 (build_instance_initializer): Likewise.
4639 (in_instance_initializer): Likewise.
4640 (check_method_redefinition): instinit$ not to be verified.
4641 (java_complete_expand_methods): Generate instinit$, simplified code.
4642 (build_dot_class_method): Eliminated unnecessary locals. Use
4643 encapsulate_with_try_catch, removed unnecessary code.
4644 (fix_constructors): New local iii. Use build_instinit_invocation.
4645 (patch_method_invocation): Added comment.
4646 (maybe_use_access_method): Don't consider instinit$.
4647 (find_applicable_accessible_methods_list): Shorten the search for
4648 instinit$ too.
4649 (java_complete_lhs): case INSTANCE_INITIALIZERS_EXPR removed.
4650 (patch_return): Use DECL_INSTINIT_P instead of in_instance_initializer.
4651 (patch_throw_statement): Likewise. Fixed typo.
e64c46ce 4652
6ba57472
DE
46532001-08-12 David Edelsohn <edelsohn@gnu.org>
4654
4655 Revert:
4656 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4657 * jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
4658 ASM_FINAL_SPEC.
4659 (lang_specific_pre_link): Use set_input to set input_filename.
4660 Append `main' here.
4661 * jvgenmain.c (usage): Append literal `main' to CLASSNAME.
4662 (main): Fix definition.
4663 Strip `main' from classname.
4664 Fixes PR java/227.
4665
94aca342
ZW
46662001-08-11 Zack Weinberg <zackw@panix.com>
4667
4668 * lex.h: Don't include setjmp.h. Don't define
4669 SET_FLOAT_HANDLER or prototype set_float_handler.
4670
17126208
APB
46712001-08-09 Alexandre Petit-Bianco <apbianco@redhat.com>
4672
4673 * expr.c (java_lang_expand_expr): Call `expand_end_bindings' and
4674 `poplevel' in the right order.
4675
2cc07db4
RH
46762001-08-09 Richard Henderson <rth@redhat.com>
4677
4678 * Make-lang.in (class.o): Depend on TARGET_H.
4679 * class.c (emit_register_classes): Use target hooks instead of
4680 assemble_constructor and assemble_destructor.
4681
4009bb7d
APB
46822001-08-08 Alexandre Petit-Bianco <apbianco@redhat.com>
4683
4684 * check-init.c (flags.h): Include
4685 (check_init): Don't report uninitialized static class
4686 initialization flags, don't free bit index when doing static class
4687 initialization optimization.
4688 (check_for_initialization): Return type changed to `unsigned int.'
4689 (attach_initialized_static_class): New function.
4690 * class.c (add_method_1): Create the initialized static class
4691 table if necessary.
4692 (finish_class): Always emit deferred inline methods.
4693 * decl.c (emit_init_test_initialization): Moved to expr.c
4694 (complete_start_java_method): Don't traverse
4695 DECL_FUNCTION_INIT_TEST_TABLE.
4696 (lang_mark_tree): Mark hash tables in function decls.
4697 * expr.c (emit_init_test_initialization): Moved from decl.c.
4698 (build_class_init): Create LAG_DECL_SPECIFIC for the static class
4699 initialization flag, set DECL_CONTEXT and
4700 LOCAL_CLASS_INITIALIZATION_FLAG.
4701 (java_lang_expand_expr): Emit initialization code for static class
4702 initialized flags when entering block, if necessary.
4703 * gcj.texi (-fno-optimize-static-class-initialization): Documented.
4704 * java-tree.h (flag_optimize_sci): New global variable declaration.
4705 (DECL_FUNCTION_INITIALIZED_CLASS_TABLE): New macro.
4706 (DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND): Likewise.
4707 (LOCAL_FINAL_P): Fixed typo in comment.
4708 (FINAL_VARIABLE_P): Likewise.
4709 (LOCAL_CLASS_INITIALIZATIO_FLAG): New macro.
4710 (LOCAL_CLASS_INITIALIZATIO_FLAG_P): Likewise.
4711 (struct lang_decl): New fields `ict', `smic' and `cif.'
4712 (check_for_initialization): New returned value for global.
4713 (attach_initialized_static_class): New global function.
4714 (STATIC_CLASS_INIT_OPT_P): New macro.
4715 * lang-options.h (-fno-optimize-static-class-initialization): New flag.
4716 * lang.c (java_decode_option): Handle
4717 `-fno-optimize-static-class-initialization'
4718 * parse.y (start_complete_expand_method): New function.
4719 (java_expand_method_bodies): Likewise.
4720 (attach_init_test_initialization_flags): Likewise.
4721 (adjust_init_test_initialization): Likewise.
4722 (emit_test_initialization): Likewise.
4723 (java_complete_expand_methods): Nullify abstract and native method
4724 bodies.
4725 (java_complete_expand_method): New locals `fbody', `block_body'
4726 and `exception_copy.' Reorganized: directly return on empty method
4727 bodies, call `start_complete_expand_method', remember definitely
4728 initialized static class in function, don't expand method bodies.
4729 (java_expand_classes): Call `java_expand_method_bodies' before
4730 `finish_class' when compiling to native.
4731 (resolve_expression_name): Use `orig' after building outer class
4732 field access.
67264b4f 4733 (patch_invoke): Remember static method invocations.
4009bb7d 4734
47907859
RH
47352001-08-06 Richard Henderson <rth@redhat.com>
4736
9a07cfaf 4737 * class.c (emit_register_classes): Pass a symbol_ref and priority
47907859
RH
4738 to assemble_constructor.
4739
36e10d77
APB
47402001-08-02 Alexandre Petit-Bianco <apbianco@redhat.com>
4741
4742 * java-tree.h (all_class_filename): New macro.
4743 (enum java_tree_index): New enum `JTI_ALL_CLASS_FILENAME.'
4744 (BUILD_FILENAME_IDENTIFIER_NODE): Fixed leading comment. Link
4745 newly created IDENTIFIER_NODE to `all_class_filename.'
4746
f2f25b6d
JS
47472001-08-01 Jeff Sturm <jsturm@one-point.com>
4748
9a07cfaf
RH
4749 * java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE):
4750 Use ggc_add_tree_root to register roots.
e64c46ce 4751
6ad7895a
APB
47522001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
4753
4754 * check-init.c (check_init): WITH_CLEANUP_EXPR node to use its
4755 second operand calling check_init.
4756 * decl.c (complete_start_java_method): Swaped second and third
4757 arguments while creating WITH_CLEANUP_EXPR node.
4758 * jcf-write.c (generate_bytecode_insns): Use second operand
4759 instead of third when handling WITH_CLEANUP_EXPR.
4760 * parse.y (java_complete_lhs): Expand second operand of
4761 WITH_CLEANUP_EXPR nodes.
4762 (patch_synchronized_statement): Swaped second and third arguments
4763 while creating WITH_CLEANUP_EXPR node.
4764
9d7d8362
APB
47652001-07-18 Alexandre Petit-Bianco <apbianco@redhat.com>
4766
4767 * parse.y (create_interface): Avoid cyclic inheritance report when
4768 syntax error encountered during class definition.
4769 Fixes PR java/2956
4770
578672a2
RO
47712001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4772
4773 * jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
4774 ASM_FINAL_SPEC.
4775 (lang_specific_pre_link): Use set_input to set input_filename.
4776 Append `main' here.
4777 * jvgenmain.c (usage): Append literal `main' to CLASSNAME.
4778 (main): Fix definition.
4779 Strip `main' from classname.
4780 Fixes PR java/227.
4781
6a65ea5b
TT
47822001-07-18 Tom Tromey <tromey@redhat.com>
4783
4784 For PR java/2812:
4785 * lex.h: Use HAVE_ICONV, not HAVE_ICONV_H.
4786 * lex.c (java_new_lexer): Use ICONV_CONST.
4787 (java_read_char): Likewise.
4788 * Make-lang.in (jc1$(exeext)): Link against LIBICONV.
4789 (jv-scan$(exeext)): Likewise.
4790
9d7d8362
APB
47912001-07-17 Alexandre Petit-Bianco <apbianco@redhat.com>
4792
4793 * parse.h (INTERFACE_INNER_MODIFIERS): Disallow `private.'
4794 * parse.y (check_class_interface_creation): Allow `private' if the
4795 enclosing is not an interface.
4796 (create_interface): Interface tagged public if the enclosing
4797 context is an interface.
4798 (create_class): Class tagged public if the enclosing context
4799 is an interface.
4800 Fixes PR java/2959
4801
48022001-07-17 Alexandre Petit-Bianco <apbianco@redhat.com>
4803
4804 * class.c (push_class): Set DECL_SIZE to `integer_zero_node.'
4805 Fixes PR java/2665
4806
e6290e74
TJ
48072001-07-14 Tim Josling <tej@melbpc.org.au>
4808
4809 * check-init.c (check_init): Remove references to EXPON_EXPR.
4810
9d7d8362
APB
48112001-07-13 Alexandre Petit-Bianco <apbianco@redhat.com>
4812
4813 * parse.y (java_complete_lsh): Set CAN_COMPLETE_NORMALLY and unset
4814 TREE_CONSTANT_OVERFLOW of CASE_EXPR value.
4815 Fixes PR java/3602
4816
4b2dc1b2
TT
48172001-07-13 Tom Tromey <tromey@redhat.com>
4818
4819 * jvspec.c (jvgenmain_spec): Remove -ffilelist-file from cc1
4820 invocation.
4821
b6e3e1ff
APB
48222001-07-12 Alexandre Petit-Bianco <apbianco@redhat.com>
4823
4824 * parse.y (patch_method_invocation): Don't override primary if one
4825 is already provided, but let this$<n> be built. Fixed comment.
4826
48272001-07-12 Alexandre Petit-Bianco <apbianco@redhat.com>
4828
4829 * parse.y (empty_statement:): Report empty statement error only
4830 when found at class declaration level.
4831 Fixes PR java/3635
4832
a3cb5122
TT
48332001-07-12 Tom Tromey <tromey@redhat.com>
4834
4835 * expr.c (expand_load_internal): New function.
4836 (LOAD_INTERNAL): Use it.
4837
29fcdaae
APB
48382001-07-11 Alexandre Petit-Bianco <apbianco@redhat.com>
4839
4840 * parse.y (verify_constructor_super): Compare anonymous class ctor
4841 args with `valid_method_invocation_conversion_p.'
4842 Fixes PR java/3285
4843
2df37a59
APB
48442001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
4845
4846 * lang-specs.h: Forbit the use if `-femit-class-file{s}' without
4847 `-fsyntax-only.' Fixes PR java/3248
4848
48492001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
4850
4851 * jcf-io.c (find_class): Clarified error message. Fixes PR java/2603
4852
48532001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
4854
4855 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): No `this' is fine if the
4856 current function is static. Fixes PR java/1970
4857
48582001-07-09 Alexandre Petit-Bianco <apbianco@redhat.com>
4859
4860 * parse.y (patch_method_invocation): Add enclosing context to ctor
4861 calls if necessary. Fixes PR java/2953
4862
48632001-07-09 Alexandre Petit-Bianco <apbianco@redhat.com>
4864
4865 * parse.y (resolve_package): Abort if qualified expression member
4866 isn't right.
4867 (qualify_ambiguous_name): Don't qualify as type if `this' in use.
4868 Fixes PR java/1391
4869
74d04dd1
ZW
48702001-07-07 Zack Weinberg <zackw@stanford.edu>
4871
4872 * verify.c: Don't use // comments.
4873
af418b8c
TT
48742001-07-05 Tom Tromey <tromey@redhat.com>
4875
4876 * lang.c (flag_assume_compiled): Removed.
4877 * java-tree.h (flag_assume_compiled): Removed.
4878 * lang-options.h: Removed -ffile-list-file, -fuse-boehm-gc,
4879 -fhash-synchronization, -fuse-divide-subroutine,
4880 -fcheck-references, -femit-class-file, -femit-class-files,
4881 -fassume-compiled. Updated --encoding information. Changed
4882 -foutput-class-dir to `-d'.
4883
84a5b4f8
DB
48842001-07-04 Daniel Berlin <dan@cgsoftware.com>
4885
4886 * jcf-parse.c (parse_class_file): Add lineno parameter to
4887 debug_start_source_file call.
4888
0671eaf6
JM
48892001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
4890
4891 * gcj.texi: Use gpl.texi.
4892 * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Update
4893 dependencies and use doc/include in search path.
4894
9be7529d
JS
48952001-07-03 Jeff Sturm <jsturm@one-point.com>
4896
4897 * parse.y (fix_constructors): Test if a CALL_EXPR invokes
4898 `this'. If so, don't build instance initializers.
4899
51e23701
APB
49002001-07-03 Alexandre Petit-Bianco <apbianco@redhat.com>
4901
4902 * parse.y (resolve_expression_name): Improved error message for
2df37a59 4903 inner class cases. Fixes PR java/1958
51e23701 4904
46f018e1
GDR
49052001-06-28 Gabriel Dos Reis <gdr@codesourcery.com>
4906
4907 * lang.c: #include diagnostic.h
4908 (lang_print_error): Add a `diagnostic_context *' parameter.
4909 (java_dummy_print): Likewise.
4910 * Make-lang.in (JAVA_LEX_C): Depend on diagnostic.h
4911
51e23701
APB
49122001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
4913
4914 * jcf-parse.c (gcc_mark_jcf): Test for a finished JCF.
4915 * jcf.h (typedef struct JCF): New bitfield `finished.'
4916 (JCF_FINISH): Set `finished.'
4917 (JCF_ZERO): Reset `finished.'
4918 Fixes PR java/2633
4919
49202001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
4921
4922 * parse.y (class_body_declaration:): Don't install empty instance
4923 initializers.
4924 Fixes PR java/1314
4925
4a70e37e
APB
49262001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
4927
4928 * class.c (set_super_info): Call `set_class_decl_access_flags.'
4929 (set_class_decl_access_flags): New function.
4930 * java-tree.h (set_class_decl_access_flags): New prototype.
4931 * jcf-parse.c (handle_innerclass_attribute): Read and set access flags.
4932 (parse_class_file): New local `decl_max_locals.' Take wide types
4933 into account to compute DECL_MAX_LOCALS.
4934 * parse.y (type_import_on_demand_declaration:): Ignore duplicate
4935 imports on demand.
4936
561a0365
JM
49372001-06-22 Jan van Male <jan.vanmale@fenk.wau.nl>
4938
4939 * zipfile.h: Use GCC_JCF_H instead of JCF_H.
4940
8e41c4f3
APB
49412001-06-20 Alexandre Petit-Bianco <apbianco@redhat.com>
4942
4943 * class.c (java_hash_tree_node): Fixed indentation in leading comment.
4944 * parse.y (do_resolve_class): Moved comments out to leading comment
4945 section. Removed local `start', New local `_ht' and
4946 `circularity_hash.' Record `enclosing' in hash table and search
4947 it to detect circularity. Use `enclosing' as an argument to
4948 `lookup_cl.' Free the hash table when done.
4949
c01b7cdf
TT
49502001-06-19 Tom Tromey <tromey@redhat.com>
4951
4952 * lex.c (java_read_char): Disallow invalid and overlong
4953 sequences. Fixes PR java/2319.
4954
21a6bb3c
JS
49552001-06-05 Jeff Sturm <jsturm@one-point.com>
4956
4957 * decl.c (create_primitive_vtable): Don't call make_decl_rtl.
4958
0c90837b
APB
49592001-06-04 Alexandre Petit-Bianco <apbianco@redhat.com>
4960
4961 * expr.c (force_evaluation_order): Match wrapped ctor calls, locate
4962 arguments accordingly.
4963
1347cc4f
JM
49642001-06-02 Joseph S. Myers <jsm28@cam.ac.uk>
4965
4966 * gcj.texi: Move contents to just after title page.
4967
12e248d6
APB
49682001-06-01 Alexandre Petit-Bianco <apbianco@redhat.com>
4969
4970 * parse.y (type_literals:): Use `build_incomplete_class_ref' with
4971 builtin type.
4972 (patch_incomplete_class_ref): Build the class ref, build the class
4973 init if necessary, complete the tree.
4974 Fixes PR java/2605
4975
19559012
APB
49762001-05-31 Alexandre Petit-Bianco <apbianco@redhat.com>
4977
4978 * parse.y (lookup_field_wrapper): Test `name' code.
4979 (resolve_qualified_expression_name): Test `qual_wfl' code.
4980 (qualify_ambiguous_name): Handle `CONVERT_EXPR', fixe indentation,
4981 handle `qual_wfl' by code.
4982 (maybe_build_primttype_type_ref): Test `wfl' code.
4983
eb153223
TP
49842001-05-23 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
4985
4986 * Make-lang.in ($(srcdir)/java/gcj.info): Added dependencies on
4987 fdl.texi.
4988 (java/gcj.dvi): Use TEXI2DVI instead of custom tex calls. Create
4989 the dvi file in the java directory.
4990
88657302
RH
49912001-05-25 Sam TH <sam@uchicago.edu>
4992
4993 * gen-table.pl javaop.h jcf.h lex.h,
4994 parse.h: Fix header include guards.
4995
719f0fde
JM
49962001-05-23 Joseph S. Myers <jsm28@cam.ac.uk>
4997
4998 * jv-scan.c (version): Update copyright year.
4999
075516bc
PB
50002001-05-21 Per Bothner <per@bothner.com>
5001
5002 * jcf-parse.c (read_class): If class is from .class or .zip file
5003 and it's already been read, don't push/pop parser context.
5004
9d289604
PB
50052001-05-18 Per Bothner <per@bothner.com>
5006
5007 * jvspec.c (lang_specific_pre_link): Re-arrange the linker
9a07cfaf 5008 command line so the jvgenmain-generated main program comes first.
9d289604 5009
48187504
TT
50102001-05-15 Tom Tromey <tromey@redhat.com>
5011
5012 * class.c (build_utf8_ref): Don't generate identifier based on
5013 utf8const contents.
5014
f17f1898
RH
50152001-05-12 Richard Henderson <rth@redhat.com>
5016
5017 * java-tree.def (JAVA_EXC_OBJ_EXPR): New.
5018 * expr.c (java_lang_expand_expr): Expand it.
5019 (process_jvm_instruction): Build JAVA_EXC_OBJ_EXPR instead of
5020 calling build_exception_object_ref.
5021 * parse.y (catch_clause_parameter): Likewise.
5022 (build_dot_class_method): Likewise.
5023 (try_reference_assignconv): Likewise.
5024 * check-init.c (check_init): Check JAVA_EXC_OBJ_EXPR not EXC_PTR_EXPR.
5025 * jcf-write.c (generate_bytecode_insns): Likewise.
5026
352b3f3f
APB
50272001-05-07 Alexandre Petit-Bianco <apbianco@redhat.com>
5028
5029 * parse.y (build_unresolved_array_type): Set
5030 EXPR_WFL_QUALIFICATION on the newly created wfl.
5031 Fixes PR java/2538. Fixes PR java/2535.
5032
41ee0877
APB
50332001-05-07 Alexandre Petit-Bianco <apbianco@redhat.com>
5034
17126208 5035 * parse.y (fix_constructors): Removed unnecessary assignment to
41ee0877
APB
5036 local. Moved assignment to `this$<n>', fixed comments and
5037 indentation.
5038 (build_wfl_wrap): Fixed indentation.
5039 Fixes PR java/2598, java/2579 and java/2658.
5040
4def8930
MD
50412001-05-03 Mo DeJong <mdejong@redhat.com>
5042
9a07cfaf 5043 * lex.c (java_new_lexer): Call iconv_close on temp handle used to
4def8930
MD
5044 check for byte swap.
5045
8fc6a63c
JS
50462000-05-02 Jeff Sturm <jsturm@one-point.com>
5047
5048 * expr.c (build_class_init): Move MODIFY_EXPR
5049 outside of COND_EXPR. Remove variable `call'.
5050
3e411c3f
KG
50512001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5052
5053 * decl.c: NULL_PTR -> NULL.
5054 * jcf-write.c: Likewise.
5055
0cd015ea
TT
50562001-05-01 Tom Tromey <tromey@redhat.com>
5057
5058 * Make-lang.in ($(srcdir)/java/gcj.info): Added `-I..'.
5059 (java/gcj.dvi): Added $(srcdir) to TEXINPUTS.
5060 * gcj.texi: Updated copyright text. Include fdl.texi.
5061 (Top): Link to new node.
5062
6a117d00
PB
50632001-05-01 Per Bothner <per@bothner.com>
5064
5065 * parse.h (REGISTER_IMPORT): Use tree_cons instead of chainon.
5066
063df563
PB
50672001-05-01 Per Bothner <per@bothner.com>
5068
5069 * parse.y (java_pop_parser_context): The TREE_VALUE of a link in the
5070 import_list contains the name, not the TREE_PURPOSE.
5071
962584ea
KG
50722001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5073
5074 * jcf-io.c (read_zip_member): Cast to long in comparison with
5075 signed value.
5076
5077 * jvspec.c (lang_specific_driver): Initialize variables.
5078
5079 * mangle.c (find_compression_record_match): Likewise.
5080
5081 * typeck.c (build_null_signature): Provide static prototype. Mark
5082 parameter with ATTRIBUTE_UNUSED.
5083
5084 * verify.c (verify_jvm_instructions): Initialize variable.
5085
86d9e8d8
BM
50862001-04-27 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5087
5088 * parse.y (do_resolve_class): Check for cyclic inheritance during
e64c46ce 5089 inner class resolution.
86d9e8d8 5090
9c491eb8
PB
50912001-04-27 Per Bothner <per@bothner.com>
5092
5093 * parse.y (java_expand_classes): Don't change ctxp_for_generation
5094 while iterating, since that could cause gc to lose stuff.
5095
56fe39c8
PB
50962001-04-26 Per Bothner <per@bothner.com>
5097
5098 Fix method search wrt scope of inner classes to match JLS2.
5099 * typeck.c (build_null_signature): New static function.
5100 (has_method): New function. Uses build_null_signature and lookup_do.
5101 * java-tree.h (has_method): New declaration.
5102 * parse.y (find_applicable_accessible_methods_list): Do not search
5103 context of inner classes here.
5104 (patch_method_invocation): Search scope, ie. current and outer clases,
5105 for method matching simple name, to find class.
5106
8789b9fa
PB
51072001-04-26 Per Bothner <per@bothner.com>
5108
5109 * jcf-write.c (generate_bytecode_insns case SWITCH_EXPR):
5110 Fix thinko: If a single case, use if_icmpeq, not ifeq.
5111
5112 * constants.c (find_methodref_with_class_index): New function.
5113 (find_methodref_index): Use find_methodref_with_class_index.
5114 * java-tree.h (find_methodref_with_class_index): New declaration.
5115 * jcf-write.c (generate_bytecode_insns case CALL_EXPR): Don't change
5116 DECL_CONTEXT, instead use new find_methodref_with_class_index function.
5117 If context changed from interface to class, don't use invokeinterface.
5118
5acea42b
PB
51192001-04-25 Per Bothner <per@bothner.com>
5120
5121 * verify.c (verify_jvm_instructions): For field instructions,
5122 check that field index is valid. For invoke instructions, check that
5123 method index is valid.
5124
dd6f3662
AO
51252001-04-25 Alexandre Oliva <aoliva@redhat.com>
5126
5127 * config-lang.in (target_libs): Copy from $libgcj_saved.
5128
28f7d9d0
BM
51292001-04-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5130
5131 * decl.c (init_decl_processing): Add new class "protectionDomain"
5132 field.
5133 * class.c (make_class_data): Set initial value for "protectionDomain".
5134
d4c3ec27
KG
51352001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5136
5137 * jvspec.c (lang_specific_driver): Fix memory allocation
5138 deficit, by using concat in lieu of xmalloc/sprintf.
5139
3c0ce750
PB
51402001-04-20 Per Bothner <per@bothner.com>
5141
5142 Fixes to compile multiple .class files at once.
5143 * decl.c (init_decl_processing): Don't set CLASS_LOADED_P.
5144 * java-tree.h (CLASS_PARSED_P): New macro.
5145 (CLASS_LOADED_P): Re-define to use TYPE_SIZE and CLASS_PARSED_P.
5146 * jcf-parse.c (jcf_parse_source): Inline into read_class.
5147 (read_class): Avoid some code duplication.
5148 Don't call JCF_FINISH for a .class file - might be needed later.
5149 (jcf_parse): Don't call layout_class here. Check/set CLASS_PARSED_P
5150 rather than CLASS_LOADED_P, since latter implies class laid out.
5151 (yyparse): Do layout_class and JCF_FINISh here instead, in pass 2.
5152 * parse.y: Don't need to set CLASS_LOADED_P for array types.
5153
d6684bc8
KG
51542001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5155
5156 * Make-lang.in (java/boehm.o): Depend on toplev.h.
5157
5158 * boehm.c: Include toplev.h.
5159
10e2af38
TT
51602001-04-06 Tom Tromey <tromey@redhat.com>
5161 Alexandre Petit-Bianco <apbianco@redhat.com>
5162
5163 Fix for PR gcj/1404 and PR gcj/2332:
5164 * parse.y (build_array_from_name): If we use the type_wfl then
5165 accumulate dimensions from the original type as well.
5166 (build_unresolved_array_type): Don't modify TYPE_OR_WFL in place.
5167
2d9fea5d
TT
51682001-04-06 Tom Tromey <tromey@redhat.com>
5169
5170 * parse.y (analyze_clinit_body): Return true if the second operand
5171 of a METHOD_EXPR is nonzero.
5172
613bb86e
TT
51732001-04-06 Tom Tromey <tromey@redhat.com>
5174
5175 * Make-lang.in ($(srcdir)/java/parse-scan.c): Run bison from build
5176 directory.
5177 ($(srcdir)/java/parse.c): Likewise.
5178
8b66cd8f
APB
51792001-04-05 Alexandre Petit-Bianco <apbianco@redhat.com>
5180
5181 * gcj.texi: Use `which-gcj' instead of `which-g77.'
5182 (version-gcc): Initialized.
5183 (which-gcj): Likewise.
5184
73c299fc
APB
51852001-04-04 Alexandre Petit-Bianco <apbianco@redhat.com>
5186
5187 * java-tree.h (struct lang_decl): New macro
5188 `DECL_FIXED_CONSTRUCTOR_P.' New field `fixed_ctor.'
5189 * parse.y (build_instance_initializer): New function.
5190 (add_instance_initializer): Use it.
5191 (java_fix_constructors): Set `current_class' before fix pass.
5192 (fix_constructors): Just return if already fixed. Move `super()'
67264b4f 5193 invocation ahead. Use `build_instance_initializer.'
73c299fc
APB
5194 Fixes PR java/1315.
5195
93a6eb78 51962001-04-04 Alexandre Petit-Bianco <apbianco@redhat.com>
e64c46ce 5197
93a6eb78
APB
5198 * parse.y (resolve_qualified_expression_name): Pass field's
5199 DECL_CONTEXT to `not_accessible_p.'
5200 (not_accessible_p): Changed parameters order in `inherits_from_p'
67264b4f 5201 invocation.
93a6eb78 5202
4956c16e
AH
52032001-03-27 Andrew Haley <aph@cambridge.redhat.com>
5204
5205 * lang-options.h: Add flag_check_references.
5206
3cc48399
PB
52072001-04-04 Per Bothner <per@bothner.com>
5208
5209 * java-tree.h (CONSTANT_VALUE_P): New macro.
5210 * jcf-write.c (generate_classfile): Use CONSTANT_VALUE_P.
5211 * parse.y (maybe_build_class_init_for_field): New static function.
5212 (resolve_expression_name, resolve_field_access): Use
e64c46ce 5213 maybe_build_class_init_for_field instead of build_class_init
3cc48399
PB
5214 This does not do the init if the field is compile-time-constant.
5215 (resolve_field_access): Simplify.
5216
5217 * parse.y (fold_constant_for_init): Merge test into switch.
5218
d02af173
ZW
52192001-04-03 Zack Weinberg <zackw@stanford.edu>
5220
5221 * Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
5222 on gansidecl.h.
5223 * buffer.c, jvgenmain.c: Don't include gansidecl.h.
5224
44a2150d
ZW
52252001-04-02 Zack Weinberg <zackw@stanford.edu>
5226
5227 * expr.c (pop_type_0): Save the result of the first
e64c46ce 5228 lang_printable_name call in a scratch buffer, so it
44a2150d
ZW
5229 won't be clobbered by the second call.
5230
de307574
APB
52312001-03-30 Alexandre Petit-Bianco <apbianco@redhat.com>
5232
5233 * parse-scan.y (array_type:): Rewritten.
5234 (type_declaration:): `empty_statement' replaces `SC_TK.'
5235 (class_member_declaration:): `empty statement' added.
5236 (method_body:): Simplified.
5237 (static_initializer:): Likewise.
5238 (primary_no_new_array:): Use `type_literals.'
5239 (type_literals:): New rule.
5240 (dims:): Set and update `bracket_count.'
5241 Fixes PR java/1074. Fixes PR java/2412.
5242
2ff50199
APB
52432001-03-28 Hans Boehm <boehm@acm.org>
5244
5245 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
5246 (get_boehm_type_descriptor): Set type on returned value to be a
5247 pointer length integer.
5248
80122075
KG
52492001-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5250
5251 * expr.c (pop_type_0): Call `concat' rather than building the
5252 string manually.
5253 (pop_type): Add format specifier in call to `error'.
5254
5255 * parse.y (patch_method_invocation): Avoid casting away
5256 const-ness.
5257
0f5c1ee4
JO
52582001-03-28 Jeffrey Oldham <oldham@codesourcery.com>
5259
5260 * jvgenmain.c (do_mangle_classname): End string constant with '\0'.
5261
52a11cbf
RH
52622001-03-28 Richard Henderson <rth@redhat.com>
5263
5264 IA-64 ABI Exception Handling:
5265 * Make-lang.in (except.o): Don't depend on eh-common.h.
5266 * check-init.c (check_init): Handle EXC_PTR_EXPR.
5267 * decl.c (init_decl_processing) [throw_node]: No _Jv_Sjlj_Throw.
5268 [soft_exceptioninfo_call_node]: Remove.
5269 [eh_personality_libfunc, lang_eh_runtime_type]: New.
5270 (end_java_method): No emit_handlers.
5271 * except.c (java_set_exception_lang_code): Remove.
5272 (method_init_exceptions): Don't call it.
5273 (prepare_eh_table_type): No CATCH_ALL_TYPE.
5274 (build_exception_object_ref): New.
5275 (expand_end_java_handler): Update for except.h name changes.
5276 (emit_handlers, expand_resume_after_catch): Remove.
5277 * expr.c (java_lang_expand_expr): Update for except.h name changes.
5278 (process_jvm_instruction): Use build_exception_object_ref.
5279 * java-tree.h (JTI_SOFT_EXCEPTIONINFO_CALL_NODE): Remove.
5280 (soft_exceptioninfo_call_node): Remove.
5281 (build_exception_object_ref): Declare.
5282 * jcf-write.c (generate_bytecode_insns) [CALL_EXPR]: No
5283 soft_exceptioninfo_call_node. Move processing ...
5284 [EXC_PTR_EXPR]: ... here.
5285 * parse.h (BUILD_ASSIGN_EXCEPTION_INFO): Remove dead code.
5286 * parse.y (catch_clause_parameter): Use build_exception_object_ref.
5287 (source_end_java_method): No java_set_exception_lang_code or
5288 emit_handlers.
5289 (build_dot_class_method): Use build_exception_object_ref.
5290 (try_reference_assignconv): Check EXC_PTR_EXPR not
5291 soft_exceptioninfo_call_node.
5292
ce1c98ea
RH
52932001-03-28 Richard Henderson <rth@redhat.com>
5294
5295 * java-tree.h (throw_node): Define as a single member of
5296 java_global_trees instead of a separate array.
5297 (JTI_THROW_NODE): New.
5298 * decl.c (throw_node): Don't declare.
5299 (init_decl_processing): Init a scalar throw_node.
5300 Don't register it for gc.
5301 * check-init.c (check_init): Reference scalar throw_node.
5302 * expr.c (build_java_athrow): Likewise.
5303 * jcf-write.c (generate_bytecode_insns): Likewise.
5304 * parse.h (BUILD_THROW): Likewise.
5305
da7da8f9
RH
53062001-03-28 Richard Henderson <rth@redhat.com>
5307
5308 * decl.c (end_java_method): Do not save and restore
5309 flag_non_call_exceptions.
5310 * parse.y (source_end_java_method): Likewise.
5311 * lang.c (flag_exceptions): Don't declare.
5312 (java_init_options): Set flag_non_call_exceptions. Set
5313 flag_exceptions here ...
5314 (java_init): ... not here.
5315
531073e7
RH
53162001-03-27 Richard Henderson <rth@redhat.com>
5317
5318 * expr.c, parse.h: Use USING_SJLJ_EXCEPTIONS instead of
5319 exceptions_via_longjmp.
5320
461fc4de
RH
5321 * lang.c (flag_new_exceptions): Don't declare it.
5322 (java_init_options): Or set it.
5323
c1e9f663
RH
53242001-03-27 Richard Henderson <rth@redhat.com>
5325
5326 * decl.c (end_java_method): Rename asynchronous_exceptions to
5327 flag_non_call_exceptions.
979988f3 5328 * parse.y (source_end_java_method): Likewise.
c1e9f663 5329
911e6107
KG
53302001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5331
5332 * Make-lang.in: Depend on $(SYSTEM_H), not system.h.
5333
b850de4f
MM
53342001-03-26 Mark Mitchell <mark@codesourcery.com>
5335
5336 * parse.h (DECL_END_SOURCE_LINE): Don't rely on DECL_FRAME_SIZE.
5337
ce06965e
APB
53382001-03-26 Alexandre Petit-Bianco <apbianco@redhat.com>
5339
5340 * parse.y (find_as_inner_class): Follow current package
5341 indications not to mistakingly load an unrelated class.
5342
cb9b7a8c
KG
53432001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5344
5345 * constants.c (PUTN): Use memcpy, not bcopy.
5346
5347 * lex.c (java_read_char): Use memmove, not bcopy.
5348
5349 * parse.y (java_parser_context_resume): Use memcpy, not bcopy.
5350
fa029f45
PB
53512001-03-23 Per Bothner <per@bothner.com>
5352
5353 * verify.c (verify_jvm_instructions): Replace 3 pop_type by POP_TYPE
5354 macro for better error pin-pointing.
5355 * java-tree.h: Fix typo in comment.
5356
5357 * jcf-write.c (generate_bytecode_insns): Changes to TRY_FINALLY_EXPR.
5358 Don't include jsr/goto in exception range.
5359 Check if start and end of exception range are the same (also TRY_EXPR).
5360 Don't emit jsr after try_block if CAN_COMPLETE_NORMALLY is false.
5361 However, do emit the following goto even if try_block is empty.
5362 Defer freeing exception_decl until after the finalizer, to make
5363 sure the local isn't reused in the finalizer. Fixes PR java/1208.
5364
5365 * parse.y (java_complete_lhs): If the try-clause is empty, just
5366 return the finally-clause and vice versa.
5367
b124f72e
APB
53682001-03-23 Alexandre Petit-Bianco <apbianco@redhat.com>
5369
5370 * gcj.texi (Input Options): documented the check for attribute
5371 `gnu.gcc.gccj-compiled' and the `-fforce-classes-archive-check' flag.
5372 * java-tree.h (flag_force_classes_archive_check): Declared extern.
5373 * jcf-parse.c (HANDLE_GCJCOMPILED_ATTRIBUTE): New macro.
5374 (jcf_parse): Check for the right classes archive if necessary.
5375 * jcf-reader.c (get_attribute): Define `MATCH_ATTRIBUTE' and use it.
5376 (jcf_parse_fields): Fixed indentation.
5377 * jcf-write.c (append_gcj_attribute): New function.
5378 (generate_classfile): Compute the attribute count, invoke
5379 `append_gcj_attribute'.
5380 * jcf.h (typedef struct JCF): `seen_in_zip' and `java_source'
ee142fe7 5381 turned into bit-fields. New bit-field `right_zip.'
b124f72e
APB
5382 (JCF_ZERO): Set `right_zip' to zero.
5383 * lang-options.h (-fforce-classes-archive-check): Added flag.
5384 * lang.c (flag_force_classes_archive_check): New flag.
5385 (lang_f_options): New entry `force-classes-archive-check.'
5386 Fixes PR java/1213.
5387
4ff17c6a
AH
53882001-02-07 Andrew Haley <aph@redhat.com>
5389
5390 * gcj.texi (Configure-time Options): Add -fcheck-references.
5391 * expr.c (build_java_indirect_ref): New function.
3e02b1c3 5392 (java_check_reference): New function.
4ff17c6a
AH
5393 (build_java_array_length_access): Use build_java_indirect_ref to
5394 check for null references.
5395 (build_java_arrayaccess): Likewise.
5396 (build_get_class): Likewise.
5397 (build_field_ref): Likewise.
5398 (invoke_build_dtable): Likewise.
5399 (build_invokeinterface): Likewise.
5400 * lang.c (lang_f_options): Add flag_check_references.
5401 * jvspec.c (jvgenmain_spec): Add flag_check_references.
5402 * java-tree.h (flag_check_references): New variable.
5403 * lang.c (flag_check_references): Likewise.
e64c46ce 5404 * parse.y (patch_invoke): Use java_check_reference.
3e02b1c3
AH
5405 (patch_assignment): Allow for extra nesting in
5406 _Jv_CheckArrayStore.
4ff17c6a 5407
f2a29271
BM
54082001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
5409
5410 * gjavah.c (cxx_keywords): Update from the definitive list in cp/lex.c.
5411 * lex.c (cxx_keywords): Likewise.
5412
2ff50199
APB
54132001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com>
5414
5415 * parse.y (qualify_ambiguous_name): Broaden `length'
5416 recognition. Help MODIFY_EXPR be resolved as expression names.
5417 Fixes PR java/2066. Fixes PR java/2400.
5418
60c87482
BM
54192001-03-21 Bryce McKinlay <bryce@albatross.co.nz>
5420
e64c46ce 5421 * gjavah.c (process_file): Mark interface definitions with
60c87482
BM
5422 "__attribute__ ((java_interface))".
5423
96c6f628
APB
54242001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com>
5425
5426 * class.c (layout_class): Fixed push_super_field's second
5427 argument. Fixes PR java/2333.
5428 (jdep_resolve_class): Reset TYPE_SIZE if `error_mark_node', it's
5429 too early to lay innerclasses out.
5430
7abecd65
TT
54312001-03-20 Tom Tromey <tromey@redhat.com>
5432 Alexandre Petit-Bianco <apbianco@redhat.com>
5433
5434 * parse.y (patch_assignment): Handle the case of a SAVE_EXPR
5435 inside an array reference. Insertion of the array store check
5436 rewritten. Fixes PR java/2299.
5437
4aed8938
TT
54382001-03-20 Tom Tromey <tromey@redhat.com>
5439
5440 * lex.c (java_read_unicode): Only accept leading `u's.
5441
ddd705d1
TT
54422001-03-20 Tom Tromey <tromey@redhat.com>
5443
5444 * jcf-parse.c (read_class): Initialize `class'.
5445
de83bf66
MK
54462001-03-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
5447
5448 * jcf_parse.c (jcf_parse): Eliminate unused variable.
5449
92643fea
MM
54502001-03-19 Mark Mitchell <mark@codesourcery.com>
5451
5452 * class.c (build_class_ref): Use SET_DECL_ASSEMBLER_NAME.
5453 (layout_class): Likewise.
5454 (layout_class_method): Likewise.
5455 (emit_register_classes): Likewise.
5456 * decl.c (builtin_function): Likewise.
5457 (give_name_to_locals): Likewise.
5458
54646811
PB
54592001-03-19 Per Bothner <per@bothner.com>
5460
80fc2e84
PB
5461 * jcf-parse.c (load_inner_classes): Check CLASS_LOADED_P
5462 before trying to load an inner class.
5463
54646811
PB
5464 Fixes to process to command-line .class files in two passes.
5465 * java-tree.h (JAVA_FILE_P, CLASS_FILE_P, ZIP_FILE_P): New flags.
5466 (CLASS_FROM_CURRENTLY_COMPILED_SOURCE_P): Rename to ..
5467 (CLASS_FROM_CURRENTLY_COMPILED_P): ... because it is more general now.
5468 * class.c (is_compiled_class): Fix for renamed flag.
5469 * parse.y (maybe_create_class_interface_decl): Likewise.
5470 * jcf-parse.c (yyparse): Also set if compiling .class files.
5471 * jcf-parse.c (read_class); Read current_class.
5472 (jcf_parse): Make static.
5473 (load_inner_classes): New function, with code moved from jcf_parse,
5474 because we need to inner classes after the command-line files are read.
5475 (yyparse): Set finput to NULL when it doesn't need to be closed.
5476 Reduce use of main_jcf (basically only for archive) and
5477 use finput instead of main_jcf->read_state.
5478 Inline jcf_figure_file_type into yyparse.
5479 Set JAVA_FILE_P, CLASS_FILE_P, or ZIP_FILE_P on filename list name.
5480 Defer load_inner_classes and parse_class_file to a second pass,
5481 after we've correctly mapped command-line .clas fiels to classes.
5482 (jcf_figure_file_type): Removed.
5483 * jcf.h (JCF_ZIP, JCF_CLASS, JCF_SOURCE): Removed flags.
5484 (JCF_ZERO): Also clear zipd field.
5485 * zipfile.h: Conditionalize on JCF_H insread of JCF_ZIP.
5486
54872001-03-18 Matt Kraai <kraai@alumni.carnegiemellon.edu>
5488
5489 * jcf-parse.c (yyparse): Change ch from char * to char.
5490
8b1edcee
PB
54912001-03-19 Per Bothner <per@bothner.com>
5492
5493 * jvspec.c (lang_specific_driver): Check for .zip and .jar files.
5494 Add constructed filelist-file at end, following -xjava. Thus any .o
5495 and library files are not affected by the -xjava. Also wrap
54646811 5496 explicit @FILE with -xjava and -xnone.
8b1edcee 5497
6bc5f6cb
AH
54982001-03-19 Andrew Haley <aph@cambridge.redhat.com>
5499
9a07cfaf
RH
5500 * class.c (build_static_field_ref): Call make_decl_rtl() after
5501 setting the DECL_EXTERNAL flag.
6bc5f6cb 5502
daaaf29f
PB
55032001-03-17 Per Bothner <per@bothner.com>
5504
90f59043
PB
5505 * decl.c (clear_binding_level): Fix initializer (broke 03-15).
5506
478e7ed6
PB
5507 * jcf-write.c (generate_bytecode_insns): Handle emitting iinc
5508 when result is is needed (target is STACK_TARGET).
5509
daaaf29f 5510 * parse.h (JDEP_SOLV): Removed.
d148b6aa 5511 * parse.y (register_incomplete_type): Use JDEP_TO_RESOLVE instead.
daaaf29f 5512
d148b6aa
PB
5513 * parse.y (incomplete_class_list): Removed.
5514 (obtain_incomplete_type): Don't use or set incomplete_class_list.
5515 It doesn't work if resolve_class changes the name of an array type
5516 that is on the list and then someone else looks for the modified name.
5517 Also, seems liable to break when compiling multiple source files at
5518 once. So the simplest is to just remove incomplete_class_list -
5519 it is only a minor space win and it is not even clear it saves time.
daaaf29f
PB
5520
5521 * parse.y (resolve_class): Remove unneeded promote_type.
5522
4763d38f
PB
55232001-03-15 Per Bothner <per@bothner.com>
5524
b16e8f08
PB
5525 * java-tree.h (BLOCK_IS_IMPLICIT): New flag.
5526 * parse.h (BLOCK_EXPR_ORIGIN): Removed macro.
5527 * parse.y (declare_local_variables, maybe_absorb_scoping_blocks):
5528 Use BLOCK_IS_IMPLICIT rather than BLOCK_EXPR_ORIGIN.
8b1edcee 5529
3a2e5926
PB
5530 * jcf-parse.c (yyparse): Set/reset input_filename for source file.
5531 * parse.y (java_expand_classes): Likewise.
8b1edcee 5532
47a50de9
PB
5533 * parse.y (expand_start_java_method): Was only called once and had a
5534 misleading name, so inline in caller java_complete_expand_method.
3a2e5926 5535 (enter_a_block): Likewise inline in enter_block and remove.
47a50de9 5536
4763d38f
PB
5537 Remove junk from when gcc/java was created (by copying from C/C++).
5538 * decl.c (keep_next_level_flag, keep_next_if_subblocks): Remove.
5539 (struct binding_level): Remove fields keep, keep_if_subblocks,
5540 more_cleanups_ok, have_cleanups (which have never been used).
5541 (pushlevel, poplevel): Remove related useless code.
19f8e04b 5542
69ca5554
PB
5543 * class.c (make_class_data): The class_dtable_decl (i.e. the
5544 vtable for Class) should be external, except when compiling Class.
5545
7d32abcd
PB
5546 * jvspec.c (lang_specific_driver): Fix -C handling.
5547 Check -save-temps to see if temp @FILE should be deleted.
5548 Follow-up to/fix for February 16 patch.
5549
19f8e04b
PB
5550 * verify.c (verify_jvm_instructions): Better error msgs for dup.
5551 (type_stack_dup): Remove no-longer neded error check.
5552
551bf03c
BM
55532001-03-15 Bryce McKinlay <bryce@albatross.co.nz>
5554
5555 * mangle.c (mangle_record_type): Rename 'from_pointer' argument
5556 to 'for_pointer'. If this type is for a pointer (argument) mangling,
e64c46ce 5557 don't surround the element with 'N..E' if the type name is
551bf03c
BM
5558 unqualified.
5559
19e7881c
MM
55602001-03-14 Mark Mitchell <mark@codesourcery.com>
5561
d1d61788
MM
5562 * class.c (build_static_field_ref): Use COPY_DECL_RTL,
5563 DECL_RTL_SET_P, etc.
19e7881c
MM
5564 (make_method_value): Likewise.
5565 (get_dispatch_table): Likewise.
5566
5567 * decl.c (push_jvm_slot): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
8b1edcee 5568
bcacc465
TT
55692001-03-07 Tom Tromey <tromey@redhat.com>
5570
5571 * config-lang.in (lang_requires): Define.
5572
de6c5979
BL
55732001-03-07 Brad Lucier <lucier@math.purdue.edu>
5574
5575 * typeck.c (convert): Check flag_unsafe_math_optimizations,
5576 not flag_fast_math.
5577
6d37cf2f
PB
55782001-03-05 Per Bothner <per@bothner.com>
5579
5580 Fix a problem where rest_of_decl_compilation applied to
5581 class_dtable_decl causes problems because it was done too early,
5582 before output file was opened.
5583 * decl.c (init_decl_processing): Remove init of class_dtable_decl.
5584 * class.c (class_dtable_decl): Add macro - element of class_roots.
5585 (make_class_data): Define class_dtable_decl.
5586 * java-tree.h (JTI_CLASS_DTABLE_DECL, class_dtable_decl): Removed.
5587
d6edb99e
ZW
55882001-03-01 Zack Weinberg <zackw@stanford.edu>
5589
5590 * java/class.c, java/decl.c, java/java-tree.h: Replace all
5591 uses of 'boolean' with 'bool'.
5592
f7143427
ZW
55932001-03-01 Zack Weinberg <zackw@stanford.edu>
5594
5595 * lang-specs.h: Add zero initializer for cpp_spec field to all
5596 array elements.
5597
fea2d5da
PB
55982001-02-16 Per Bothner <per@bothner.com>
5599
5600 Handle compiling multiple input files at once, and @FILE syntax.
e4087691 5601 * gcj.texi: Updated documentation to match.
fea2d5da
PB
5602 * java-tree.h (flag_filelist_file, init_src_parse): New declarations.
5603 * jcf-parse.c (parse_source_file): Split into ...
5604 (parse_source_file_1): New function - and:
5605 (parse_source_file_2): New function.
5606 (yyparse): On -ffilelist-file, open and scan named file.
5607 On first pass over files, only do parse_source_file_1.
5608 A new second pass calls parse_source_file_2 for each file to compile.
5609 (init_jcf_parse): Call init_src_parse.
5610 * jvspec.c (INDIRECT_FILE_ARG): New flag.
5611 (lang_specific_driver): Support @FILELIST-FILE syntax, as well
5612 as multiple input file combined in one compilation.
5613 * lang-options.h: Add -ffilelist-file
5614 * lang.c (flag_filelist_file): New flag variable.
5615 (lang_f_options): Handle -ffilelist-file.
5616 * lex.c (java_init_lex): Don't clear ctxp->incomplete_class.
5617 * parse.h (struct parse_ctxt): Remove fields incomplete_class and
5618 gclass_list - use global fields of src_parse_roots instead.
5619 * parse.y (src_parse_roots): New array.
5620 (incomplete_class_list, gclass_list): New macros.
5621 (push_parser_context, java_pop_parser_context,
5622 java_parser_context_resume): Don't fiddle with deleted fields.
5623 (various): Use incomplete_class gclass_list and global macros
5624 instead of parse_ctxt fields - the lists are global.
5625 (init_src_parse): New function.
5626
62c9aa5f 56272001-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9b58f739
RK
5628
5629 * decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
5630
064a552c
APB
56312001-02-20 Alexandre Petit-Bianco <apbianco@redhat.com>
5632
5633 * parse.y (check_inner_class_access): Moved declaration of local
5634 `enclosing_decl_type' to the right location.
5635
a648f4e4
BM
56362001-02-19 Bryce McKinlay <bryce@albatross.co.nz>
5637
e64c46ce 5638 * parse.y (parser_check_super_interface): Don't call
a648f4e4 5639 check_pkg_class_access for an inner interface.
e64c46ce 5640 (parser_check_super): Don't call check_pkg_class_access for inner
a648f4e4 5641 class.
e64c46ce 5642 (do_resolve_class): Simplify enclosing type loop. Don't call
a648f4e4
BM
5643 check_pkg_class_access if CL and DECL are not set.
5644 (find_in_imports_on_demand): Set DECL if class_type needed to be
5645 loaded. Don't call check_pkg_class_access for an inner class.
5646 (check_inner_class_access): Rewritten to implement member access
5647 rules as per spec 6.6.1.
5648 (check_pkg_class_access): Handle the empty package correctly.
5649 (in_same_package): New function. Determine if two classes are in the
5650 same package.
5651
35ab11f0
BM
56522001-02-18 Bryce McKinlay <bryce@albatross.co.nz>
5653
5654 * typeck.c (build_java_array_type): Don't try to poke a public `clone'
5655 method into array types.
5656 * parse.y (patch_method_invocation): Bypass access check on clone call
5657 to array instance.
e64c46ce 5658
055adbaa
APB
56592001-02-15 Alexandre Petit-Bianco <apbianco@redhat.com>
5660
5661 * expr.c (build_instanceof): Check for arrays when trying fold to
5662 false.
5663
e658449e
JM
56642001-02-15 Jim Meyering <meyering@lucent.com>
5665
fd48c9b5
DD
5666 * Make-lang.in (java.install-common): Depend on `installdirs'.
5667 (java.install-info): Likewise.
e658449e 5668
4238a754
BM
56692001-02-15 Bryce McKinlay <bryce@albatross.co.nz>
5670
5671 * Make-lang.in (jvspec.o): Modify rule to match that of cp/g++spec.o.
5672
e101152f 56732001-02-14 Tom Tromey <tromey@redhat.com>
9a07cfaf 5674 Alexandre Petit-Bianco <apbianco@cygnus.com>
e101152f 5675
055adbaa
APB
5676 Fix for PR java/1261.
5677 * typeck.c (build_java_array_type): Add public `clone' method to
5678 arrays.
5679 * parse.y (resolve_qualified_expression_name): Use current_class
e101152f 5680 when checking for inaccessibility.
055adbaa 5681 (patch_method_invocation): Fixed error message when accessibility
e101152f
APB
5682 denied. Added `from_super' argument.
5683
56842001-02-14 Alexandre Petit-Bianco <apbianco@redhat.com>
5685
5686 * parse.y (resolve_class): Don't build a fake decl. Use the one
5687 already built.
5688 * typeck.c (build_java_array_type): Build and assign decl to array
5689 type.
5690
56912001-02-14 Alexandre Petit-Bianco <apbianco@redhat.com>
5692
5693 * parse.y (not_accessible_p): Changed leading comment. Added extra
5694 `where' argument. Use it to enforce protected access rules.
5695 (resolve_qualified_expression_name): Added extra argument to
5696 not_accessible_p.
5697 (patch_method_invocation): Use argument `primary' to provide
5698 not_accessible_p with an extra argument.
5699 (lookup_method_invoke): Added extra argument to not_accessible_p.
5700 (search_applicable_method_list): Likewise.
5701
863cd85a
APB
57022001-02-13 Alexandre Petit-Bianco <apbianco@redhat.com>
5703
5704 * parse.y (resolve_qualified_expression_name): Try to resolve as
5705 an inner class access only if `decl' is a TYPE_DECL.
5706
94807d33
APB
57072001-02-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
5708
5709 * decl.c (classdollar_identifier_node): Initialize.
e64c46ce 5710 * java-tree.h (enum java_tree_index): New entry
94807d33
APB
5711 `JTI_CLASSDOLLAR_IDENTIFIER_NODE.'
5712 (classdollar_identifier_node): New macro.
5713 (ID_CLASSDOLLAR_P): Likewise.
5714 * parse.y (build_dot_class_method): Use `classdollar_identifier_node.'
5715 (build_dot_class_method_invocation): Likewise.
5716 (find_applicable_accessible_methods_list): `class$' can't be
5717 inherited.
5718
30f87f1a
APB
57192001-02-09 Raja R Harinath <harinath@cs.umn.edu>
5720
5721 * Make-lang.in (java/mangle_name.o): Add 'make' prereqs.
5722
57232001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com>
5724
5725 * Manke-lang.in (JVGENMAIN_OBJS): Added `errors.o'
5726 * jvgenmain.c (error): Reversed 2001-02-09 patch. `error' is now
5727 gone.
5728
1e97aa40
APB
57292001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com>
5730
5731 * mangle_name (append_unicode_mangled_name): Emit `_' or `U'
5732 outside of the `__U' sequence too.
5733 (unicode_mangling_length): Count `_' or `U' outside of the `__U'
5734 sequence too.
5735
a395f5ab
APB
57362001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com>
5737
5738 * jvgenmain.c (error): Reversed 2001-02-01 deletion.
5739
1b43b6be
APB
57402001-02-08 Alexandre Petit-Bianco <apbianco@cygnus.com>
5741
5742 * Make-lang.in (JAVA_OBJS): Added java/mangle_name.o
5743 (JVGENMAIN_OBJS): Likewise.
e64c46ce 5744 * java-tree.h (append_gpp_mangled_name): New prototype.
1b43b6be
APB
5745 * jcf-parse.c (ggc_mark_jcf): Argument now `void *.'
5746 Removed cast calling `gcc_add_root.'
5747 * jvgenmain.c (mangle_obstack): New global, initialized.
5748 (main): Use it.
5749 (do_mangle_class): Constify local `ptr.'
5750 Removed macro `MANGLE_NAME.' Removed cast in `for.' Call
5751 append_gpp_mangle_name and update `count' if necessary.
5752 Use `mangle_obstack.'
5753 * mangle.c (append_unicode_mangled_name): Removed.
5754 (append_gpp_mangled_name): Likewise.
5755 (unicode_mangling_length): Likewise.
5756 (mangle_member_name): Return type set to `void.'
5757 (mangle_field_decl): Don't append `U' in escaped names.
5758 (mangle_method_decl): Likewise.
5759 (mangle_member_name): Just use `append_gpp_mangled_name.'
5760 * mangle_name.c: New file.
5761
4a83be51
PB
57622001-02-07 Per Bothner <per@bothner.com>
5763
5764 * check-init.c (check_init): Fix TRY_FINALLY_EXPR logic.
5765
5766 * check-init.c (check_init): Don't call done_alternative after
5767 processing loop code, as a LOOP_EXPR never terminates normally.
5768
7e5fd99f
JM
57692001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
5770
5771 * gcj.texi: Change sources.redhat.com reference to gcc.gnu.org.
5772
1456345e
APB
57732001-02-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
5774
5775 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Don't handle field
5776 DECLs.
5777
77aff9f9
TT
57782001-02-06 Tom Tromey <tromey@redhat.com>
5779
5780 * lex.c (java_new_lexer): Longer error message.
5781
c00dd14e
JS
57822001-02-05 Jeff Sturm <jeff.sturm@commerceone.com>
5783 Alexandre Petit-Bianco <apbianco@cygnus.com>
5784
5785 * typeck.c (build_prim_array_type): Added leading comment.
5786 (build_java_array_type): Moved locals out of
5787 block. Always create the `data' field, fixed alignment to match
5788 C++.
5789
6d091870
TT
57902001-02-04 Tom Tromey <tromey@redhat.com>
5791
5792 * expr.c (java_lang_expand_expr): Don't bother recomputing
5793 `length'. Use rest_of_decl_compilation, not make_decl_rtl.
5794 Fixes PR java/1866.
5795
1ebb5e73
APB
57962001-02-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
5797
5798 * parse.y (process_imports): Save the original name of the import
5799 for better error report.
5800
ca5b1ff8
BM
58012001-02-04 Bryce McKinlay <bryce@albatross.co.nz>
5802
5803 * Make-lang.in (jvspec.o): Add DRIVER_DEFINES to the list
5804 of macros used when compiling jvspec.c.
5805 * jvspec.c (lang_specific_driver): Link with the shared
5806 libgcc by default.
5807
62c9aa5f 58082001-02-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
400500c4
RK
5809
5810 * check-init.c (check_init): Call internal_error instead of fatal.
5811 * expr.c (java_lang_expand_expr): Likewise.
5812 * jcf-parse.c (get_constant): Likewise.
5813 * mangle.c (java_mangle_decl): Likewise.
5814 * parse.y (make_nested_class_name, java_complete_lhs): Likewise.
5815 (operator_string): Likewise.
5816 * check-init.c (check_init): Call abort instead of fatal.
5817 * class.c (build_class_ref): Likewise.
5818 * constants.c (write_constant_pool): Likewise.
5819 * decl.c (start_java_method): Likewise.
5820 * expr.c (push_type, java_stack_pop, java_stack_swap): Likewise.
5821 (java_stack_dup, encode_newarray_type): Likewise.
5822 (build_java_array_length_access): Likewise.
5823 (build_java_check_indexed_type, expand_java_pushc): Likewise.
5824 (build_java_soft_divmod, build_invokeinterface): Likewise.
5825 * java-tree.h (INNER_CLASS_P): Likewise.
5826 * jcf-parse.c (parse_signature, get_name_constant): Likewise.
5827 (give_name_to_class, get_class_constant): Likewise.
5828 * jcf-write.c (CHECK_PUT, CHECK_OP, get_access_flags): Likewise.
5829 (find_constant_index, generate_bytecode_conditional): Likewise.
5830 (generate_bytecode_insns, perform_relocations): Likewise.
5831 * lex.c (java_unget_unicode, java_lex): Likewise.
5832 * mangle.c (mangle_type, mangle_record_type): Likewise.
5833 (mangle_pointer_type, mangle_array_type, init_mangling): Likewise.
5834 (finish_mangling): Likewise.
5835 * parse.h (MARK_FINAL_PARMS): Likewise.
5836 * parse.y (pop_current_osb, unreachable_stmt_error): Likewise.
5837 (obtain_incomplete_type, java_complete_class): Likewise.
5838 (java_check_regular_methods, java_complete_expand_method): Likewise.
5839 (cut_identifier_in_qualified, check_deprecation): Likewise.
5840 (patch_invoke, find_applicable_accessible_methods_list): Likewise.
5841 (java_complete_lhs, lookup_name_in_blocks): Likewise.
5842 (check_final_variable_indirect_assignment, build_unaryop): Likewise.
5843 * typeck.c (set_local_type, parse_signature_type): Likewise.
5844 (parse_signature_string, build_java_signature): Likewise;
5845 (set_java_signature): Likewise.
5846 * verify.c (type_stack_dup, CHECK_PC_IN_RANGE): Likewise.
5847 * class.c (add_method): Call fatal_error instead of fatal.
5848 (build_static_field_ref): Likewise.
5849 * expr.c (build_known_method_ref, expand_invoke): Likewise.
5850 * jcf-parse.c (get_constant, jcf_parse): Likewise.
5851 * lex.c (java_new_new_lexer): Likewise.
5852 * jv-scan.c (main): Likewise.
5853 (fatal_error): Renamed from fatal.
5854 * jcf-parse.c (yyparse): Call fatal_io_error instead of
5855 pfatal_with_name.
5856 * jcf-parse.c (jcf_parse_source): Call fatal_io_error, not fatal.
5857 (yyparse): Likewise.
5858 * jcf-write.c (make_class_file_name, write_classfile): Likewise.
5859 * lex.c (java_get_line_col): Likewise.
5860 * jcf-parse.c (load_class): Make errors non-fatal.
5861 * lex.c (byteswap_init, need_byteswap): Only #ifdef HAVE_ICONV.
e64c46ce 5862
4bae4eb5
BM
58632001-02-01 Bryce McKinlay <bryce@albatross.co.nz>
5864
5865 * jvgenmain.c (class_mangling_suffix): Remove unused string.
5866 (error): Remove unused function.
5867 (main): Don't use "__attribute__ alias" on generated class symbol.
5868
c0b00d37
APB
58692001-01-30 Alexandre Petit-Bianco <apbianco@cygnus.com>
5870
5871 * jcf-parse.c (init_jcf_parse): Added cast to ggc_add_root's last
5872 argument.
5873 * parse.y (finish_method_declaration): Code accounting for WFLed
5874 method DECL_NAMEs deleted.
5875 (check_abstract_method_definitions): Likewise.
5876 (resolve_type_during_patch): Layout resolved type.
5877 * typeck.c (lookup_do): Removed unused local.
5878
4bae4eb5 58792001-01-30 Bryce McKinlay <bryce@albatross.co.nz>
eb59e547
BM
5880
5881 * java-tree.h: Remove JTI_INTEGER_NEGATIVE_ONE_NODE.
5882 * decl.c (init_decl_processing): Use integer_minus_one_node, not
5883 integer_negative_one_node.
5884 * expr.c (build_java_binop): Likewise.
5885
4bae4eb5 58862001-01-24 Jeff Sturm <jeff.sturm@commerceone.com>
7be00c49
JS
5887
5888 * zextract.c (read_zip_archive): Read file_offset before writing
5889 zipd and consequently clobbering the header contents.
5890
c913b6f1
KG
58912001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5892
5893 * Make-lang.in: Remove all dependencies on defaults.h.
5894 * decl.c: Don't include defaults.h.
5895 * expr.c: Likewise.
5896 * parse.y: Likewise.
5897
c4faeb92
APB
58982001-01-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
5899
5900 * ChangeLog (2001-01-21): Fixed typo.
5901 * class.c (layout_class_method): Code accounting for WFLed
5902 method DECL_NAMEs deleted.
5903 * constant.c (find_methodref_index): Likewise.
5904 * decl.c (lang_mark_tree): Mark `wfl' field in struct lang_decl.
5905 * java-tree.h (DECL_FUNCTION_WFL): New macro.
5906 (struct lang_decl): New field `wfl'.
5907 (java_get_real_method_name): Prototype deleted.
5908 * mangle.c (mangle_method_decl): Code accounting for WFLed
5909 method DECL_NAMEs deleted.
5910 * parse.h (GET_METHOD_NAME): Macro deleted.
5911 * parse.y (reset_method_name): Deleted.
5912 (method_header): Set DECL_FUNCTION_WFL.
5913 (check_abstract_method_header): Code accounting for WFLed method
5914 DECL_NAMEs deleted.
5915 (java_get_real_method_name): Deleted.
5916 (check_method_redefinition): Code accounting for WFLed method
5917 DECL_NAMEs deleted. Use DECL_FUNCTION_WFL.
5918 (java_check_regular_methods): Likewise.
5919 (java_check_abstract_methods): Likewise.
5920 (java_expand_classes): Don't call `reset_method_name.'
5921 (search_applicable_method_list): Use DECL_NAMEs instead of
5922 GET_METHOD_NAME.
5923 * typeck.c (lookup_do): Code accounting for WFLed method
5924 DECL_NAMEs deleted.
5925
97876d66
RE
59262001-01-25 Richard Earnshaw <rearnsha@arm.com>
5927
5928 * lex.c (java_read_char): Check for EOF from getc first.
5929
493d561d
APB
59302001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
5931
5932 * class.c (layout_class): Don't lay the superclass out if it's
5933 already being laid out.
5934 * jcf-parse.c (handle_innerclass_attribute): New function.
5935 (HANDLE_INNERCLASSES_ATTRIBUTE): Invoke
5936 handle_innerclasses_attribute.
5937 (jcf_parse): Don't load an innerclasses if it's already being
5938 laid out.
5939 * jcf-write.c (append_innerclass_attribute_entry): Static
5940 `anonymous_name' and its initialization deleted. `ocii' and `ini'
5941 to be zero for anonymous classes.
5942
59432001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
5944
5945 * class.c (set_constant_value): Set DECL_FIELD_FINAL_IUD if
5946 necessary.
5947 * jcf-parse.c (set_source_filename): Use
5948 MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC if necessary.
5949
59502001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
5951
5952 * expr.c (build_jni_stub): Set DECL_CONTEXT on `meth_var' so it
5953 gets a unique asm name.
5954
59552001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
5956
5957 * jcf-parse.c (HANDLE_END_METHODS): Nullify current_method.
5958 (HANDLE_START_FIELD): Invoke MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC
5959 if necessary.
5960 (HANDLE_SYNTHETIC_ATTRIBUTE): New macro.
5961 * jcf-reader.c (get_attribute): Handle `Synthetic' attribute.
5962 * parse.y (lookup_package_type_and_set_next): Deleted.
5963 (resolve_package): Removed unnecessary code.
5964 (find_applicable_accessible_methods_list): `finit$' can't be
e64c46ce 5965 inherited.
493d561d
APB
5966 * verify.c (pop_argument_types): Added missing prototype.
5967
7c01b2b5
BM
59682001-01-23 Bryce McKinlay <bryce@albatross.co.nz>
5969
5970 * config-lang.in: Disable java by default.
5971
80261b56
TT
59722001-01-23 Tom Tromey <tromey@redhat.com>
5973
5974 * gcj.texi (Copying): New node.
5975 Added copyright information.
5976
a4796c80
PB
59772001-01-21 Per Bothner <per@bothner.com>
5978
5979 Various fixes to allow compiling a compressed .jar/.zip archive.
5980 * zipfile.h (struct ZipFileCache): Replace by struct ZipFile.
5981 (struct ZipFile): Add fields name and next (from ZipFileCache).
5982 (struct ZipDirectory): New field zipf points to owning ZipFile.
5983 * jcf.h (struct ZipDirectory): Add forward declaration.
5984 (struct JCF): Declare zipd field to have type struct ZipDirectory.
5985 Remove seen_in_zip and zip_offset fields.
5986 (JCF_SEEN_IN_ZIP): New macro.
5987 * zextract.c (read_zip_archive): Set ZipDirectory's zipf field.
5988 * jcf-io.c: Change all ZipFileCache to ZipFile.
5989 (read_zip_member): New function.
5990 (open_in_zip): Call read_zip_member.
5991 * jcf-parse.c (find_in_current_zip): Remove function.
5992 (read_class): Merge in find_in_current_zip functionality.
5993 Call read_zip_member if needed.
5994 (parse_zip_file_entries): Use read_zip_member.
5995 (process_zip_dir): Update for removed and added JCF fields.
5996 (jcf_figure_file_type): Re-use, don't copy initial ZipFile struct.
5997
b5c4fed9
PB
59982001-01-21 Per Bothner <per@bothner.com>
5999
6000 Minor optimization of static ggc roots.
6001 * jcf-parse.c (parse_roots): New static field.
6002 (current_field, current_method, current_file_list): Replace by macros
6003 naming fields of parse_roots.
6004 (init_jcf_parse): Combine 3 ggc_add_tree_root calls to 1.
6005 * class.c (class_roots): New static field.
6006 (registered_class, fields_ident, info_ident, class_list):
6007 New macros naming fields of parse_roots.
6008 (build_static_field_ref): Don't register roots here.
6009 (layout_class): Static field list replaced by macro class_list.
6010 (init_class_processing): Call ggc_add_tree_root for 4 roots.
6011 Initialize fields_ident and info_ident here.
6012
3432b91b
PB
60132001-01-21 Per Bothner <per@bothner.com>
6014
6015 * jcf-parse.c (ggc_mark_jcf): New function.
6016 (init_jcf_parse): Register current_jcf as ggc root.
6017
2c36c7fd
PB
60182001-01-21 Per Bothner <per@bothner.com>
6019
6020 * lang.c (put_decl_node): Print method's name.
6021
9c0c88ac
PB
60222001-01-21 Per Bothner <per@bothner.com>
6023
6024 * verify.c (VERIFICATION_ERROR_WITH_INDEX): New macro.
6025 (verify_jvm_instructions): Use it, for better error messages on loads.
6026
230cbd5f
PB
60272001-01-21 Per Bothner <per@bothner.com>
6028
c4faeb92 6029 * verify.c (merge_type_state): Still may have to merge even if
230cbd5f
PB
6030 LABEL_VERIFIED (label).
6031
e6b6db0d
PB
60322001-01-21 Per Bothner <per@bothner.com>
6033
6034 * parse.y (method_header): Don't set the DECL_NAME of a FUNCTION_DECL
6035 to a EXPR_WITH_FILE_LOCATION - that is just too fragile and wrong.
6036
b57300bc
PB
60372001-01-19 Per Bothner <per@bothner.com>
6038
6039 * expr.c (pop_type_0): Only return object_ptr_type_node on mismatch
6040 if expeting an interface type. Refines Tom's change of 2000-09-12.
6041
ee08d4cc
PB
60422001-01-18 Per Bothner <per@bothner.com>
6043
6044 * gcj.texi (Input Options): Mention .java files.
6045
b1117741
APB
60462001-01-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
6047
6048 * lang-options.h (-Wunsupported-jdk11): Removed.
6049 * lang.c (flag_not_overriding): Deleted.
6050 (flag_static_local_jdk1_1): Likewise.
6051 (lang_W_options): Removed "unsupported-jdk11" entry.
6052 * parse.y (java_check_methods): Removed dead code.
6053
2dc73168
TT
60542001-01-17 Tom Tromey <tromey@redhat.com>
6055
6056 Changes suggested by Per Bothner:
6057 * gcj.texi (Input Options): Don't mention input files.
6058 (Code Generation): Updated --main information.
6059 (Invoking jcf-dump): Mention that --javap is incomplete.
6060 From Alexandre Petit-Bianco:
6061 (Warnings): Don't mention -Wunsupported-jdk11.
6062 My stuff:
6063 (Compatibility): Mention JDK 1.2-ness of libraries.
6064 (Resources): Mention resources used when writing gcj.
6065
bc65b5ec
TT
60662001-01-17 Tom Tromey <tromey@redhat.com>
6067
6068 * gcj.texi: New file.
6069 * Make-lang.in ($(srcdir)/java/gcj.info): New target.
6070 (java.info): Depend on gcj.info.
6071 (java/gcj.dvi): New target.
6072 (java.dvi): Depend on gcj.dvi.
6073 (java.install-info): Wrote.
6074
930f6690
JS
60752001-01-16 Jeff Sturm <jeff.sturm@appnet.com>
6076
6077 * expr.c (java_lang_expand_expr): Use TREE_SYMBOL_REFERENCED after
6078 having called make_decl_rtl.
6079
00b4575d
PB
60802001-01-14 Per Bothner <per@bothner.com>
6081
984ad2c6
PB
6082 Various patches to emit better messages on verification errors.
6083 * expr.c (push_type_0): Return error indication on stack overflow,
6084 instead of callinfg fatal.
6085 (push_type): Now just call push_type_0 (nd fatal on overflow).
6086 (pop_type_0): Return detailed error message (in a char** argument).
6087 (pop_type): If pop_type_0 fails, print error message.
6088 (pop_argument_types): Moved to verify.c.
6089 * verify.c (pop_argument_types): Moved from expr.c.
6090 Return a (possible) error message, rather than void.
6091 (POP_TYPE, POP_TYPE_CONV, PUSH_TYPE, PUSH_PENDING): New macros.
6092 (verify_jvm_instruction): Use new macros, improving error messages.
6093 For case OPCODE_astore use object_ptr_type_node.
6094 * java-tree.h (TYPE_UNDERFLOW, TYPE_UNEXPECTED): New macros.
6095 (pop_type_0, push_type_0, pop_argument_types): Update accordingly.
6096
00b4575d
PB
6097 * parse.y (java_complete_lhs case EXPR_WITH_FILE_LOCATION): If body is
6098 constant, return body without wrapper. (Improves constant folding.)
6099 * lex.c (build_wfl_node): Clear TREE_TYPE from returned node.
6100
d9da31dd
PB
61012001-01-13 Per Bothner <per@bothner.com>
6102
6103 * expr.c (expand_java_field_op): Assigning to a final field outside
6104 an initializer does not violate JVM spec, so should be warning, not
6105 error. (Sun's verifier does not complain - though MicroSoft's does.)
e64c46ce 6106
a67a383a
JM
61072001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
6108
6109 * gjavah.c (version), jcf-dump.c (version): Update copyright year
6110 to 2001.
6111
7e1376a1
BM
61122001-01-11 Bryce McKinlay <bryce@albatross.co.nz>
6113
6114 * parse.y (resolve_expression_name): Permit instance variables from
6115 enclosing context in super constructor call.
6116 (resolve_qualified_expression_name): Permit enclosing class's qualified
6117 "this" in super constructor call.
6118
6c418184
MM
61192001-01-10 Mark Mitchell <mark@codesourcery.com>
6120
6121 * class.c (build_utf8_ref): Remove last argument in call to
6122 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
6123 (build_class_ref): Likewise.
6124 (build_static_field_ref): Likewise.
6125 (get_dispatch_table): Likewise.
6126 (layout_class_method): Likewise.
6127 (emit_register_classes): Likewise.
6128 * constants.c (build_constant_data_ref): Likewise.
6129 * decl.c (builtin_function): Likewise.
6130 (create_primitive_vtable): Likewise.
6131 * expr.c (build_known_method_def): Likewise.
6132 (build_jni_stub): Likewise.
6133 (java_lang_expand_expr): Likewise.
e64c46ce 6134
0adc3d8a
TT
61352001-01-10 Tom Tromey <tromey@redhat.com>
6136
6137 * jvspec.c (jvgenmain_spec): Omit -fencoding from cc1 invocation.
6138
761491c8
APB
61392001-01-08 Alexandre Petit-Bianco <apbianco@cygnus.com>
6140
6141 * java-tree.h (lang_printable_name_wls): New prototype.
6142 * lang.c (put_decl_name): Removed dead code. Use DECL_CONTEXT
6143 rather than `current_class' to print type name. Don't prepend type
6144 names when printing constructor names.
6145 (lang_printable_name_wls): New function.
6146 * jcf-parse.c (jcf_parse_source): Pass NULL `file' argument to
6147 `build_expr_wfl', alway set EXPR_WFL_FILENAME_NODE.
6148 * parse.y (patch_method_invocation): Message tuned for constructors.
6149 (not_accessible_p): Grant `private' access from within
6150 enclosing contexts.
e64c46ce 6151
dc08e603
APB
61522001-01-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
6153
6154 All files with updated copyright when applicable.
6155 * Make-lang.in (JVGENMAIN_OBS): Removed java/mangle.o.
6156 * class.c (mangle_class_field): Function removed.
6157 (append_gpp_mangled_type, mangle_static_field, mangle_field): Likewise.
6158 (utf8_cmp, cxx_keyword_p): Moved to lex.c.
6159 (build_class_ref): Call `java_mangle_class_field' instead of
6160 `mangle_class_field.'
6161 (build_dtable_decl): Rewritten to call `java_mangle_vtable.'
e64c46ce 6162 (layout_class): Call `java_mangle_decl' instead of
dc08e603
APB
6163 `mangle_static_field.'
6164 (cxx_keywords): Initialized static array moved to `lex.c.'
6165 (layout_class_method): Changed leading comment. Simplified to
6166 call `java_mangle_decl.' Local `ptr' moved in for loop body.
6167 * decl.c (lang_mark_tree): Mark field `package_list.'
6168 * java-tree.h (TYPE_PACKAGE_LIST): New macro.
6169 (struct lang_type): New field `package_list.'
6170 (unicode_mangling_length): Prototype removed.
6171 (append_gpp_mangled_name, append_gpp_mangled_classtype,
6172 emit_unicode_mangled_name): Likewise.
6173 (cxx_keyword_p): New prototype.
6174 (java_mangle_decl, java_mangle_class_field,
6175 java_mangle_class_field_from_string, java_mangle_vtable): Likewise.
6176 * jcf-parse.c (jcf_parse_source): Constify `file' argument to
6177 `build_expr_wfl.'
6178 * jvgenmain.c (main_method_prefix): Global variable removed.
6179 (main_method_suffix): Likewise.
6180 (do_mangle_classname): New function.
a83f01f0 6181 (main): Call it. Format changed to accommodate new mangling scheme.
dc08e603
APB
6182 * lex.c: (utf8_cmp): Conditionally prototyped.
6183 (cxx_keywords): Moved from class.c, conditionally defined.
6184 (utf8_cmp, cxx_keyword_p): Likewise.
6185 * mangle.c (obstack.h, ggc.h): Included.
6186 (mangle_field_decl): New function.
6187 (mangle_method_decl, mangle_type, mangle_pointer_type,
6188 mangle_array_type, mangle_record_type,
6189 find_compression_pointer_match, find_compression_array_match,
6190 find_compression_record_match,
6191 find_compression_array_template_match, set_type_package_list,
6192 entry_match_pointer_p, emit_compression_string, init_mangling,
6193 finish_mangling, compression_table_add, mangle_member_name): Likewise.
6194 (mangle_obstack): New global.
6195 (MANGLE_RAW_STRING): New macro.
6196 (unicode_mangling_length): Turned static.
6197 (append_unicode_mangled_name): Renamed from
6198 `emit_unicode_mangled_name.' Turned static. `mangle_obstack'
6199 replaces `obstack', removed from the parameter list.
6200 (append_gpp_mangled_name): Turned static. `mangle_obstack'
e64c46ce 6201 replaces parameter `obstack', removed from the parameter list. Call
dc08e603
APB
6202 `append_unicode_mangled_name' instead of `emit_unicode_mangled_name.
6203 (append_gpp_mangled_classtype): Removed.
6204 (compression_table, compression_next): New static variables.
6205 * parse.y (temporary_obstack): Extern declaration removed.
6206
761491c8
APB
62072001-01-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
6208
6209 * parse.y (patch_binop): Compute missing type in error situations.
6210
5bb11b2e
BM
62112001-01-05 Bryce McKinlay <bryce@albatross.co.nz>
6212
6213 * class.c (make_class_data): Push initial value for "arrayclass".
6214 * decl.c (init_decl_processing): Add new class field "arrayclass".
6215
ac39dac0
BM
62162001-01-05 Bryce McKinlay <bryce@albatross.co.nz>
6217
6218 From patha@softlab.ericsson.se:
e64c46ce 6219 * parse.y (switch_label): Use build, not build1, to construct
ac39dac0
BM
6220 DEFAULT_EXPR.
6221
a5a4ce3c
NB
62222001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
6223
6224 * lang.c (lang_decode_option): Change -MA to -MP.
6225 * jcf-depend.c (jcf_dependency_add_target, jcf_dependency_set_target):
6226 Update to new prototype; do quote targets.
6227 (jcf_dependency_write): Update.
6228
d27fd99a
BM
62292000-12-22 Bryce McKinlay <bryce@albatross.co.nz>
6230
6231 Shorten primitive array allocation path:
6232 * decl.c (init_decl_processing): Use _Jv_NewPrimArray not _Jv_NewArray
6233 to create new primitive arrays.
e64c46ce 6234 * expr.c (build_newarray): If generating native code, call
d27fd99a
BM
6235 soft_newarray_node with a reference to the primitive TYPE identifier
6236 instead of type_value.
e64c46ce 6237
c1eacb70
BM
62382000-12-17 Bryce McKinlay <bryce@albatross.co.nz>
6239
6240 Fix for PRs gcj/312 and gcj/253:
6241 * parse.y (valid_ref_assignconv_cast_p): Load classes for source and
6242 dest if they arn't already.
e64c46ce 6243 * class.c (layout_class): Call maybe_layout_super_class on
c1eacb70
BM
6244 superinterfaces also, but only if compiling from bytecode.
6245
6d003d5c
BM
6246 Fix for PR gcj/373:
6247 * parse.y (create_class): Set ACC_STATIC if class is declared in an
6248 interface.
6249
325de66c
TT
62502000-12-15 Tom Tromey <tromey@redhat.com>
6251
6252 * jcf-parse.c (jcf_parse_source): Set wfl_operator if not already
6253 set.
6254
e35990c4
AH
62552000-12-14 Andrew Haley <aph@redhat.com>
6256
6257 * boehm.c (mark_reference_fields): Change test to correctly detect
6258 bitmap overflow.
6259
53714cda
AJ
62602000-12-15 Andreas Jaeger <aj@suse.de>
6261
6262 * config-lang.in (lang_dirs): Added.
6263
1e0cdc10
APB
62642000-12-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
6265
6266 * parse.y (end_artificial_method_body): Fixed undefined behavior.
6267 Credits go to rth for finding it.
6268
e9e42530
MS
62692000-12-13 Mike Stump <mrs@wrs.com>
6270
6271 * parse.y (check_static_final_variable_assignment_flag): Fix spelling.
6272
3f27e3f8
TT
62732000-11-07 Tom Tromey <tromey@cygnus.com>
6274
6275 * Make-lang.in (JAVA_LEX_C): Added chartables.h.
6276 * lex.c (java_ignorable_control_p): Removed.
6277 (java_letter_or_digit_p): Removed.
6278 (java_start_char_p): New function.
6279 (java_read_char): Return `int', not `unicode_t'. Changed
6280 callers.
6281 (java_read_unicode): Likewise.
6282 (java_read_unicode_collapsing_terminators): Likewise.
6283 (java_get_unicode): Likewise.
6284 (java_new_lexer): Initialize hit_eof.
6285 (java_parse_end_comment): Take `int' argument.
6286 (java_parse_doc_section): Likewise.
6287 (java_parse_escape_sequence): Don't allow backlash-newline.
6288 Return `int'.
6289 * lex.h (JAVA_DIGIT_P): Removed.
6290 (_JAVA_LETTER_OR_DIGIT_P): Removed.
6291 (_JAVA_IDENTIFIER_IGNORABLE): Removed.
6292 (JAVA_START_CHAR_P): Renamed from JAVA_ID_CHAR_P.
6293 (JAVA_PART_CHAR_P): New macro.
6294 (UEOF): Now -1.
6295 (JAVA_CHAR_ERROR): Now -2.
6296 (java_lexer): New field `hit_eof'.
6297 * chartables.h: New file.
6298 * gen-table.pl: new file.
6299
568aac9c 63002000-11-20 Tom Tromey <tromey@cygnus.com>
9a07cfaf 6301 Alexandre Petit-Bianco <apbianco@cygnus.com>
568aac9c
TT
6302
6303 * parse.y (java_complete_lhs): Only allow compound assignment of
6304 reference type if type is String.
6305
f34ff6d6
APB
63062000-12-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
6307
6308 * Make-lang.in (java/jcf-path.o:): libgcj.jar replaces libgcj.zip.
6309 jcf-path.c: Likewise.
6310
6e5589e8
AG
63112000-12-09 Anthony Green <green@redhat.com>
6312
6313 * zipfile.h (ZipDirectory): Declare size, uncompressed_size,
6314 filestart and filename_length as int values.
6315
8000caee
MD
63162000-12-07 Mo DeJong <mdejong@redhat.com>
6317
6318 * jcf-io.c (find_class): Correct the logic that tests to see if a
6319 .java file is newer than its .class file. The compiler was
6320 incorrectly printing a warning when file mod times were equal.
6321
f6bbde28
ZW
63222000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
6323
6324 * jvgenmain.c: Use ISPRINT not isascii.
6325
46142b26
APB
63262000-12-06 Alexandre Petit-Bianco <apbianco@cygnus.com>
6327
6328 * parse.y (end_artificial_method_body): Fixed typo.
6329
f8b93ea7
APB
63302000-12-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
6331
6332 * parse.y (patch_method_invocation): Pick the correct enclosing
6333 context when creating inner class instances.
6334 Fixes gcj/332.
6335
45441c5b
JM
63362000-11-26 Joseph S. Myers <jsm28@cam.ac.uk>
6337
6338 * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
6339 Update copyright year to 2000.
6340
1510057a
AG
63412000-11-23 Anthony Green <green@redhat.com>
6342
6343 * jcf-parse.c (init_jcf_parse): Register current_file_list root.
6344 Move current_file_list out of yyparse and make it static.
6345
6346 * expr.c: Declare quick_stack and tree_list_free_list as static
6347 (init_expr_processing): Register quick_stack and
6348 tree_list_free_list roots.
6349
5e18f6d6
APB
63502000-11-22 Alexandre Petit-Bianco <apbianco@cygnus.com>
6351
6352 * parse.y (build_outer_field_access): New local `decl_ctx', use
6353 it. Check for field's context and current class immediate outer
6354 context inheritance.
6355 (outer_field_access_p): Consider fields inherited from the last
6356 enclosing context.
6357 (build_access_to_thisn): Stop at the last enclosing context if
6358 necessary.
6359 Fixes gcj/367.
6360
62c9aa5f 63612000-11-23 J"orn Rennecke <amylaar@redhat.com>
9196ece5
R
6362
6363 * Make-lang.in (jvspec.o): Depend on $(CONFIG_H).
6364
c385cdf6
BM
63652000-11-22 Bryce McKinlay <bryce@albatross.co.nz>
6366
6367 * jcf-parse.c (get_constant): Call UT8_CHAR_LENGTH on `utf8', not the
6368 scratch buffer.
6369
1535cc88
TT
63702000-11-20 Tom Tromey <tromey@cygnus.com>
6371
6372 * jv-scan.c (help): Document --complexity.
6373 (options): Added --complexity.
6374 (flag_complexity): New global.
6375 (main): Call `report'.
6376 * parse-scan.y (complexity): New global.
6377 (if_then_statement, if_then_else_statement,
6378 if_then_else_statement_nsi, switch_block_statement_group,
6379 while_expression, do_statement, for_begin, continue_statement,
6380 throw_statement, catch_clause, finally, method_invocation,
6381 conditional_and_expression, conditional_or_expression,
6382 conditional_expression): Update complexity.
6383 (reset_report): Reset complexity.
6384 (report): New function.
6385
d828bc42
TT
63862000-11-20 Tom Tromey <tromey@cygnus.com>
6387
6388 * lex.c (yylex): Added STRICT_TK case.
6389 * parse.y (STRICT_TK): Added.
6390 * parse-scan.y (STRICT_TK): Added.
6391 * Make-lang.in ($(srcdir)/java/keyword.h): Added missing `\' and
6392 `;'. Use 4, not 3, with -k option. Correctly rename resulting
6393 file.
6394 * keyword.h: Rebuilt.
6395 * keyword.gperf (strictfp): Added.
6396
4e7842a0
TT
63972000-11-20 Tom Tromey <tromey@cygnus.com>
6398
6399 * lex.c (yylex): Recognize floating point constants with leading
6400 0.
6401
7e9355c6
KG
64022000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6403
6404 * java-tree.h (cyclic_inheritance_report): Constify.
6405 * parse.y (cyclic_inheritance_report): Likewise.
6406
a8a05998
ZW
64072000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
6408
6409 * parse.y (goal): Remove call to ggc_add_string_root.
6410
520a57c8
ZW
64112000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
6412
6413 * jcf-parse.c (get_constant), parse.y (do_merge_string_cste):
6414 Create string in scratch buffer, then pass to build_string.
6415
88f3c477
JM
64162000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
6417
6418 * parse.y (issue_warning_error_from_context): Add
6419 ATTRIBUTE_PRINTF.
6420
ac51395d
AG
64212000-11-11 Anthony Green <green@redhat.com>
6422
6423 * jcf-parse.c (process_zip_dir): Add finput parameter.
6424 (jcf_figure_file_type): Call process_zip_dir with appropriate
6425 argument.
6426
4e135bdd
KG
64272000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6428
6429 * decl.c (copy_lang_decl): Use memcpy, not bcopy.
6430 * jcf-parse.c (jcf_figure_file_type): Likewise.
6431
2e09e75a
JM
64322000-11-09 Joseph S. Myers <jsm28@cam.ac.uk>
6433
6434 * parse.y (create_new_parser_context): Use memset () instead of
6435 bzero ().
6436
136c35df
TT
64372000-11-08 Tom Tromey <tromey@cygnus.com>
6438
6439 * gjavah.c (process_file): Only include gcj/cni.h when generating
6440 CNI stubs.
6441
961192e1
JM
64422000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
6443
6444 * expr.c (note_instructions), jcf-io.c (find_class), jcf-parse.c
6445 (init_outgoing_cpool), lex.c (java_init_lex): Use memset ()
6446 instead of bzero ().
6447
099a5150
TT
64482000-11-05 Tom Tromey <tromey@cygnus.com>
6449
6450 * lex.h (JAVA_FLOAT_RANGE_ERROR): Typo fix.
6451 * lex.c (IS_ZERO): New define.
6452 (java_perform_atof): Error on floating point underflow.
6453
cbf53a1d
TT
64542000-11-04 Tom Tromey <tromey@cygnus.com>
6455
6456 * lex.c (java_parse_escape_sequence): Only read two octal
6457 characters if the first one is greater than 3. Don't allow
6458 "octal" numbers to include the digits 8 or 9.
6459
436a88a6
JM
64602000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
6461
6462 * Make-lang.in (java.distdir): Remove.
6463
747800ee
TT
64642000-11-03 Tom Tromey <tromey@cygnus.com>
6465
4e2c8d44
TT
6466 * Make-lang.in (java.dvi): New target.
6467 Partial fix for PR other/567.
6468
b7436b72
TT
6469 * lang-options.h: Mention -Wout-of-date.
6470 * jcf-dump.c (flag_newer): New global.
6471 * gjavah.c (flag_newer): New global.
6472 * jcf-io.c (find_class): Only warn when flag_newer set.
6473 * lang.c (flag_newer): New global.
6474 (struct string_option): New declaration.
6475 (lang_W_options): New global.
6476 (process_option_with_no): New function.
6477 (lang_decode_option): Use it.
6478
0160fbe1
TT
6479 * class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
6480 * gjavah.c (cxx_keyword_subst): Handle any number of trailing
6481 `$'.
6482
747800ee
TT
6483 * lex.h (_JAVA_IDENTIFIER_IGNORABLE): New macro.
6484 (JAVA_ID_CHAR_P): Also try java_ignorable_control_p.
6485 * lex.c (java_read_unicode): Removed `term_context' argument.
6486 Recognize any number of `u' in `\u'.
6487 (java_read_unicode_collapsing_terminators): New function.
6488 (java_get_unicode): Use it.
6489 (java_lineterminator): Removed.
6490 (yylex): Produce error if character literal is newline or single
6491 quote. Return if eof found in middle of `//' comment. EOF in
6492 `//' comment is only an error if pedantic.
6493 (java_ignorable_control_p): New function.
6494 (java_parse_end_comment): Return if eof found in middle of
6495 comment.
6496 Include flags.h.
6497 * jv-scan.c (pedantic): New global.
6498
ee5f86dc
APB
64992000-10-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
6500
6501 * parse.y (outer_field_access_p): Inherited fields aren't
6502 consider outer fields.
6503 (maybe_build_thisn_access_method): Use
6504 PURE_INNER_CLASS_TYPE_P instead of INNER_CLASS_TYPE_P.
6505 (resolve_expression_name): Trigger an error if a static field
6506 is being accessed as an outer field.
6507
7ccd2fc9 65082000-10-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
f6bbde28 6509
7ccd2fc9
APB
6510 * Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
6511 Fixes gcj/365.
6512
b8dad04b
ZW
65132000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
6514
6515 * Make-lang.in: Move all build rules here from Makefile.in,
6516 adapt to new context. Wrap all rules that change the current
6517 directory in parentheses. Expunge all references to $(P).
6518 When one command depends on another and they're run all at
6519 once, use && to separate them, not ;. Add OUTPUT_OPTION to
6520 all object-file generation rules. Delete obsolete variables.
6521
6522 * Makefile.in: Delete.
6523 * config-lang.in: Delete outputs= line.
6524
2cb3951d
APB
65252000-10-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
6526
6527 * parse.y (patch_method_invocation): NULLify this_arg when already
6528 inserted.
6529 (maybe_use_access_method): Handle call to methods unrelated to the
6530 current class. Fixed comment.
6531 Fixes gcj/361.
6532
ee5f86dc
APB
65332000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
6534
6535 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Check inherited type in
6536 scope.
6537
07b5e470
TT
65382000-10-24 Tom Tromey <tromey@cygnus.com>
6539
6540 * lex.c (java_new_lexer): Initialize new fields. Work around
6541 broken iconv() implementations.
6542 (java_read_char): Swap bytes if required. Use fallback decoder if
6543 required.
6544 (byteswap_init, need_byteswap): New globals.
6545 (java_destroy_lexer): Only close iconv handle if it is in use.
6546 * lex.h (java_lexer): New fields read_anything, byte_swap,
6547 use_fallback.
6548 Made out_buffer unsigned.
6549
8ac1de05
APB
65502000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
6551
6552 * parse.y (register_incomplete_type): Include JDEP_FIELD as a case
6553 where an enclosing context can be set on the jdep.
6554 (do_resolve_class): Fixed identation.
6555
80393943
KG
65562000-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6557
6558 * gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define
f6bbde28 6559
80393943
KG
6560 * jcf-reader.c (peek_attribute, skip_attribute): Only define
6561 when requested.
6562
6563 * parse.h (yyerror): If JC1_LITE, mark with ATTRIBUTE_NORETURN.
6564
6565 * verify.c (CHECK_PC_IN_RANGE): Cast result of stmt-expr to void.
6566
c7303e41
APB
65672000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
6568
6569 * jcf-write.c (OP1): Update `last_bc'.
6570 (struct jcf_block): Fixed indentation and typo in comments. New
6571 field `last_bc'.
6572 (generate_bytecode_insns): Insert `nop' if `jsr' immediately
6573 follows `monitorenter'.
6574 * parse.y (patch_synchronized_statement): New local `tmp'. Call
6575 `patch_string'.
6576 Fixes gcj/232.
6577
316a06a1
TT
65782000-10-16 Tom Tromey <tromey@cygnus.com>
6579
6580 * jvspec.c (lang_specific_driver): Recognize -MF and -MT.
6581 * lang-specs.h: Added %{MA}, %{MF*}, %{MT*}.
6582 * lang-options.h: Added -MA, -MT, -MF..
6583 * lang.c (lang_decode_option): Recognize -MA, -MT, -MF.
6584 (DEPEND_TARGET_SET): New macro.
6585 (DEPEND_FILE_ALREADY_SET): Likewise.
6586 (init_parse): Handle new flags.
6587 * jcf.h (jcf_dependency_print_dummies): Declare.
6588 * Make-lang.in (s-java): Added mkdeps.o.
6589 * Makefile.in (BACKEND): Added mkdeps.o.
6590 (../gcjh$(exeext)): Added mkdeps.o.
6591 (../jcf-dump$(exeext)): Added mkdeps.o.
6592 * jcf-depend.c: Include mkdeps.h.
6593 (struct entry, dependencies, targets, MAX_OUTPUT_COLUMNS,
6594 add_entry): Removed.
6595 (jcf_dependency_reset): Rewrote.
6596 (dependencies): New global.
6597 (jcf_dependency_set_target): Rewrote.
6598 (jcf_dependency_add_target): Likewise.
6599 (jcf_dependency_add_file): Likewise.
6600 (munge): Removed.
6601 (print_ents): Removed.
6602 (jcf_dependency_write): Rewrote.
6603 (print_dummies): New global.
6604 (jcf_dependency_print_dummies): New function
6605 (jcf_dependency_write): Call deps_dummy_targets if required.
6606
dba41d30
APB
66072000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
6608
6609 * gjavah.c (add_class_decl): Removed unused variables `tname',
6610 `tlen' and `name_index'.
6611 * java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): New macro.
6612 * jcf-parse.c (jcf_parse_source): Use it and set EXPR_WFL_FILENAME
6613 in `wfl_operator' with value.
6614 (yyparse): Use BUILD_FILENAME_IDENTIFIER_NODE.
6615 (jcf_figure_file_type): Fixed identation.
6616 * lex.c (java_get_line_col): Use EOF. Tuned `^' placement.
6617 * parse.y (analyze_clinit_body): New function.
6618 (static_initializer:): Reset `current_static_block'.
6619 (java_parser_context_restore_global): Set EXPR_WFL_FIILENAME_NODE in
6620 `wfl_operator' with new value.
6621 (lookup_cl): Use EXPR_WFL_FILENAME.
6622 (maybe_yank_clinit): Handle bogus <clinit> bodies, call
6623 analyze_clinit_body.
6624 (build_outer_field_access): Access to this$<n> built from
6625 current_class, not its outer context.
6626 (build_access_to_thisn): Fixed leading comment. Tidied things up.
f6bbde28 6627 (resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'.
dba41d30
APB
6628 (patch_method_invocation): Use `is_static_flag' when already
6629 initialized.
6630 (patch_newarray): Removed assignment in ternary operator.
6631
1a2ebe6d
APB
66322000-10-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
6633
dba41d30 6634 * except.c (free_eh_ranges): Don't free `whole_range'.
1a2ebe6d 6635
8e7ab3ff
AG
66362000-10-15 Anthony Green <green@redhat.com>
6637
6638 * decl.c (init_decl_processing): Call init_class_processing before
6639 anything else.
6640
c7303e41
APB
66412000-10-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
6642
6643 * check-init.c (check_init): Fixed leading comment. Use
6644 LOCAL_FINAL_P.
6645 * decl.c (push_jvm_slot): Use MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC.
6646 (give_name_to_locals): Likewise.
6647 (lang_mark_tree): Handle FIELD_DECL. Register `am' and `wfl'
6648 fields in lang_decl_var.
6649 * java-tree.h (DECL_FUNCTION_SYNTHETIC_CTOR,
6650 DECL_FUNCTION_ALL_FINAL_INITIALIZED): New macros.
6651 (FIELD_INNER_ACCESS): Removed ugly cast, macro rewritten.
6652 (FIELD_INNER_ACCESS_P, DECL_FIELD_FINAL_IUD, DECL_FIELD_FINAL_LIIC,
6653 DECL_FIELD_FINAL_IERR, DECL_FIELD_FINAL_WFL): New macros.
6654 (LOCAL_FINAL): Rewritten.
6655 (LOCAL_FINAL_P, FINAL_VARIABLE_P, CLASS_FINAL_VARIABLE_P
6656 MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): New macros.
6657 (struct lang_decl): Fixed comments. Added `synthetic_ctor' and
6658 `init_final' fields.
6659 (struct lang_decl_var): Fixed leading comment. Added `am', `wfl',
6660 `final_uid', `final_liic', `final_ierr' and `local_final' fields.
6661 (TYPE_HAS_FINAL_VARIABLE): New macro.
6662 (struct lang_type): Added `afv' field.
6663 * parse.y (check_static_final_variable_assignment_flag): New function.
6664 (reset_static_final_variable_assignment_flag): Likewise.
6665 (check_final_variable_local_assignment_flag): Likewise.
6666 (reset_final_variable_local_assignment_flag): Likewise.
6667 (check_final_variable_indirect_assignment): Likewise.
6668 (check_final_variable_global_assignment_flag): Likewise.
6669 (add_inner_class_fields): Use LOCAL_FINAL_P.
6670 (register_fields): Handle local finals and final variables.
6671 (craft_constructor): Set DECL_FUNCTION_SYNTHETIC_CTOR.
6672 (declare_local_variables): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC.
6673 (source_start_java_method): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC
6674 on local finals.
6675 (java_complete_expand_methods): Loop to set
6676 TYPE_HAS_FINAL_VARIABLE. Call
f6bbde28 6677 `reset_final_variable_local_assignment_flag' and
c7303e41
APB
6678 `check_final_variable_local_assignment_flag' accordingly before
6679 and after constructor expansion. Call
6680 `reset_static_final_variable_assignment_flag'
f6bbde28 6681 before expanding <clinit> and after call
c7303e41
APB
6682 `check_static_final_variable_assignment_flag' if the
6683 current_class isn't an interface. After all methods have been
6684 expanded, call `check_final_variable_global_assignment_flag' and
6685 `check_static_final_variable_assignment_flag' if the current class
f6bbde28 6686 is an interface.
c7303e41
APB
6687 (maybe_yank_clinit): Fixed typo in comment.
6688 (build_outer_field_access_methods): Removed old sanity check. Use
6689 FIELD_INNER_ACCESS_P. Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC.
6690 Don't create access methods for finals.
6691 (resolve_field_access): Use `CLASS_FINAL_VARIABLE_P'.
6692 (java_complete_tree): Likewise. Reset DECL_FIELD_FINAL_IUD if
f6bbde28 6693 existing DECL_INIT has been processed.
c7303e41
APB
6694 (java_complete_lhs): Likewise.
6695 (check_final_assignment): Filter input on `lvalue''s TREE_CODE.
6696 Test for COMPONENT_REF to get to the FIELD_DECL. Implemented new
6697 logic.
6698 (patch_assignment): Use LOCAL_FINAL_P.
6699 (fold_constant_for_init): Reset DECL_FIELD_FINAL_IUD if
6700 DECL_INITIAL is nullified.
6701 Fixes gcj/163.
6702
4b945402
KG
67032000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6704
6705 * Make-lang.in (parse.c, parse-scan.c): Create atomically.
f6bbde28 6706
4b945402
KG
6707 * Makefile.in (parse.c, parse-scan.c): Likewise.
6708
1f8f4a0b
MM
67092000-10-12 Mark Mitchell <mark@codesourcery.com>
6710
6711 * class.c (temporary_obstack): Remove.
6712 (make_class): Don't mess with obstascks.
6713 (push_class): Likewise.
6714 (set_super_info): Likewise.
6715 (add_method_1): Likewise.
6716 (add_method): Likewise.
6717 (add_field): Likewise.
6718 (build_utf8_ref): Likewise.
6719 (build_class_ref): Likewise.
6720 (build_static_field_ref): Likewise.
6721 (finish_class): Likewise.
6722 (push_super_field): Likewise.
6723 (layout_class): Likewise.
6724 (layout_class_methods): Likewise.
6725 (init_class_processing): Likewise.
6726 * constants.c (get_tag_node): Likewise.
6727 (build_constant_data_ref): Likewise.
6728 * decl.c (ggc_p): Remove.
6729 (copy_lang_decl): Use ggc_alloc.
6730 (complete_start_java_method): Don't mess with obstacks.
6731 (start_java_method): Likewise.
6732 (end_java_method): Likewise.
6733 * except.c (link_handler): Use xmalloc.
6734 (free_eh_ranges): New function.
6735 (method_init_exceptions): Use it.
6736 (add_handler): Use xmalloc.
6737 (expand_start_java_handler): Don't mess with obstacks.
6738 (prepare_eh_table_type): Likewise.
6739 (expand_end_java_handler): Likewise.
6740 * expr.c (push_value): Likewise.
6741 (create_label_decl): Likewise.
6742 (build_jni_stub): Likewise.
6743 (java_lang_expand_expr): Likewise.
6744 (note_instructions): Use xrealloc.
6745 (java_push_constant_from_pool): Don't mess with obstacks.
6746 (process_jvm_instruction): Likewise.
6747 * java-tree.h (cyclic_inheritance_report): Remove duplicate
6748 declaration.
6749 * jcf-parse.c (get_constant): Don't mess with obstacks.
6750 (read_class): Likewise.
6751 (jcf_parse): Likewise.
a83f01f0 6752 * lex.c (expression_obstack): Remove.
1f8f4a0b
MM
6753 (java_lex): Don't use obstack_free.
6754 * parse.h (exit_java_complete_class): Don't mess with obstacks.
6755 (MANGLE_OUTER_LOCAL_VARIABLE_NAME): Adjust.
6756 (MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID): Likewise.
6757 (MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING): Likewise.
6758 * parse.y (gaol): Add more GC roots.
6759 (add_inner_class_fields): Adjust calls to MANGLE_* macros.
6760 (lookup_field_wrapper): Likewise.
6761 (obtain_incomplete_type): Don't mess with obstacks.
a83f01f0 6762 (build_alias_initializer_parameter_list): Adjust calls to MANGLE_*
1f8f4a0b
MM
6763 macros.
6764 (craft_constructor): Don't mess with obstacks.
6765 (safe_layout_class): Likewise.
6766 (java_complete_class): Likewise.
6767 (source_end_java_method): Likewise.
6768 (build_outer_field_access_methods): Likewise.
6769 (build_outer_method_access_method): Likewise.
6770 (maybe_build_thisn_access_method): Likewise.
6771 (build_dot_class_method_invocation): Likewise.
6772 (java_complete_tree): Likewise.
6773 (java_complete_lhs): Likewise.
6774 (do_merge_string_cste): Likewise.
6775 (patch_string_cst): Likewise.
6776 (array_constructor_check_entry): Likewise.
6777 * typeck.c (build_java_array_type): Likewise.
6778 (parse_signature_string): Likewise.
6779 (build_java_signature): Likewise.
f6bbde28 6780
3c1d1e7b
TT
67812000-10-12 Tom Tromey <tromey@cygnus.com>
6782
6783 Fix for PR gcj/356:
6784 * gjavah.c (add_class_decl): Don't special-case inner classes.
6785 (add_namelet): Likewise.
6786
a93eddcf
APB
67872000-10-11 Rodney Brown <RodneyBrown@mynd.com>
6788
6789 * java-tree.h: Constify current_encoding.
6790 * lang.c: Constify current_encoding.
6791
67922000-10-10 Jeff Sturm <jeff.sturm@appnet.com>
6793
6794 * jvgenmain.c (class_mangling_suffix): Omit `.'.
6795 (main): Use `$' when NO_DOLLAR_IN_LABEL is not set, otherwise `.'.
6796
67972000-10-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
6798
6799 * expr.c (java_lang_expand_expr): Reinstall 1999-08-14 Anthony's
6800 patch. Fixes gcj/340.
6801
2e165c53
TT
68022000-10-10 Tom Tromey <tromey@cygnus.com>
6803
6804 * lex.c (java_new_lexer): Initialize out_first and out_last
6805 fields.
6806 * lex.h (java_lexer): Added out_buffer, out_first, out_last.
6807
c7303e41
APB
68082000-10-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
6809
6810 * parse.y (pop_current_osb): New function.
6811 (array_type:): Use `dims:', changed actions
6812 accordingly. Suggested by Anthony Green.
6813 (array_creation_expression:): Used pop_current_osb.
6814 (cast_expression:): Likewise.
6815 (search_applicable_method_list): Fixed indentation.
6816
68172000-10-08 Anthony Green <green@redhat.com>
6818
6819 * parse.y (array_type_literal): Remove production.
6820 (type_literals): Refer to array_type, not array_type_literal.
6821
29f8b718
APB
68222000-10-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
6823
6824 Patch contributed by Corey Minyard.
6825 * decl.c (check_local_named_variable): New function.
6826 (tree check_local_unnamed_variable): Likewise.
6827 (find_local_variable): Splitted. Call check_local_{un}named_variable.
6828
7fd9a516
AG
68292000-10-07 Anthony Green <green@redhat.com>
6830
6831 * class.c (layout_class): Handle case where superclass can't be
6832 layed out yet.
6833
20d431c9
JM
68342000-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
6835
6836 * Makefile.in (keyword.h): Refer to GNU FTP site for updated
6837 gperf.
6838
e0a0c416
TT
68392000-10-05 Tom Tromey <tromey@cygnus.com>
6840
6841 * jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
6842 * jvgenmain.c (class_mangling_prefix): Removed.
6843 (class_mangling_suffix): New global.
6844 (main): Use it.
6845 * gjavah.c (cxx_keyword_subst): Mangle C++ keywords by appending
6846 `$'.
6847 (print_method_info): Handle overrides for static and final
6848 methods.
6849 (process_file): Generate declaration for class object field.
6850 * class.c (cxx_keywords): New array.
6851 (utf8_cmp): New function.
6852 (cxx_keyword_p): New function.
6853 (layout_class_method): Mangle C++ keywords by appending `$'.
6854 (mangle_field): New function.
6855 (mangle_class_field): Use mangle_field. Mangle class name as
6856 `class$'.
6857 (mangle_static_field): Use mangle_field.
6858
62c9aa5f 68592000-10-03 Alexandre Petit-Bianco <apbianco@cygnus.com>
6e22695a
APB
6860
6861 * decl.c (find_local_variable): Removed uncessary type check and
6862 fixed range check typo. From Corey Minyard.
6863
62c9aa5f 68642000-09-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
6e22695a
APB
6865
6866 * decl.c (give_name_to_locals): New local `code_offset'. Call
e64c46ce 6867 `maybe_adjust_start_pc'.
6e22695a
APB
6868 * expr.c (note_instructions): New function.
6869 (expand_byte_code): Don't collect insn starts here.
6870 (peek_opcode_at_pc): New function.
6871 (maybe_adjust_start_pc): Likewise.
6872 * java-tree.h (maybe_adjust_start_pc): Declare.
6873 (note_instructions): Likewise.
dba41d30 6874 * jcf-parse.c (parse_class_file): Call `note_instructions'.
6e22695a 6875
62c9aa5f 68762000-09-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
6e22695a
APB
6877
6878 * parse.y (field_access:): Fixed indentation.
6879 (qualify_ambiguous_name): Properly qualify `this.a[b].c'.
6880
7e51098e
TT
68812000-09-07 Tom Tromey <tromey@cygnus.com>
6882
6883 Fix for PR gcj/307:
6884 * parse.y (patch_binop): Use JNUMERIC_TYPE_P, not
6885 JPRIMITIVE_TYPE_P, for arithmetic operators.
6886 (patch_method_invocation): Indentation fix.
6887 (try_builtin_assignconv): Handle boolean specially. Fixed typo.
6888 (valid_builtin_assignconv_identity_widening_p): Handle boolean.
6889 (do_unary_numeric_promotion): Cleaned up code.
6890 (valid_cast_to_p): Handle boolean correctly.
6891
5beededc
TT
68922000-09-27 Tom Tromey <tromey@cygnus.com>
6893
6894 * lex.c (java_read_unicode): Reset bs_count when finished with
6895 `\u' sequence.
6896
f15b9af9
MM
68972000-10-01 Mark Mitchell <mark@codesourcery.com>
6898
6899 Convert to GC.
6900 * Make-lang.in (s-java): Don't depend on ggc-callbacks.o.
6901 * Makefile.in (BACKEND): Don't include ggc-callbacks.o.
6902 (typeck.o): Depend on ggc.h.
6903 * class.c (add_method_1): Use GC functions for allocation.
6904 (init_class_processing): Register roots.
6905 * decl.c (ggc_p): Set to 1.
6906 (pending_local_decls): Make it static.
6907 (push_jvm_slot): Use GC functions for allocation.
6908 (init_decl_processing): Register roots.
6909 (give_name_to_locals): Use GC functions for allocation.
6910 (lang_mark_tree): New function.
6911 * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Use GC
6912 functions for allocation.
6913 * jcf-parse.c (jcf_parse_source): Use ggc_strdup.
6914 * lex.c (java_lex): Use build_string, rather than replicating it
6915 inline.
6916 * parse.y (goal): Add more roots.
6917 (mark_parser_ctxt): New function.
6918 * typeck.c: Include ggc.h.
f6bbde28 6919
99eaf8d4
APB
69202000-09-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
6921
6922 * parse.y (maybe_yank_clinit): Also keep <clinit> if its body
6923 contains something else than MODIFY_EXPR.
6924
19e223db
MM
69252000-09-23 Mark Mitchell <mark@codesourcery.com>
6926
6927 * Make-lang.in (JAVA_SRCS): Include java-tree.h.
6928 * Makefile.in (parse.o): Depend on ggc.h.
6929 (class.o): Likewise.
6930 (constants.o): Likewise.
6931 (decl.o): Likewise.
6932 (expr.o): Likewise.
6933 (jcf-parse.o): Likewise.
6934 (jcf-write.o): Likewise.
6935 (mangle.o): Likewise.
6936 * class.c: Include ggc.h.
6937 (build_static_field_ref): Register GC roots.
6938 (layout_class): Likewise.
6939 (init_class_processing): Likewise.
6940 * constants.c: Include ggc.h.
6941 (current_constant_pool_data_ref): Remove.
6942 (tag_nodes): Move it to ...
6943 (get_tag_node): ... here. Register GC roots.
6944 * decl.c: Include ggc.h. Remove many global tree definitions.
6945 (throw_node): Define.
6946 (java_global_trees): Likewise.
6947 (predef_filenames): Make the size a constant.
6948 (init_decl_processing): Adjust accordingly.
6949 (init_decl_processing): Call init_jcf_parse. Register GC roots.
6950 * expr.c: Include ggc.h.
6951 (init_expr_processing): Register GC roots.
6952 (build_invokeinterface): Likewise.
6953 * java-tree.h: Replace extern tree declarations with macros.
6954 (java_global_trees): New variable.
6955 (java_tree_index): New enumeration.
6956 (init_jcf_parse): Declare.
6957 * jcf-parse.c: Include ggc.h.
6958 (current_class): Remove declaration.
6959 (main_class): Likewise.
6960 (all_class_list): Likewise.
6961 (predefined_filename_p): Adjust for constant size of
6962 predef_filenames.
6963 (init_jcf_parse): New function.
6964 * jcf-write.c: Include ggc.h.
6965 (generate_classfile): Register GC roots.
6966 (append_synthetic_attribute): Likewise.
6967 (append_innerclass_attribute_entry): Likewise.
6968 * lang.c: Include ggc.h.
6969 (lang_print_error): Register GC roots.
6970 * parse.h (struct parser_ctxt): Rename fields to avoid conflicts
6971 with macros.
6972 * parse.y: Include ggc.h.
6973 (wfl_operator): Remove.
6974 (goal): Register GC roots.
6975 (java_pop_parser_context): Adjust for new field names.
6976 (java_parser_context_save_global): Likewse.
6977 (java_parser_context_restore_global): Likewise.
6978 (java_parser_context_suspend): Likewise.
6979 (java_parser_context_resume): Likewise.
6980 (verify_constructor_circularity): Register GC roots.
6981 (lookup_cl): Likewise.
6982 (java_reorder_fields): Likewise.
6983 (build_current_this): Likewise.
6984 (class_in_current_package): Likewise.
6985 (argument_types_convertible): Likewise.
6986 (patch_cast): Rename wfl_op parameter to avoid macro conflicts.
f6bbde28 6987
4c4b521a
TT
69882000-09-14 Tom Tromey <tromey@cygnus.com>
6989
6990 * lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
6991
6b8a24cd
TT
69922000-09-13 Tom Tromey <tromey@cygnus.com>
6993
6994 * jcf-parse.c: Include <locale.h>.
6995 * jv-scan.c: Include <locale.h>.
6996
86e4b1e4
TT
69972000-09-12 Tom Tromey <tromey@cygnus.com>
6998
6999 * expr.c (pop_type_0): Return `Object' if trying to merge two
7000 interface types.
7001 * verify.c (merge_types): Don't return `TYPE_UNKNOWN' for
7002 interface types; `Object' is always a valid supertype.
7003
d19cbcb5
TT
70042000-09-12 Tom Tromey <tromey@cygnus.com>
7005
7006 Fix for PR gcj/33:
7007 * jv-scan.c (help): Document --encoding.
7008 (options): Added `encoding' entry.
7009 (OPT_ENCODING): New define.
7010 (main): Handle --encoding.
7011 Include <langinfo.h> if nl_langinfo exists.
7012 * lang-options.h: Document --classpath, --CLASSPATH, --main, and
7013 --encoding.
7014 * jcf-parse.c Include <langinfo.h> if we have nl_langinfo.
7015 (parse_source_file): Correctly call java_init_lex. Added `finput'
7016 argument. Use nl_langinfo to determine default encoding.
7017 * java-tree.h (current_encoding): Declare.
7018 * parse.y (java_parser_context_restore_global): Don't restore
7019 `finput'.
7020 (java_parser_context_save_global): Don't set `finput' field.
7021 (java_pop_parser_context): Don't restore `finput'. Free old lexer
7022 if required.
7023 * lang.c (current_encoding): New global.
7024 (lang_decode_option): Recognize `-fencoding='.
7025 (finish_parse): Don't close finput.
7026 * parse.h (struct parser_ctxt): Removed `finput' and
7027 `unget_utf8_value' fields. Added `lexer' field.
7028 (java_init_lex): Fixed declaration.
7029 * lex.c (java_new_lexer): New function.
7030 (java_destroy_lexer): Likewise.
7031 (java_read_char): Added `lex' argument. Handle iconv case.
7032 (java_read_unicode): Added `lex' argument. Count backslashes in
7033 lexer structure.
7034 (java_init_lex): Added `finput' and `encoding' arguments. Set
7035 `lexer' field in ctxp.
7036 (BAD_UTF8_VALUE): Removed.
7037 (java_lex): Handle seeing UEOF in the middle of a string literal.
7038 * lex.h: Include <iconv.h> if HAVE_ICONV defined.
7039 (java_lexer): New structure.
7040 (UNGETC): Removed.
7041 (GETC): Removed.
7042 (DEFAULT_ENCODING): New define.
7043 (java_destroy_lexer): Declare.
7044
ee17a290
TT
70452000-09-12 Tom Tromey <tromey@cygnus.com>
7046
7047 Fix for PR gcj/343:
7048 * lex.c (java_init_lex): Initialize java_io_serializable.
7049 * parse.y (java_io_serializable): New global.
7050 (valid_ref_assignconv_cast_p): An array can be cast to
7051 serializable.
7052
d8ea8f28
ZW
70532000-09-10 Zack Weinberg <zack@wolery.cumb.org>
7054
7055 * decl.c, expr.c: Include defaults.h if not already included.
7056 Don't define the *_TYPE_SIZE macros.
7057
0caae6dd
GK
70582000-09-09 Geoffrey Keating <geoffk@cygnus.com>
7059
7060 * typeck.c (build_java_array_type): Correct first parameter
7061 in ADJUST_FIELD_ALIGN invocation.
7062
f0bee8b3
TT
70632000-09-06 Tom Tromey <tromey@cygnus.com>
7064
7065 * lang-specs.h: Also recognize `-femit-class-files'.
7066
3e99f50c
APB
70672000-09-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
7068
7069 * verify.c (merge_types): Load the types to merge if necessary.
7070
3ca8c9ae
AG
70712000-09-02 Anthony Green <green@redhat.com>
7072
7073 * jcf-io.c: Include zlib.h.
7074 (open_in_zip): Read compressed class file archives.
7075 * zipfile.h (ZipDirectory): Add uncompressed_size and
7076 compression_method fields.
7077 * zextract.c (read_zip_archive): Collect file compression info.
7078
e1d565ab
BM
70792000-08-15 Bryce McKinlay <bryce@albatross.co.nz>
7080
f6bbde28 7081 * parse.y (do_resolve_class): Also explore superclasses of
e1d565ab
BM
7082 intermediate enclosing contexts when searching for inner classes.
7083
29f8b718
APB
70842000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
7085
7086 * parse.y (variable_declarator_id:): Better error message.
7087 (expression_statement:): Use YYNOT_TWICE.
7088 (cast_expression:): Likewise.
7089 (assignment:): Likewise.
7090
354e99ce
APB
70912000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
7092
7093 * parse.y (do_merge_string_cste): New locals. Create new
7094 STRING_CSTs each time, use memcpy. Fixes gcj/311.
7095
7c097ee9
HB
70962000-08-07 Hans Boehm <boehm@acm.org>
7097
7098 * boehm.c (mark_reference_fields): Set marking bits for all words in
7099 a multiple-word record.
7100 (get_boehm_type_descriptor): Use the procedure marking descriptor for
7101 java.lang.Class.
f6bbde28 7102
3d919a0e
MS
71032000-08-31 Mike Stump <mrs@wrs.com>
7104
7105 * Make-lang.in (jc1$(exeext), gcjh$(exeext), jv-scan$(exeext),
7106 jcf-dump$(exeext)): Make parallel safe.
7107
63ad61ed
ZW
71082000-08-29 Zack Weinberg <zack@wolery.cumb.org>
7109
7110 * jcf-parse.c (set_source_filename): Constify a char *.
7111 * jcf-write.c (append_innerclasses_attribute,
7112 make_class_file_name): Constify a char *. Don't recycle a
7113 variable for an unrelated purpose.
7114 * parse.y: (build_alias_initializer_parameter_list): Constify a char *.
7115 (breakdown_qualified): Do not modify IDENTIFIER_POINTER strings.
7116
c00f0fb2
APB
71172000-08-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
7118
7119 * expr.c (can_widen_reference_to): Fixed indentation.
7120 * java-tree.h (CLASS_METHOD_CHECKED_P): Added leading comment.
7121 * parse.y: `finit$' replaces `$finit$' in comments.
7122 (try_builtin_assignconv): Fixed leading comment.
7123
94574545
GM
71242000-08-25 Greg McGary <greg@mcgary.org>
7125
7126 * gjavah.c (cxx_keyword_subst): Use ARRAY_SIZE.
7127
6e2aa220
GM
71282000-08-24 Greg McGary <greg@mcgary.org>
7129
7130 * lang.c (lang_decode_option): Use ARRAY_SIZE.
7131 * parse.y (BINOP_LOOKUP): Likewise.
7132
9b1ee05b
AH
71332000-08-22 Andrew Haley <aph@cygnus.com>
7134
7135 * javaop.h (WORD_TO_INT): Mask lower 32 bits of a jword before
7136 sign extending. Fixes gcj/321.
7137 * jcf-parse.c (get_constant): Mask lower 32 bits of a jint before
7138 combining to make a jlong. Fixes gcj/321.
7139
05a3d06e 71402000-08-21 Nix <nix@esperi.demon.co.uk>
f6bbde28 7141
05a3d06e
N
7142 * lang-specs.h: Do not process -o or run the assembler if
7143 -fsyntax-only.
7144
65f69237
AH
71452000-08-16 Andrew Haley <aph@cygnus.com>
7146
7147 * typeck.c (build_java_array_type): Rewrite code to do array
7148 alignment. Take into account back-end macros when aligning array
7149 data. Remove setting of TYPE_USER_ALIGN; Java doesn't allow the
7150 user to set alignment. Fixes gcj/252 and 160.
7151
2e0f0aff
TT
71522000-08-09 Tom Tromey <tromey@cygnus.com>
7153
1175b9b4
TT
7154 * parse.y (check_abstract_method_definitions): Now return `int'.
7155 Check implemented interfaces. Fixes PR gcj/305.
7156
2e0f0aff
TT
7157 * parse.y (patch_switch_statement): Disallow `long' in switch
7158 expressions. Fixes PR gcj/310.
7159
25bdcbc5
APB
71602000-08-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
7161
7162 * decl.c (finit_leg_identifier_node): New global.
7163 (init_decl_processing): Use `finit$' to initialize
7164 finit_identifier_node. Use `$finit$' to initialize
7165 finit_leg_identifier_node.
7166 * expr.c (expand_java_field_op): Use ID_FINIT_P.
7167 * java-tree.h (finit_identifier_node): Changed attached comment.
7168 (finit_leg_identifier_node): New declaration.
7169 (ID_FINIT_P): Take finit_identifier_node and
7170 finit_leg_identifier_node into account. This is a backward
7171 compatibility hack.
7172
81baa09a
APB
71732000-08-14 Alexandre Petit-Bianco <apbianco@cygnus.com>
7174
7175 * jcf-write.c (generate_bytecode_conditional): Re-installed lost
7176 Jan 6 2000 patch.
7177 (generate_bytecode_insns): Check `nargs' before emitting it.
7178 * verify.c (merge_type_state): Fixed typo.
7179 * ChangeLog: Fixed typo in some jcf-write.c entries mentioning
7180 generate_bytecode_{conditional,insns}.
7181
62c9aa5f 71822000-08-13 Anthony Green <green@redhat.com>
458530ee
AG
7183
7184 * check-init.c (check_init): Add case for BIT_FIELD_REF (required
7185 for -pg builds).
7186
34d4df06
APB
71872000-08-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
7188
7189 * class.c (maybe_layout_super_class): Fixed indentation.
7190 * java-tree.h (CLASS_METHOD_CHECKED_P): New macro.
7191 (java_check_methods): New function declaration.
7192 * jcf-parse.c (get_constant): Let `char_len' go up to 3. Use `str'
7193 instead of `str_ptr'.
7194 * jcf-write.c (generate_bytecode_insns): Emit number the of args
7195 of a `invokeinterface' at the right time.
7196 * parse.h (WFL_STRIP_BRACKET): New macro.
7197 (SET_TYPE_FOR_RESOLUTION): Use it.
dba41d30 7198 * parse.y (build_unresolved_array_type): Reuse `type_or_wfl'.
34d4df06
APB
7199 (check_class_interface_creation): Don't check for cross package
7200 innerclass name clashes.
dba41d30 7201 (method_header): Behave properly if MDECL is `error_mark_node'.
34d4df06
APB
7202 (method_declarator): Return `error_mark_node' if bogus current
7203 class.
7204 (resolve_class): Apply WFL_STRIP_BRACKET on `cl' if necessary.
7205 (resolve_and_layout): New local `decl_type', set and used. Call
7206 java_check_methods.
7207 (java_check_methods): New method.
7208 (java_layout_classes): Use it.
7209 (resolve_qualified_expression_name): No EH check necessary in
7210 access$<n>.
7211 (java_complete_lhs): Use VAR_DECL's DECL_INITIAL when evaluating
7212 `case' statement.
7213 (patch_assignment): Set DECL_INITIAL on integral final local.
7214
5f1c312a
APB
72152000-08-08 Alexandre Petit-Bianco <apbianco@cygnus.com>
7216
7217 * java-tree.h (flag_extraneous_semicolon): New extern.
7218 * lang-options.h: (-Wextraneous-semicolon): New option.
7219 * lang.c (flag_redundant): Fixed typo in leading comment.
7220 (flag_extraneous_semicolon): New global.
7221 (lang_decode_option): Set `flag_extraneous_semicolon' when
7222 -Wall. Decode `-Wextraneous-semicolon'.
7223 * parse.y (type_declaration:): Removed `SC_TK' hack, added
7224 `empty_statement' rule.
7225 (class_body_declaration): Likewise.
7226 (method_body:): Accept `;' as a method body.
7227 (static_initializer:): Removed `SC_TK' hack.
7228 (constructor_block_end:): Likewise.
7229 (empty_statement:): Report deprecated empty declaration. Fixes
7230 gcj/295
7231
25bdcbc5 72322000-08-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
f0f3a777
APB
7233
7234 * parse.y (build_dot_class_method_invocation): Changed parameter
dba41d30 7235 name to `type'. Build signature from `type' and convert it to a
f0f3a777
APB
7236 STRING_CST if it's an array.
7237 (patch_incomplete_class_ref): `build_dot_class_method_invocation'
7238 to use `ref_type' directly.
7239
62c9aa5f 72402000-08-06 Ovidiu Predescu <ovidiu@cup.hp.com>
64c04091
OP
7241
7242 * lang-options.h: Added a comma after the last element to avoid
7243 syntax errors when other languages define additional options.
7244
a36556a8
ZW
72452000-08-04 Zack Weinberg <zack@wolery.cumb.org>
7246
7247 * Make-lang.in (jc1, jv-scan): Depend on $(BACKEND), not stamp-objlist.
7248 * Makefile.in: Add BACKEND; delete OBJS, OBJDEPS.
7249 (jc1): Link with $(BACKEND).
7250 (jv-scan): Depend on version.o, not all of $(OBJS) or $(BACKEND).
7251
50e60bc3
ZW
72522000-08-02 Zack Weinberg <zack@wolery.cumb.org>
7253
37620334
ZW
7254 * jvspec.c: Adjust type of second argument to
7255 lang_specific_driver, and update code as necessary.
7256
50e60bc3
ZW
7257 * class.c (build_dtable_decl): Initialize dummy.
7258
f0f3a777
APB
72592000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
7260
7261 * parse.y (maybe_yank_clinit): When generating bytecode: non empty
7262 method bodies not to rule out discarding `<clinit>'; don't use
7263 <clinit> to initialize static fields with constant initializers.
7264
72652000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
7266
7267 * gjavah.c (print_method_info): Added `synth' parameter. Skip
7268 synthetic methods.
7269 (method_synthetic): New global.
7270 (HANDLE_METHOD): Recognize synthetic method and tell
7271 `print_method_info' about it.
7272 (HANDLE_END_METHOD): Do not issue an additional `;\n' if we're
7273 processing a synthetic method.
7274 * jcf-reader.c (skip_attribute): New function.
7275 ( skip_attribute): Likewise.
7276
72772000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
7278
7279 * parse.y (build_outer_field_access): Fixed comments.
7280 (fix_constructors): Emit the initialization of this$<n> before
7281 calling $finit$.
7282 (resolve_qualified_expression_name): Build an access to `decl' if
7283 necessary.
7284
72852000-07-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
7286
7287 * parse-scan.y (curent_class): Non longer const.
7288 (inner_qualifier, inner_qualifier_length): Deleted.
7289 (current_class_length): New global.
7290 (bracket_count): Fixed typo in leading comment.
7291 (anonymous_count): New global.
7292 (class_instance_creation_expression:): Handle anonymous classes.
7293 (anonymous_class_creation:): New rule.
7294 (push_class_context): Rewritten.
7295 (pop_class_context): Likewise.
7296 (INNER_QUALIFIER): Macro deleted.
7297 (report_class_declaration): call `push_class_context' when
7298 entering the function. `fprintf' format modified not to use
7299 INNER_QUALIFIER.
7300 (report_class_declaration): Assign `package_name' and
a83f01f0 7301 `current_class' to NULL separately.
f0f3a777
APB
7302
73032000-07-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
7304
7305 * expr.c (build_invokeinterface): Call layout_class_methods on
7306 target interface.
7307
13107ec0 73082000-07-27 Tom Tromey <tromey@cygnus.com>
f6bbde28 7309 Anthony Green <green@cygnus.com>
13107ec0
TT
7310 Alexandre Petit-Bianco <apbianco@cygnus.com>
7311
7312 * class.c (make_class_data): Create vtable for abstract classes.
7313 (get_dispatch_table): Changed to cope with abstract classes.
7314
da632f2c
APB
73152000-07-27 Tom Tromey <tromey@cygnus.com>
7316
7317 * parse.y (patch_method_invocation): Don't reverse the argument
7318 list when dealing with anonymous class constructors. Fixed typo in
7319 comment.
7320
73212000-07-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
7322
7323 * parse.y (build_alias_initializer_parameter_list): Reverse
7324 crafted list when building aliases for anonymous class
7325 constructors.
7326
1e12ab9b
APB
73272000-07-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
7328
7329 * parse.y (jdep_resolve_class): Don't bother checking potential
7330 innerclass access if `decl' is NULL.
7331 (find_in_imports_on_demand): TREE_PURPOSE of `import' contains the
7332 WFL.
7333
4c31fe99
APB
73342000-07-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
7335
7336 * parse.c: Remove (again.)
7337
1e12ab9b
APB
73382000-07-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
7339
7340 * parse.y (find_as_inner_class): Removed 2000-07-19 patches.
7341 * jcf-parse.c (HANDLE_INNERCLASSES_ATTRIBUTE): Local `decl' moved
7342 outside the `if' statement, alias to innerclass removed, `decl'
7343 used to mark the class complete.
7344
f4530f43
APB
73452000-07-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
7346
7347 * parse.y (simple_name:): Fixed typo in error message.
7348
e7c7bcef
APB
73492000-07-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
7350
7351 * parse.y (java_complete_lhs): LOOP_EXPR:, SWITCH_EXPR: the node
7352 or its first operand can be error marks.
7353
73542000-07-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
7355
7356 * parse.h (SET_TYPE_FOR_RESOLUTION): Use GET_CPC.
7357 * parse.y (method_header): Likewise.
7358
02ae6e2e
APB
73592000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
7360
7361 * parse.y (process_imports): Consider that one might be trying to
7362 import an innerclass. Fixes gcj/254
7363
e7c7bcef
APB
73642000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
7365
7366 * parse.y (find_as_inner_class): Handle the case where the
7367 enclosing context of an innerclass has been loaded as bytecode.
7368
4142b247
APB
73692000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
7370
f6bbde28 7371 * parse.y (simple_name:): Reject `$' in type names.
4142b247
APB
7372 (resolve_type_during_patch): Use `type' as a second
7373 argument to resolve_no_layout. Fixes gcj/257.
7374
cab8e2bd
BM
73752000-07-18 Bryce McKinlay <bryce@albatross.co.nz>
7376
f6bbde28 7377 * parse.y (find_most_specific_methods_list): Select the only
cab8e2bd
BM
7378 non-abstract method even if max has been set.
7379 Fixes gcj/285, gcj/298.
7380
ca2875c4
JS
73812000-07-18 Jeff Sturm <jeff.sturm@appnet.com>
7382
7383 * lang-specs.h: Added %(jc1) to java compiler options.
7384
bfbbc080
ZW
73852000-07-14 Zack Weinberg <zack@wolery.cumb.org>
7386
7387 * .cvsignore: New file.
7388
11b26d72
APB
73892000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
7390
7391 * parse.y (not_accessible_p): Access granted to innerclasses
7392 (indirectly) extending the reference type. Fixes gcj/249.
7393
73942000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
7395
7396 * parse.y (patch_method_invocation): Fixed comment.
7397 (maybe_use_access_method): Build this$<n>s to the context of the
7398 target method, or a type that extends it. Fixes gcj/242.
7399
649c9142
MM
74002000-07-13 Mark Mitchell <mark@codesourcery.com>
7401
7402 * parse.c: Remove.
7403
ee97d354
APB
74042000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
7405
7406 * parse.y (fold_constant_for_init): Avoid bullish conversion.
7407
44fadf1e
TT
74082000-07-13 Tom Tromey <tromey@cygnus.com>
7409
7410 * lang-specs.h: Added %{I*}.
7411
ea414c97
ZW
74122000-07-13 Zack Weinberg <zack@wolery.cumb.org>
7413
7414 * lang-specs.h: Use the new named specs. Remove unnecessary braces.
7415
792abd35
MM
74162000-07-12 Mark Mitchell <mark@codesourcery.com>
7417
7418 * parse-scan.c: Remove.
7419
11b26d72
APB
74202000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
7421
7422 * class.c (set_super_info): Handled protected inner classes.
7423 (common_enclosing_context_p): Bail early if arguments aren't both
7424 inner classes.
7425 (get_access_flags_from_decl): Handle private and protected inner
7426 classes.
7427 * java-tree.h (TYPE_PROTECTED_INNER_CLASS): New macro.
7428 (CLASS_PROTECTED): Likewise.
dba41d30 7429 (struct lang_type): New bitfield `poic'.
11b26d72
APB
7430 * parse.y (jdep_resolve_class): Call check_inner_class_access on
7431 inner classes only.
7432 (check_inner_class_access): Renamed arguments, added
7433 comments. Handles protected inner classes (fixes gcj/225)
7434 (not_accessible_p): Fixed comments. Avoid handling inner classes.
7435
74362000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
7437
7438 * parse.y (resolve_qualified_expression_name): Verify qualified
dba41d30 7439 access to `this'. Fixes gcj/239.
11b26d72 7440
e67eb1a0 74412000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
2f2bd00a 7442
e67eb1a0
APB
7443 * jcf-write.c (generate_classfile): Don't install ConstantValue
7444 for null pointers.
2f2bd00a 7445
11b26d72
APB
74462000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
7447
7448 * parse.y (resolve_qualified_expression_name): Handle inner class
7449 access. Fixes gcj/256.
7450
629d4b4d
APB
74512000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
7452
7453 * jcf-write.c (generate_classfile): Properly install the
7454 ConstantValue attribute and the initial value constant pool index
7455 on string constants.
7456 * parse.y (java_complete_lhs): Keep DECL_INITIAL when emitting
7457 class files.
7458
0c2b8145
APB
74592000-07-06 Alexandre Petit-Bianco <apbianco@cygnus.com>
7460
7461 * parse.h (BUILD_PTR_FROM_NAME): Surround with a do/while
7462 construct.
7463 * parse.y (find_as_inner_class): Fixed typo.
7464 (do_resolve_class): Explore enclosing contexts when searching for
7465 innerclasses. Removed curly brackets around BUILD_PTR_FROM_NAME.
7466 (check_inner_class_access): Check `decl' which can be null in case
7467 of previous errors.
7468
74692000-07-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
7470
dba41d30 7471 * java-tree.h (java_debug_context): Declared `extern'.
0c2b8145
APB
7472 (safe_layout_class): Likewise.
7473 * parse.y (resolve_field_access): Field must be `static' in order
7474 to be replaced by its initial value. Added comments.
7475 (find_applicable_accessible_methods_list): Fixed typo.
7476 (find_most_specific_methods_list): Methods found in innerclasses
7477 take over methods founds in the enclosing contexts.
7478 (java_complete_tree): Loosen restrictions on the type of DECLs
7479 that can be replaced by their initialization values.
dba41d30 7480 (valid_ref_assignconv_cast_p): Removed call to `enclosing_context_p'.
0c2b8145 7481
0267da64
TT
74822000-07-05 Tom Tromey <tromey@cygnus.com>
7483
7484 * Make-lang.in (PARSE_DIR): New macro.
7485 (PARSE_RELDIR): Likewise.
7486 (PARSE_C): Likewise.
7487 (PARSE_SCAN_C): Likewise.
7488 ($(PARSE_C)): New target.
7489 ($(PARSE_SCAN_C)): Likewise.
7490 (SET_BISON): New macro.
7491 (BISONFLAGS): Likewise.
7492 (JAVABISONFLAGS): Likewise.
7493
1bbee75b
BM
74942000-07-02 Bryce McKinlay <bryce@albatross.co.nz>
7495
f6bbde28
ZW
7496 * gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream
7497 argument on the first pass for CNI as well as JNI.
7498 (print_method_info): Set up method name on the first pass only.
7499
98a52c2c
APB
75002000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
7501
7502 * parse.y (parser_qualified_classname): Removed parameter
7503 `is_static'.
7504 (create_interface): Removed first passed parameter to
7505 parser_qualified_classname.
7506 (create_class): Likewise. Don't install alias on static
7507 innerclasses. Fixes gcj/275.
7508
75092000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
7510
7511 * parse.y (maybe_generate_pre_expand_clinit): Don't build a
7512 debugable statement with empty_stmt_node. Fixes gcj/272
7513
75142000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
7515
7516 * expr.c (build_instanceof): Layout type after it's loaded. Fixes
7517 gcj/271.
7518
c1c8f8cc
APB
75192000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
7520
7521 * jcf-write.c (push_long_const): Appropriately cast short negative
7522 constant to jword.
7523
cf1b2274
APB
75242000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
7525
7526 * parse.y (verify_constructor_super): Use loop variable
7527 `m_arg_type' initialized with `mdecl_arg_type'.
7528
6eaeeb55
TT
75292000-06-29 Tom Tromey <tromey@cygnus.com>
7530
7531 * parse.y (resolve_field_access): Handle case where `type_found'
7532 is NULL.
7533
18ee3d5e
APB
75342000-06-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
7535
7536 * expr.c (lookup_field): The same field can be found through two
7537 different interface. Don't declare it ambiguous in that case.
7538
61d5c158
TT
75392000-06-27 Tom Tromey <tromey@cygnus.com>
7540
7541 * lex.c (java_lineterminator): Don't recognize \r after \n. If \r
7542 follows \r, then unget it at a lower level.
7543
70541f45
TT
75442000-06-26 Tom Tromey <tromey@cygnus.com>
7545
7546 * parse.y (resolve_field_access): Pass decl, not DECL_INITIAL, to
7547 java_complete_tree.
7548
774d2baf
TT
75492000-06-25 Tom Tromey <tromey@cygnus.com>
7550
7551 * parse.y (for_statement): Wrap expression in a WFL if it is a
7552 constant. For PR gcj/268.
7553
d6baf6f5
APB
75542000-06-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
7555
7556 * parse.y (do_resolve_class): Minor optimiztion in the package
17126208 7557 list search. Removed unnecessary test and return statement.
d6baf6f5
APB
7558 (valid_ref_assignconv_cast_p): Order of arguments to
7559 enclosing_context_p fixed.
7560
120f0c10
TT
75612000-06-24 Tom Tromey <tromey@cygnus.com>
7562
ae4a4c88
TT
7563 * expr.c (lookup_field): Print error and return error_mark_node if
7564 field reference is ambiguous.
7565
120f0c10
TT
7566 * parse.y (check_abstract_method_definitions): Also check if
7567 `other_method' is abstract.
7568
cf1748bf
APB
75692000-06-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
7570
7571 * class.c (set_super_info): Handle ACC_PRIVATE for (inner)
7572 classes.
7573 * java-tree.h (TYPE_PRIVATE_INNER_CLASS): New macro.
dba41d30 7574 (struct lang_type): New field `pic'.
cf1748bf
APB
7575 (CLASS_PRIVATE): New macro.
7576 * parse.y (check_inner_class_access): New function.
7577 (jdep_resolve_class): Call it.
7578
f1ff439a
TT
75792000-06-23 Tom Tromey <tromey@cygnus.com>
7580
7581 * parse.y (patch_incomplete_class_ref): Initialize the returned
7582 class. For PR gcj/260.
7583
9a7ab4b3
APB
75842000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
7585
7586 * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'.
7587
75882000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
7589
7590 * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
7591 Java specific checks.
7592 * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage
7593 screened by DECL_P.
7594 * java-tree.def (CASE_EXPR): Marked 'e'.
7595 (DEFAULT_EXPR): Likewise.
7596 * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage
7597 screened by DECL_P.
7598 * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
7599 Java specific checks.
7600 (generate_bytecode_insns): Test try_block for BLOCK before using
7601 BLOCK_EXPR_BODY.
7602 * parse.y (build_wfl_wrap): Added `location' argument. Set
7603 EXPR_WFL_LINECOL accordingly.
7604 (dim_expr:): Wrap constants with WFLs.
7605 (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC.
7606 (resolve_package): Check for `stmt' not being a BLOCK before
7607 building a debuggable statement with it.
7608 (make_qualified_primary): Added extra parameter to build_wfl_wrap
7609 invocation.
7610 (resolve_field_access): Make sure `decl' is a DECL before treating
7611 it as such.
7612 (maybe_build_primttype_type_ref): Make sure `wfl''s node is an
7613 IDENTIFIER_NODE before treating it as such.
7614 (patch_new_array_init): Make sure `elt' is a TREE_LIST before
7615 treating it as such.
7616 (find_applicable_accessible_methods_list): CLASS_INTERFACE macro
7617 to be applied only on non array types.
7618
76192000-06-16 Per Bothner <per@bothner.com>
7620
7621 * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't
7622 define in terms of DECL_RESULT, as that fails when --enable-checking.
f6bbde28 7623
ffb1f63d
KG
76242000-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7625
7626 * jcf-write.c (CHECK_PUT): Add static prototype. Make pointer
7627 types the same in comparison.
7628 (CHECK_OP): Add static prototype.
7629
11cf4d18
JJ
76302000-06-13 Jakub Jelinek <jakub@redhat.com>
7631
7632 * typeck.c (build_java_array_type): Set TYPE_USER_ALIGN.
7633 * parse.y (java_complete_class): Set DECL_USER_ALIGN.
7634 * parse.c: Rebuilt.
7635
5ac9118e
KG
76362000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7637
7638 * decl.c (create_primitive_vtable): Prototype.
7639
7640 * jcf-write.c (generate_bytecode_insns): Initialize variable
7641 `saved_context'.
7642
7643 * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
7644
ad69b5b6
BM
76452000-06-09 Bryce McKinlay <bryce@albatross.co.nz>
7646
7647 * parse.y (find_applicable_accessible_methods_list): Use a hashtable
7648 to track searched classes, and do not search the same class more than
7649 once. Call find_applicable_accessible_methods_list on immediate
7650 superclass, instead of search_applicable_method_list on all ancestors.
7651 Fix for PR gcj/238.
7652
cf1748bf
APB
76532000-06-09 Bryce McKinlay <bryce@albatross.co.nz>
7654
7655 * parse.y (register_fields): Permit static fields in inner classes
7656 if they are final. Fix for PR gcj/255.
7657
9a7ab4b3
APB
76582000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com>
7659
7660 * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries.
7661 * parse.y (find_in_imports): Returned type changed to void,
7662 leading comment fixed.
7663 (register_package): New function.
7664 (qualify_and_find): Likewise.
7665 (package_declaration:): Use `register_package'.
7666 (single_type_import_declaration:): Removed local variable
7667 `node'. Added missing `;' for consistency.
7668 (type_import_on_demand_declaration:): Use `chainon' to link new
7669 entries.
7670 (lookup_field_wrapper): Lookup local variables defined in outer
7671 contexts first.
7672 (java_complete_class): Don't reverse the list of imported on demand.
7673 (do_resolve_class): Reorganized. Removed local variable
7674 `original_name'. Call `qualify_and_find' with the current package
7675 name, invoke `find_in_imports_on_demand' right after. Call
7676 `qualify_and_find' with the packages we've seen so far. Fixed
7677 operations numbering in comments.
7678 (java_expand_class): Don't reverse `package_list'.
7679 (find_most_specific_methods_list): New local variables `abstract'
7680 and `candidates'. Use them to pick the right method.
7681
62c9aa5f 76822000-06-06 Tom Tromey <tromey@ferrule.cygnus.com>
14d075d8
TT
7683
7684 * parse.y (check_modifiers_consistency): Don't subtract out
7685 `PUBLIC_TK' from argument to THIS_MODIFIER_ONLY.
7686
603832a0
PT
76872000-06-04 Philipp Thomas <pthomas@suse.de>
7688
7689 * Makefile.in (INTLLIBS): New.
7690 (LIBS): Add above.
7691 (DEPLIBS): Ditto.
7692
62c9aa5f 76932000-06-02 Alexandre Petit-Bianco <apbianco@cygnus.com>
8f975c18
APB
7694
7695 * class.c (get_dispatch_table): Build the vtable dummy entry list
e64c46ce 7696 element with a null purpose. Fixed leading comment.
8f975c18 7697 (build_dtable_decl): Build an accurate dtable type when appropriate
e64c46ce 7698 and use it.
8f975c18 7699
2e761e49
RH
77002000-06-02 Richard Henderson <rth@cygnus.com>
7701
7702 * lang.c (lang_get_alias_set): New.
7703
0f145be8
APB
77042000-05-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
7705
7706 * parse.y (resolve_field_access): Complete the DECL_INITIAL tree
7707 before using it as the accessed field.
7708
2771fe54
TT
77092000-05-31 Tom Tromey <tromey@cygnus.com>
7710
7711 * java-tree.h (boolean_array_vtable, byte_array_vtable,
7712 char_array_vtable, short_array_vtable, int_array_vtable,
7713 long_array_vtable, float_array_vtable, double_array_vtable):
7714 Declare.
7715 * expr.c (get_primitive_array_vtable): New function.
7716 (create_primitive_vtable): New function.
7717 (java_lang_expand_expr): Enable code to statically generate
7718 arrays.
7719 * decl.c (init_decl_processing): Create primitive vtables.
7720 (boolean_array_vtable, byte_array_vtable, char_array_vtable,
7721 short_array_vtable, int_array_vtable, long_array_vtable,
7722 float_array_vtable, double_array_vtable): Define.
7723
30a3caef
ZW
77242000-05-26 Zack Weinberg <zack@wolery.cumb.org>
7725
7726 * java/parse.y (find_applicable_accessible_methods_list):
7727 Don't add an uninitialized value to the list.
7728
b8c5b1c6
TT
77292000-05-25 Tom Tromey <tromey@cygnus.com>
7730
40aaba2b
TT
7731 * parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC
7732 when trying to see if field's class should be initialized. Always
7733 initialize field's declaring class, not qualified class.
7734 For PR gcj/162.
7735
b8c5b1c6
TT
7736 * parse.y (array_constructor_check_entry): Pass `wfl_value', not
7737 `wfl_operator', to maybe_build_primttype_type_ref.
7738 Fixes PR gcj/235.
7739
6518c7b5
BM
77402000-05-23 Bryce McKinlay <bryce@albatross.co.nz>
7741
7742 * parse.y (patch_method_invocation): Don't try to lookup methods
7743 in primitive types.
7744
611a4b87
APB
77452000-05-02 Alexandre Petit-Bianco <apbianco@cygnus.com>
7746
7747 * parse.y (resolve_field_access): Call the appropriate <clinit>
7748 before accessing the length of a static array. Craft a decl for
7749 the field while its time. Fixes PR gcj/129.
f6bbde28 7750
6b48deee
APB
77512000-05-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
7752
7753 * parse.y (resolve_package): Correctly set `*next' (was off by
7754 one.)
7755 (resolve_qualified_expression_name): Fixed comment.
7756
62c9aa5f 77572000-04-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
0ba154aa 7758
f6bbde28 7759 * jcf-parse.c (jcf_parse_source): Reset current_class and
e64c46ce 7760 current_function_decl to NULL before parsing a new file.
0ba154aa 7761
62c9aa5f 77622000-04-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
c280e37a
APB
7763
7764 * parse.y (block_end:): If the collected block doesn't feature a
e64c46ce 7765 statement, insert an empty statement.
c280e37a 7766
92d83515
APB
77672000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
7768
f6bbde28
ZW
7769 * parse.y (maybe_yank_clinit): New function.
7770 (maybe_generate_pre_expand_clinit): Always link <clinit> at the
7771 end of the list of methods belonging to a class.
7772 (java_complete_expand_method): Check whether <clinit> is really
7773 necessary and expand it accordingly.
92d83515 7774
ec5bb3cf
APB
77752000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
7776
7777 * parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be
7778 processed by the method's switch statement.
7779
67db0ce7
TT
77802000-05-19 Tom Tromey <tromey@cygnus.com>
7781
7782 * java-tree.h: Added init state enum.
7783 * decl.c (emit_init_test_initialization): Initialize class
7784 initialization check variable by looking at class' state.
7785
43490bec
TT
77862000-05-19 Tom Tromey <tromey@cygnus.com>
7787
7788 * java-tree.h (build_instanceof): Declare.
7789 (build_get_class): Declare.
7790 * parse.y (patch_binop): Use build_instanceof.
7791 * expr.c (build_instanceof): New function. If class is final,
7792 don't make a function call.
7793 (expand_java_INSTANCEOF): Use it.
7794 (build_get_class): New function.
7795
062edaed
AO
77962000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7797
7798 * jcf-write.c (generate_classfile): Scan the source_file for
7799 slashes with the right pointer variable.
7800
62c9aa5f 78012000-05-17 Andrew Cagney <cagney@b1.cygnus.com>
078721e1
AC
7802
7803 * lang.c (lang_decode_option): Update -Wunused flags by calling
e64c46ce 7804 set_Wunused.
078721e1
AC
7805 * decl.c (poplevel): Replace warn_unused with warn_unused_label.
7806
46543024 78072000-05-09 Zack Weinberg <zack@wolery.cumb.org>
3b304f5b
ZW
7808
7809 * check_init.c (check_init): Constify local char *.
7810 * class.c (push_class): Constify local char *.
7811 * java_tree.h: Update prototypes.
7812 * jcf-io.c (open_class): Constify filename parameter and
7813 return value.
7814 (find_class): Remove redundant string copy. Cast return from
7815 open_class.
7816 * jcf-parse.c (read_class, parse_class_file, yyparse):
7817 Constify local char *.
7818 * jcf-write.c (generate_bytecode_insns, generate_classfile):
7819 Constify local char *.
7820 * jcf.h (JCF): Constify filename and classname.
7821 (JCF_FINISH): Cast args to FREE to char * when appropriate.
7822 * lang.c (init_parse): Constify parameter and return value.
7823 * lex.c (java_get_line_col): Constify filename parameter.
7824 * parse.h: Constify parser_ctxt.filename. Update prototypes.
7825 * parse.y (java_parser_context_suspend,
7826 issue_warning_error_from_context, safe_layout_class): Constify
7827 local char *.
7828 * parse.c: Regenerate.
7829
4c6a8973
TT
78302000-05-08 Tom Tromey <tromey@cygnus.com>
7831
7832 * expr.c (build_jni_stub): Cache the result of
7833 _Jv_LookupJNIMethod.
7834
e117276e
APB
78352000-05-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
7836
7837 * decl.c (predef_filenames_size): Now 7.
7838 (predef_filenames): New seventh entry.
7839
652f2504
TT
78402000-05-04 Tom Tromey <tromey@cygnus.com>
7841
7842 * boehm.c (mark_reference_fields): Don't mark RawData fields.
7843 Keep track of when we've seen a reference field after a
7844 non-reference field.
7845 (get_boehm_type_descriptor): Handle case where we see
7846 non-reference fields but no trailing reference field.
7847 * decl.c (rawdata_ptr_type_node): Define.
7848 (init_decl_processing): Initialize rawdata_ptr_type_node.
7849 * java-tree.h (rawdata_ptr_type_node): Declare.
7850
ccedaff3
KG
78512000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7852
7853 * jcf-dump.c (SPECIAL_IINC): Ensure arguments match format
7854 specifiers in calls to fprintf.
7855
dd5d6281
TT
78562000-05-03 Andrew Haley <aph@cygnus.com>
7857
7858 * expr.c (build_java_jsr): Use emit_jump, not expand_goto.
7859
7860 * javaop.h (WORD_TO_INT): New function.
7861 (IMMEDIATE_s4): Use WORD_TO_INT.
7862 * jcf.h (JPOOL_INT): Ditto.
7863
7864 * gjavah.c (decode_signature_piece): Don't treat `$' as namespace
7865 separator.
7866
dd5d6281 78672000-04-19 Tom Tromey <tromey@cygnus.com>
7145d9fe
TT
7868
7869 * class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE
7870 on native function.
7871 * jcf-parse.c (parse_class_file): Call build_jni_stub for native
7872 JNI methods.
7873 * expr.c (build_jni_stub): New function.
7874 * lang-specs.h: -fjni and -femit-class-file are incompatible.
7875 * parse.c: Rebuilt.
7876 * parse.y (java_complete_expand_methods): Expand a native method
7877 and call build_jni_stub if -fjni given.
7878 * lang-options.h: Document -fjni.
7879 * lang.c (flag_jni): New global.
7880 (lang_f_options): Added `jni' entry.
7881 * java-tree.h (soft_lookupjnimethod_node,
7882 soft_getjnienvnewframe_node, soft_jnipopsystemframe_node):
7883 Declare.
7884 (flag_jni): Declare.
7885 (build_jni_stub): Declare.
7886 (struct lang_decl): Added `native' flag.
7887 (METHOD_NATIVE): Redefined to use `native' field of lang specific
7888 structure.
7889 * decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node,
7890 soft_jnipopsystemframe_node): New globals.
7891 (init_decl_processing): Set them. _Jv_InitClass only takes one
7892 argument.
7893
7894 * java-tree.def: Put into `C' mode.
7895
e815887f
TT
78962000-04-27 Tom Tromey <tromey@cygnus.com>
7897
7898 Fix for PR gcj/2:
7899 * expr.c (expand_invoke): Generate check to see if object pointer
7900 is null in nonvirtual invocation case.
7901 * java-tree.h (soft_nullpointer_node): Declare.
7902 * decl.c (soft_nullpointer_node): New global.
7903 (init_decl_processing): Initialize soft_nullpointer_node.
7904 * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final'
7905 or `private' methods.
7906 (patch_invoke): Handle INVOKE_NONVIRTUAL case.
7907
62c9aa5f 79082000-04-26 Alexandre Petit-Bianco <apbianco@cygnus.com>
ad81223c
APB
7909
7910 * decl.c (complete_start_java_method): Don't call _Jv_InitClass
e64c46ce 7911 from <clinit>
ad81223c 7912
f1acc01e
TT
79132000-04-26 Tom Tromey <tromey@cygnus.com>
7914
7915 * zextract.c (find_zip_file_start): New function.
7916 (read_zip_archive): Use it.
7917
e803d3b2
APB
79182000-04-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
7919
7920 * parse.y (register_incomplete_type): Handle JDEP_ANONYMOUS.
7921
152de068
APB
79222000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
7923
7924 * class.c (common_enclosing_context_p): New function.
7925 * java-tree.h (common_enclosing_context_p): Added prototype.
7926 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow
7927 classes sharing an outer context with the current instance.
7928 * parse.y (build_access_to_thisn): Fixed leading comment.
7929 (verify_constructor_super): New local `supper_inner'. Skip
7930 enclosing context argument in the case of inner class constructors.
7931 (patch_method_invocation): Insert proper context as second
7932 parameter to pure inner class constructor super invocations.
7933
62c9aa5f 79342000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
93220702
APB
7935
7936 * parse.y (end_class_declaration): Reset the interface number
e64c46ce 7937 counter.
93220702 7938
dfb99c83
APB
79392000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
7940
17126208 7941 * parse.y (source_start_java_method): Deleted unnecessary code.
f6bbde28 7942 (patch_method_invocation): Fixed comment.
dfb99c83 7943
e60a8c26
RL
79442000-04-24 Robert Lipe <robertlipe@usa.net>
7945
7946 * parse.h (_jdep): Member `kind' now ENUM_BITFIELD.
7947
3c8c10b8
TT
79482000-04-23 Tom Tromey <tromey@cygnus.com>
7949
7950 * boehm.c (mark_reference_fields): Use int_byte_position.
7951
8a008c41
TT
79522000-04-22 Tom Tromey <tromey@cygnus.com>
7953
7954 * boehm.c (mark_reference_fields): Only call byte_position on
7955 non-static fields.
7956
d5f76aba
TT
79572000-04-22 Tom Tromey <tromey@cygnus.com>
7958
7959 * boehm.c (mark_reference_fields): Added `last_view_index'
7960 argument. Use DECL_FIELD_OFFSET to determine field's offset.
7961
62c9aa5f 79622000-04-20 Mo DeJong <mdejong@cygnus.com>
a40d21da
APB
7963
7964 * parse.h (INTERFACE_INNER_MODIFIERS): New macro.
7965 * parse.y (check_class_interface_creation): Fixed comments. Select
e64c46ce
AJ
7966 permitted modifiers for (inner) interfaces. Changed error message
7967 to report rejected modifiers used with local classes.
a40d21da
APB
7968
79692000-04-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
7970
7971 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Immediate inner classes
7972 of directly inherited type considered in scope.
7973 * parse.y (do_resolve_class): Search inherited classes for inner
7974 classes.
7975
473e7b07
TT
79762000-04-20 Tom Tromey <tromey@cygnus.com>
7977
7978 * parse.y (not_accessible_p): Use member's class, not current
7979 class, when doing inheritance check for protected reference.
7980 Fixes PR gcj/124.
7981
62c9aa5f 79822000-04-20 Jason Schroeder <shrode@subnature.com>
c52fbf0f
JS
7983
7984 * jcf-dump.c (SPECIAL_IINC): Fixed typo printing iinc instruction.
7985
f2760b27
APB
79862000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
7987
7988 * parse.y (lookup_field_wrapper): Search for final local aliases.
7989 (resolve_expression_name): Let lookup_field_wrapper search for
7990 final local aliases. Force the value of `name' if one is found.
7991 (qualify_ambiguous_name): CONVERT_EXPR is enough to now we have
7992 an expression name. Fixed comments.
7993
807bc1db
APB
79942000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
7995
7996 * parse.y (yyerror): `msg' can be null, don't use it in that case.
7997
ecb36604
TT
79982000-04-19 Tom Tromey <tromey@cygnus.com>
7999
8000 * gjavah.c (cxx_keyword_subst): Avoid potential infinite loop.
8001
48a840d9
APB
80022000-04-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
8003
8004 * parse.y (maybe_make_nested_class_name): Use `obstack_grow0'.
8005
83c1f628
TT
80062000-04-18 Tom Tromey <tromey@cygnus.com>
8007
8008 PR gcj/211:
8009 * gjavah.c (utf8_cmp): Changed return value.
8010 (cxx_keyword_subst): Handle all C++ keywords. Allocate new return
8011 result.
8012 (cxx_keywords): New global.
8013 (get_field_name): Handle new result of cxx_keyword_subst.
8014 (print_method_info): Likewise.
8015
a7384840
BM
80162000-04-17 Bryce McKinlay <bryce@albatross.co.nz>
8017
f6bbde28 8018 * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names
a7384840 8019 with a newline, for CNI.
f6bbde28 8020 (print_stub_or_jni): Print a space or newline before method name for
a7384840
BM
8021 CNI as well as JNI.
8022 (print_cxx_classname): Don't write leading "::" in CNI stub method.
f6bbde28 8023 (process_file): Include gcj/cni.h if generating CNI stubs.
a7384840 8024
3e0768f0
TT
80252000-04-16 Tom Tromey <tromey@cygnus.com>
8026
8027 * gjavah.c (decompile_method): Use print_field_name.
8028 Fixes PR gcj/205.
8029
48a840d9
APB
80302000-04-14 Alexandre Petit-Bianco <apbianco@cygnus.com>
8031
8032 * parse.y (java_expand_classes): Reverse the package list once.
8033 (java_complete_lhs): PLUS_EXPR: don't try rhs and lhs at string
8034 reduction.
8035 (patch_binop): New temp `cn'. Call patch_string on LHS/RHS of
8036 the `==' and `!=' operators.
8037
cedea510
APB
80382000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
8039
67264b4f 8040 * jcf-write.c (generate_bytecode_insns): At invocation time,
cedea510 8041 always relate an interface method to the type of its selector.
f6bbde28 8042
e803d3b2
APB
80432000-04-05 Tom Tromey <tromey@cygnus.com>
8044
8045 Fix for PR gcj/2:
8046 * expr.c (expand_invoke): Generate check to see if object pointer
8047 is null in nonvirtual invocation case.
8048 * java-tree.h (soft_nullpointer_node): Declare.
8049 * decl.c (soft_nullpointer_node): New global.
8050 (init_decl_processing): Initialize soft_nullpointer_node.
8051 * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final'
8052 or `private' methods.
8053 (patch_invoke): Handle INVOKE_NONVIRTUAL case.
8054
bc2874c9
TT
80552000-04-05 Tom Tromey <tromey@cygnus.com>
8056
8057 Fix for PR gcj/140:
8058 * parse.y (check_final_assignment): Recognize assignments to the
8059 `length' field of an array when generating class files.
8060
256172c4
APB
80612000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
8062
8063 * class.c (decl_hash): Prototype removed.
8064 (decl_compare): Likewise.
8065
e0fc4118
TT
80662000-04-05 Tom Tromey <tromey@cygnus.com>
8067
8068 * parse.h (THIS_MODIFIER_ONLY): Changed meaning of `v' parameter.
8069 * parse.y (check_modifiers_consistency): Check for final/volatile
8070 clash. Fixes PR gcj/164.
8071
e0422ed0
APB
80722000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
8073
8074 * class.c: (java_hash_hash_tree_node): Renamed from `decl_hash',
8075 made global.
8076 (java_hash_compare_tree_node): Renamed from `decl_compare, made
8077 global.
8078 (add_method_1): Use `java_hash_hash_tree_node' and
8079 `java_hash_compare_tree_node'.
8080 * java-tree.h: (java_hash_hash_tree_node): Prototyped.
8081 (java_hash_compare_tree_node): Likewise.
8082 * parse.y (find_applicable_accessible_methods_list): Create,
8083 delete and use a hash table to remember already searched interfaces.
8084
4200941b
MW
80852000-04-03 Matt Welsh <mdw@cs.berkeley.edu>
8086
8087 * jcf-depend.c (add_entry): Fixed bug where list was always replaced
8088 with latest entry.
8089
c0b864fc
KG
80902000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8091
8092 * boehm.c (mark_reference_fields, set_bit): Prototype.
8093 (set_bit): Un-ANSI-fy definition.
8094
8095 * class.c (init_test_hash_newfunc, decl_hash, decl_compare):
8096 Prototype.
8097
8098 * decl.c (emit_init_test_initialization): Likewise.
8099
8100 * gjavah.c (jni_print_char): Likewise.
8101
8102 * parse.y (create_new_parser_context): Likewise.
8103
62c9aa5f 81042000-03-30 Alexandre Petit-Bianco <apbianco@cygnus.com>
64ea4a5e
APB
8105
8106 * expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000
8107 patch missing hunk. Fixed indentation.
8108
05411ecf
TT
81092000-03-30 Tom Tromey <tromey@cygnus.com>
8110
8111 * gjavah.c (D_NAN_MASK): Only define as word-reversed when
8112 HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree.
8113
acbedd7c
APB
81142000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com>
8115
8116 * parse-scan.y (pop_class_context): Reset `inner_qualifier_length'
8117 when negative *before* using it as an array index.
8118 * ChangeLog: Fixed typo.
8119
0981a859
APB
81202000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com>
8121
8122 * parse-scan.y (pop_class_context): Reset `inner_qualifier_length'
8123 to 0 when it reaches -1.
8124
81252000-03-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
8126
8127 * jcf-parse.c (get_constant): Properly cast `num' during the
acbedd7c 8128 invocation of `add_double'.
0981a859
APB
8129 * jcf-write.c (push_long_const): Properly cast `lo' before
8130 comparing it to short bounds.
8131 * parse-scan.y (interface_declaration:): Rule re-arrange so that
8132 `interface_body:' is reduced after the current interface is
8133 pushed.
8134
a843e0ce
TT
81352000-03-26 Tom Tromey <tromey@cygnus.com>
8136
8137 * jvspec.c (jvgenmain_spec): Add `%{<...}' construct for each
8138 Java-specific `-f' option.
8139
62c9aa5f 81402000-03-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
ad41cc2a
RK
8141
8142 * decl.c (init_decl_processing): Only call initialize_sizetypes once.
8143 Adjust order of making types.
8144 Make bitsize_*_node values.
8145
62c9aa5f 81462000-03-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
770ae6cc
RK
8147
8148 * class.c (make_field_value): Use byte_position.
8149 * expr.c (JAVA_ARRAY_LENGTH_OFFSET): Use byte_position.
8150 (java_array_data_offset): Likewise.
8151 * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Add case to
8152 bzero call.
8153
165f37bc
APB
81542000-03-22 Alexandre Petit-Bianco <apbianco@cygnus.com>
8155
8156 * parse.y (check_abstract_method_definitions): New local
8157 `end_type_reached'. Make sure we also consider `end_type'.
0981a859
APB
8158 (java_check_abstract_method_definitions): Make sure we eventually
8159 consider `java.lang.Object'.
8160 (maybe_use_access_method): Don't use access method if not in the
8161 context of a pure inner class or if the method's context is right.
8162 (find_applicable_accessible_methods_list): New static flag
165f37bc 8163 `object_done'. Don't search abstract classes as interfaces. Fixed
0981a859
APB
8164 indentation. Fixed the `java.lang.Object' only search. Search
8165 class interface(s) first, then fully search enclosing contexts.
8166 (find_most_specific_methods_list): Pick the closest candidate when
165f37bc
APB
8167 they're all abstract.
8168
62c9aa5f 81692000-03-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
124906f9
APB
8170
8171 * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR:
dba41d30 8172 properly initialize `finished_label'. Don't emit gotos for empty
124906f9
APB
8173 try statements.
8174
809e3e7f 8175