]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/java/ChangeLog
Makefile.in: Update to use common.opt and lang_opt_files.
[thirdparty/gcc.git] / gcc / java / ChangeLog
CommitLineData
d7b42618
NB
12003-06-14 Neil Booth <neil@daikokuya.co.uk>
2
3 * Make-lang.in: Update to use options.c and options.h.
4 * lang.c: Include options.h not j-options.h.
5 (java_handle_option): Abort on unrecognized option.
6 (java_init_options): Request Java switches.
7
7fb26bb0
NB
82003-06-11 Neil Booth <neil@daikokuya.co.uk>
9
10 * Make-lang.in: Handle mostlyclean.
11
265411b6
TT
122003-06-11 Tom Tromey <tromey@redhat.com>
13
4a09cbac
TT
14 * lang.c (java_handle_option): Update dependency_tracking for
15 OPT_MF case.
16
265411b6
TT
17 * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
18 empty argument.
19
dc952677
AH
202003-06-10 Andrew Haley <aph@redhat.com>
21
22 * resource.c (write_resource_constructor): Use expand_expr to
23 generate the address of the label attached to a resource.
24 * Make-lang.in (java/resource.o): Add expr.h
25
e076f71a
AH
262003-06-10 Andrew Haley <aph@redhat.com>
27
28 * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
29 (java_decl_ok_for_sibcall): New.
30
95ca6d8b
NB
312003-06-09 Neil Booth <neil@daikokuya.co.uk>
32
33 * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
34 (java/j-options.c, java/j-options.h): New.
35 * java-tree.h (resource_name, compile_resource_file,
36 compile_resource_data): Constify.
37 * jcf-write.c (jcf_write_base_directory): Similarly.
38 * jcf.h (jcf_write_base_directory): Similarly.
39 * lang.c: Include j-options.h.
40 (cl_options_count, cl_options, string_option, java_decode_option,
41 lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
42 process_option_with_no): Remove.
43 (resource_name): Constify.
44 (LANG_HOOKS_HANDLE_OPTION): Override.
45 (java_handle_option): New.
46 (java_init): Don't call jcf_path_init.
47 (java_init_options): Call jcf_path_init.
48 * lang.opt: New.
49 * resource.c (compile_resource_data, compile_resource_file): Constify.
50
36f04556
NS
512003-06-09 Nathan Sidwell <nathan@codesourcery.com>
52
53 * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
54 (struct lang_decl_func): Add last_line field.
55 * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
56 DECL_SOURCE_LINE_LAST): Remove.
57 * parse.y (missing_return_error, finish_method_declaration,
58 lookup_cl, start_artificial_method_body, source_end_java_method,
59 start_complete_expand_method): Adjust.
60
f751e9c2
TT
612003-06-08 Tom Tromey <tromey@redhat.com>
62
63 * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
64 fno-assume-compiled.
65
5f158b44
RS
662003-06-08 Roger Sayle <roger@eyesopen.com>
67
68 * builtins.c (define_builtin_type, builtin_types): Delete.
69 (define_builtin): Rewritten to take just the built-in code,
70 the function's name, type and fallback library function name.
71 All built-ins used by Java are implicit and BUILT_IN_NORMAL.
72 (initialize_builtins): Overhaul to define the GCC builtins
73 used by gcj manually, providing the Java run-time's
74 implementations as the fallback library function.
75
f32c53c2
AG
762003-06-08 Anthony Green <green@redhat.com>
77
78 * parse.y (patch_cast): Fix conversions from floating-point to
79 integral types.
80
c8b04b13
NB
812003-06-08 Neil Booth <neil@daikokuya.co.uk>
82
83 * Make-lang.in: Update.
84 * lang.c: Include opts.h. Define cl_options_count and cl_options.
85
2772ef3e
NB
862003-06-07 Neil Booth <neil@daikokuya.co.uk>
87
88 * lang.c (java_init_options): Update.
89
8f231b5d
JH
90Thu Jun 5 18:33:40 CEST 2003 Jan Hubicka <jh@suse.cz>
91
92 * Make-lang.in: Add support for stageprofile and stagefeedback
93
4fa26a60
RS
942003-05-31 Roger Sayle <roger@eyesopen.com>
95
96 * lang.c (java_init_options): Prescribe wrap-around two's
97 complement arithmetic overflow by setting flag_wrapv.
98
833e1a77
RS
992003-05-29 Roger Sayle <roger@eyesopen.com>
100
101 * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
102 (builtin_record): Add an additional builtin_code field to
103 record which GCC built-in corresponds to the Java function.
104 (java_builtins): Add new entries for atan, atan2, exp, log,
105 pow and tan.
106 (max_builtin, min_builtin, abs_builtin): Perform constant
107 folding on the resulting tree.
108 (java_build_function_call_expr): Likewise, perform constant
109 folding on the resulting tree.
110 (initialize_builtins): The NULL creators are now allowed in
111 the java_builtins table, which is now terminated by an entry
112 with builtin_code == END_BUILTINS.
113 (check_for_builtin): Likewise. If the matching creator is
114 NULL, construct the call using java_build_function_call_expr
115 directly with the decl for the corresponding builtin_code.
116
24bcc721
NN
1172003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
118
119 * win32-host.c: Normalize copyright boilerplate.
120
90ff44cf
KG
1212003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
122
123 * parse.y (print_int_node): Use string concatentation on
124 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
125 function calls into one.
126
fa6ef813
ZW
1272003-05-13 Zack Weinberg <zack@codesourcery.com>
128
129 * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
130 fatal_io_error with calls to fatal_error; add ": %m" to the end of
131 all the affected error messages.
132
3bec3c0c
RH
1332003-05-13 Richard Henderson <rth@redhat.com>
134
135 * class.c (layout_class_method): Set DECL_EXTERNAL.
136 * decl.c (java_mark_decl_local, java_mark_class_local): New.
137 * java-tree.h (java_mark_class_local): Declare.
138 * jcf-parse.c (parse_class_file): Use it.
139 * parse.y (java_expand_classes): Likewise.
140
d4b56320
NS
1412003-05-04 Nathan Sidwell <nathan@codesourcery.com>
142
143 * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
144 * lex.h: #include input.h.
145 * jv-scan.c (input_filename): Remove.
146
73cb3b5a
TT
1472003-05-02 Tom Tromey <tromey@redhat.com>
148
149 PR java/10491:
150 * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
151 (handle_inner_classes): New function.
152
fcc8cecb
TT
1532003-05-01 Tom Tromey <tromey@redhat.com>
154
155 PR java/10459:
156 * parse.y (finish_for_loop): Do nothing if update expression is a
157 EXPR_WFL_NODE wrapping nothing.
158 (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
159
6060edcb
NS
1602003-05-02 Nathan Sidwell <nathan@codesourcery.com>
161
162 * lex.h (input_lineno): Remove declaration.
163 * parse-scan.y: #include input.h.
164 (input_filename): Remove declaration.
165 (input_location): Add definition.
166 (input_line): Remove definition.
167
3489e061
NS
1682003-05-01 Nathan Sidwell <nathan@codesourcery.com>
169
170 * lex.h (lineno): Rename to ...
171 (input_line): ... here
172 * parse-scan.y (lineno): Rename to ...
173 (input_line): ... here.
174 (reset_report): Rename lineno to input_line.
175 * check-init.c (check_init): Likewise.
176 * class.c (push_class): Likewise.
177 * decl.c (complete_start_java_method, end_java_method): Likewise.
178 * expr.c (expand_byte_code): Likewise.
179 * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
180 * jcf-write.c (generate_bytecode_insns): Likewise.
181 * lex.c (java_init_lex, java_allocate_new_line,
182 do_java_lex): Likewise.
183 * parse.h (YYNOT_TWICE): Likewise.
184 * parse.y (empty_statement, expression_statement,
185 java_pop_parser_context, java_parser_context_save_global,
186 yyerror, register_fields, method_header, safe_layout_class,
187 find_in_imports_on_demand, create_artificial_method,
188 source_end_java_method, start_complete_expand_method,
189 build_thisn_assign, java_complete_lhs,
190 maybe_absorb_scoping_block): Likewise.
191
ef963bc8
ME
1922003-04-20 Mohan Embar <gnustuff@thisiscool.com>
193
194 * jcf-io.c (find_class): use DIR_SEPARATOR instead of
195 '/' when computing java source filename
196
e6311b9e
TT
1972003-04-13 Tom Tromey <tromey@redhat.com>
198
199 * gjavah.c (print_c_decl): Indentation fix.
200
dcf92453
ZW
2012003-04-12 Zack Weinberg <zack@codesourcery.com>
202
203 * class.c (make_field_value, make_method_value, get_dispatch_table)
204 (make_class_data, emit_offset_symbol_table)
205 * constants.c (build_constants_constructor)
206 * java-tree.h (START_RECORD_CONSTRUCTOR)
207 * parse.y (maybe_build_array_element_wfl):
208 Use build_constructor.
209
04a0be36
EB
2102003-04-10 Eric Blake <ebb9@email.byu.edu>
211
212 PR java/10253:
213 * parse.y (string_convert_int_cst): Always use at least one digit
214 in string conversion. Remove ASCII dependence.
215 (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
216
72f339d2
AH
2172003-03-16 Mohan Embar <gnustuff@thisiscool.com>
218
219 * Make-lang.in: added win32-host.c
220 * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
221 resolves to open() on non-Win32 platforms and
222 Win32-specific jcf_open_exact_case() on Win32
223 * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
224 when trying .java and .class files
225 * win32-host.c: added to repository. Defines
226 Win32-specific jcf_open_exact_case()
227
2282003-04-10 Andrew Haley <aph@redhat.com>
229
230 * jcf-write.c (struct jcf_partial): num_jsrs: new field.
231 (maybe_free_localvar): Renamed from localvar_free.
232 Add new arg, really.
233 (generate_bytecode_insns): Set new variable, jsrs.
234 Only free local vars if no jsr insns have been emittted.
235 Call maybe_free_localvar, not localvar_free.
236
438f63a8
JM
2372003-03-30 Joseph S. Myers <jsm@polyomino.org.uk>
238
239 * gcj.texi: Remove @ at start of file.
240
dcb0eee2
TT
2412003-03-25 Tom Tromey <tromey@redhat.com>
242
243 * parse.y (create_interface): Call CHECK_DEPRECATED.
244
62c9aa5f
ZW
2452003-03-23 Zack Weinberg <zack@codesourcery.com>
246
247 * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
248
649eaf9b
ZW
2492003-03-21 Zack Weinberg <zack@codesourcery.com>
250
251 * javaop.h (jfloat, jdouble): Make them structures mirroring
252 the bit fields of IEEE float and double respectively.
253 (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
254 JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
255 (union Word, union DWord): Delete.
256 (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
257
258 * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
259 D_NAN_MASK): Delete.
260 (jni_print_float, jni_print_double): New. Generate
261 hexadecimal floating constants.
262 (print_field_info): Use jni_print_float/double.
263
264 * jcf-dump.c: Include math.h. Use ldexp/frexp to assemble
265 finite floating point numbers for output; special case
266 non-finite floats.
267
2bd3ecad
NN
2682003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
269
270 * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
271 Replace 0 and 1 with true and false in return statements.
272
b25a23bd
TT
2732003-03-19 Tom Tromey <tromey@redhat.com>
274
275 * lex.c (do_java_lex): Renamed from java_lex.
276 (java_lex): New function.
277 Include timevar.h.
278
2f29e5e8
TT
2792003-03-13 Tom Tromey <tromey@redhat.com>
280
281 * parse.y (resolve_inner_class): Error if qualifier is a primitive
282 type.
283
68566610
AH
2842003-03-04 Andrew Haley <aph@redhat.com>
285
649eaf9b
ZW
286 * gjavah.c (is_first_data_member): New global variable.
287 (print_c_decl): If it's the first data member, align it as the
288 superclass.
289 (process_file): Set is_first_data_member.
68566610 290
8b8e6c64
TT
2912003-03-11 Tom Tromey <tromey@redhat.com>
292
293 * parse.y (resolve_field_access): Initialize class if field is
294 found in another static field.
295 * expr.c (build_class_init): Don't optimize out initialization of
296 implemented interface.
297
3d874dea
AH
2982003-03-11 Andrew Haley <aph@redhat.com>
299
300 * jcf-io.c (caching_stat): Initialize origsep to remove compiler
301 warning.
302
630287af
RM
3032003-03-10 Ranjit Mathew <rmathew@hotmail.com>
304
305 * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
306 and DIR_SEPARATOR_2 for a target.
307 Correct minor typos.
308
309 * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
310 and DIR_SEPARATOR_2 for a target into account.
311
4bfec483
NB
3122003-03-08 Neil Booth <neil@daikokuya.co.uk>
313
314 * lang.c (java_init): Update prototype, move code to java_post_options.
315 (java_post_options): Similarly.
316
530d4230
RM
3172003-03-05 Ranjit Mathew <rmathew@hotmail.com>
318
319 * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
320 compare file name components depending on the case-sensitivity
321 or otherwise of the host file system.
322
323 * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
324 "strcmp" to compare file name components.
325 Use IS_DIR_SEPARATOR instead of comparing directly against
326 DIR_SEPARATOR.
649eaf9b 327 (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
530d4230
RM
328 comparing directly against DIR_SEPARATOR.
329
5993642d
TT
3302003-03-04 Tom Tromey <tromey@redhat.com>
331
332 * Make-lang.in (java.tags): New target.
333
08291658
RS
3342003-03-01 Roger Sayle <roger@eyesopen.com>
335
336 * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
337 (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
338
11522327
TT
3392003-03-01 Tom Tromey <tromey@redhat.com>
340
341 * parse.y (jdep_resolve_class): Only check deprecation if we found
342 a decl.
343
0ea05c0d
TT
3442003-02-28 Tom Tromey <tromey@redhat.com>
345
346 PR java/9695:
347 * class.c (maybe_layout_super_class): Always pass a WFL to
348 do_resolve_class.
349 * parse.y (do_resolve_class): Updated comment to explain
350 parameters.
351
49b973cb
TT
3522003-02-26 Tom Tromey <tromey@redhat.com>
353
354 * jcf-write.c (generate_classfile): Check whether class is
355 deprecated before writing attribute count.
356
b052d8ee
RS
3572003-02-25 Roger Sayle <roger@eyesopen.com>
358
359 * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
360 built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
649eaf9b 361
f94ae540
TT
3622003-02-23 Tom Tromey <tromey@redhat.com>
363
364 * lang-options.h: Added -Wdeprecated.
365 * gcj.texi (Warnings): Document -Wdeprecated.
366 * java-tree.h (flag_deprecated): Declare.
367 * lang.c (lang_W_options): Added deprecated.
368 (flag_deprecated): New global.
369 * chartables.h: Rebuilt.
370 * gen-table.pl (process_one): Look at whitespace.
371 (print_tables): Define LETTER_SPACE, LETTER_MASK.
372 * parse.h (CLEAR_DEPRECATED): New macro.
373 (CHECK_DEPRECATED_NO_RESET): New macro.
374 * jcf-parse.c (handle_deprecated): New function.
375 (HANDLE_DEPRECATED_ATTRIBUTE): New define.
376 * jcf-reader.c (get_attribute): Handle Deprecated attribute.
377 * parse.y (resolve_type_during_patch): Check deprecation.
378 (jdep_resolve_class): Likewise.
379 (process_imports): Likewise.
380 (resolve_expression_name): Likewise.
381 (check_deprecation): Strip arrays from decl. Check
382 flag_deprecated.
383 (patch_method_invocation): Also check the particular constructor
384 for deprecation.
385 (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
386 * jcf-write.c (append_deprecated_attribute): New function.
387 (generate_classfile): Generate deprecated attribute when
388 appropriate.
389 * lex.c (java_parse_doc_section): Return type now void. Rewrote.
390 (java_lex) [case '*']: Simplify logic.
391 (java_start_char_p): Use LETTER_MASK.
392 (java_part_char_p): Likewise.
393 (java_space_char_p): New function.
394
dbbf88d1
NS
3952003-02-20 Nathan Sidwell <nathan@codesourcery.com>
396
397 Change base class access representation.
398 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
399 (add_interface_do): Likewise.
400
697ec326
RM
4012003-02-12 Ranjit Mathew <rmathew@hotmail.com>
402
649eaf9b 403 * decl.c (java_init_decl_processing): Change
697ec326
RM
404 soft_lookupjnimethod_node to reflect the change in
405 signature of _Jv_LookupJNIMethod in libjava/jni.cc
406 * expr.c (build_jni_stub): Calculate and pass the size
407 on the stack of the arguments to a JNI function. Use
649eaf9b 408 new target macro MODIFY_JNI_METHOD_CALL to allow a
697ec326
RM
409 target to modify the call to a JNI method.
410
afc432a9
RS
4112003-02-08 Roger Sayle <roger@eyesopen.com>
412
413 * jcf-io.c (java_or_class_file): Use libiberty's lbasename
414 instead of basename to avoid compiler warnings on Tru64.
415
b3a8389d
JM
4162003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
417
418 * gcj.texi: Update to GFDL 1.2.
419
2d7b3505
AH
4202003-01-31 Andrew Haley <aph@redhat.com>
421
422 * parse.y (java_expand_classes): Scan the whole class list looking
423 for access methods that haven't yet been expanded.
424
7d503466
AB
4252003-01-31 Adrian Bunk <bunk@fs.tum.de>
426
427 Fix for java/4269:
428
429 * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
430 to fix bootstrap on sparc-unknown-netbsdelf1.5.
431 * jcf-parse.c: Likewise.
432
36da0e78
MW
4332003-01-31 Mark Wielaard <mark@klomp.org>
434
435 * gjavah.c (throwable_p): Allocate 1 more byte for string.
436
1824b90d
NS
4372003-01-31 Nathan Sidwell <nathan@codesourcery.com>
438
439 * class.c (make_class): Use BINFO_ELTS.
440 (set_super_info): Likewse.
441 (add_interface_do): Likewise.
442
7e278bae
TT
4432003-01-30 Tom Tromey <tromey@redhat.com>
444
445 * jcf-parse.c (read_class): Update identifier's class value if it
446 changed during parsing.
447
65eb9b87
LR
4482003-01-30 Loren James Rittle <ljrittle@acm.org>
449
450 * Make-lang.in (po-generated): Find the targets in $(parsedir).
451 Propagate change to all other rules as required.
452 (java/parse-scan.o): Add explicit dependency on
453 $(parsedir)/java/parse-scan.c .
454
c78f2b91
TT
4552003-01-29 Tom Tromey <tromey@redhat.com>
456
457 * parse.y (patch_assignment): Only transform the rhs of an
458 assignment when compiling to native.
459
0d42c3c2
TT
4602003-01-28 Tom Tromey <tromey@redhat.com>
461
462 * jcf-write.c (generate_bytecode_conditional): Typo fixes.
463
82b22c42
TT
4642003-01-28 Tom Tromey <tromey@redhat.com>
465
466 * lex.c (java_lex): Don't include UEOF as part of token.
467 (java_read_unicode): Error if \u sequence prematurely terminated.
468
6a807d35
TT
4692003-01-27 Tom Tromey <tromey@redhat.com>
470
471 * parse.y (java_check_regular_methods): Check for construct after
472 checking types in throws clause.
473
c2c98445
TT
4742003-01-24 Tom Tromey <tromey@redhat.com>
475
476 * class.c (build_static_field_ref): Only a String or numeric field
477 can fold to a constant.
478
8bef0925
TT
4792003-01-23 Tom Tromey <tromey@redhat.com>
480
481 * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
482 file name in resource buffer.
483
1f369e60
TT
4842003-01-23 Tom Tromey <tromey@redhat.com>
485
486 * expr.c (build_known_method_ref): Use method's context to find
487 method table index.
488
0f0ff6ec
TT
4892003-01-23 Tom Tromey <tromey@redhat.com>
490
491 * constants.c (set_constant_entry): Allocated cleared memory.
492
850ccfae
TT
4932003-01-22 Tom Tromey <tromey@redhat.com>
494
495 * java-tree.h: Don't use PARAMS.
496 * resource.c: Add prototypes for all functions.
497 (write_resource_constructor): Use `const char *' to avoid
498 warning.
499
e00d2127
NN
5002003-01-22 Nathanael Nerode <neroden@gcc.gnu.org>
501
502 * jcf-parse.c (process_zip_dir): Remove unused variable.
503
906c7c32
TT
5042003-01-22 Tom Tromey <tromey@redhat.com>
505
506 * expr.c (build_invokeinterface): Abort if method's context is not
507 an interface.
508
3e895978
TT
5092003-01-22 Tom Tromey <tromey@redhat.com>
510
511 * gcj.texi (Input and output files): Mention non-class entries.
512 * decl.c (java_init_decl_processing): Call
513 init_resource_processing.
514 * java-tree.h (compile_resource_data, write_resource_constructor,
515 compile_resource_file, init_resource_processing): Declare.
516 * config-lang.in (gtfiles): Added resource.c.
517 * Make-lang.in (gt-java-resource.h): New target.
518 (JAVA_OBJS): Added resource.o.
519 (java/resource.o): New target.
520 * resource.c: New file.
521 * class.c (compile_resource_file): Moved to resource.c.
522 (registerResource_libfunc): Likewise.
523 (utf8_decl_list): Mark with GTY; now static.
524 * jcf-parse.c (classify_zip_file): New function.
525 (parse_zip_file_entries): Use it; compile .properties files.
526 (process_zip_dir): Use classify_zip_file and compute_class_name.
527 Don't write class name into zip directory.
528 (java_parse_file): Call write_resource_constructor.
529 (compute_class_name): New function.
530 * jcf-io.c (read_zip_member): Reindented.
531
5c64ead4
TT
5322003-01-21 Tom Tromey <tromey@redhat.com>
533
534 * class.c (supers_all_compiled): New function.
535 (make_class_data): Use it.
536
9179646e
TT
5372003-01-21 Tom Tromey <tromey@redhat.com>
538
539 * parse.y (method_header): Native method can't be strictfp.
540 No method can be transient or volatile.
541
dd859b8a
KG
5422003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
543
544 Make-lang.in (jvspec.o-warn): Add -Wno-error.
545
634661fe
KH
5462003-01-18 Kazu Hirata <kazu@cs.umass.edu>
547
548 * check-init.c: Fix comment typos.
549 * class.c: Likewise.
550 * constants.c: Likewise.
551 * decl.c: Likewise.
552 * except.c: Likewise.
553 * expr.c: Likewise.
554 * java-except.h: Likewise.
555 * java-tree.h: Likewise.
556 * javaop.h: Likewise.
557 * jcf-dump.c: Likewise.
558 * jcf-io.c: Likewise.
559 * jcf-parse.c: Likewise.
560 * jcf-write.c: Likewise.
561 * lang.c: Likewise.
562 * mangle.c: Likewise.
563 * typeck.c: Likewise.
564 * verify.c: Likewise.
565
a1fb4e91
KG
5662003-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
567
568 * Make-lang.in (java/jcf-write.o): Depend on $(TM_P_H).
569 * jcf-write.c: Include "tm_p.h".
570
1faad0fc
KG
5712003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
572
573 * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
574
fc555370
KG
5752003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
576
f981519d
KG
577 * builtins.c (java_build_function_call_expr): Renamed from
578 build_function_call_expr. All callers changed.
579
0334ef47
KG
580 * Make-lang.in (java/jcf-parse.o): Depend on $(TM_P_H).
581 * jcf-parse.c: Include tm_p.h.
582
fc555370
KG
583 * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
584 warning.
585
d9bbf3f7
TT
5862003-01-14 Tom Tromey <tromey@redhat.com>
587
588 * class.c (make_class_data): Check that super is compiled before
589 building class reference to it.
590
47411341
AH
5912003-01-14 Andrew Haley <aph@redhat.com>
592
593 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
649eaf9b 594 varargs function -- correct.
47411341 595
e5c9ced4
AH
5962003-01-14 Andrew Haley <aph@redhat.com>
597
598 * decl.c (java_init_decl_processing): Temporarily back out previous patch.
599
50cbc605
AH
6002003-01-14 Andrew Haley <aph@redhat.com>
601
602 * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a
603 varargs function -- correct.
604
605 * parse.y (patch_assignment): Copy the rhs of an assignment into a
606 temporary if the RHS is a reference.
607
0a2f0c54
KG
6082003-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
609
b3504bc1
KG
610 * Make-lang.in (keyword.h): Pass "-L ANSI-C" to gperf.
611 * keyword.h: Regenerated.
612
0a2f0c54
KG
613 * All Files: Convert to ISO C style function definitions.
614
43a4a12b
NN
6152003-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
616
617 * parse.y (check_pkg_class_access): ANSIfy definition.
618
77d3109b
KG
6192003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
620
d12689d2
KG
621 * decl.c, parse-scan.y, parse.y: Don't cast return value of
622 xmalloc et al.
623
77d3109b
KG
624 * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
625
17211ab5
GK
6262003-01-09 Geoffrey Keating <geoffk@apple.com>
627
628 Merge from pch-branch:
629
630 2002-12-02 Geoffrey Keating <geoffk@apple.com>
631
632 * Make-lang.in (java/gjavah.o): Update dependencies.
633 * gjavah.c: Include ggc.h.
634
635 2002-08-16 Geoffrey Keating <geoffk@redhat.com>
636
637 * Make-lang.in (GCJH_OBJS): Add ggc-none.o.
638 (JCFDUMP_OBJS): Add ggc-none.o.
639 (java/jcf-dump.o): Depend on GGC_H.
640 * jcf-reader.c (jcf_parse_constant_pool): Use ggc_alloc to allocate
641 CPool substructures.
642 * jcf-parse.c (process_zip_dir): Use ggc_alloc to allocate JCFs.
643 * jcf-dump.c: Include ggc.h.
644
645 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
646
647 * jcf.h (union cpool_entry): New.
648 (struct CPool): Use gengtype to mark. Change field 'data' to be
649 an array of unions.
650 (struct JCF): Use gengtype to mark.
651 (CPOOL_UINT): Update for new cpool_entry type.
652 (CPOOL_USHORT1): Likewise.
653 (CPOOL_USHORT2): Likewise.
654 (CPOOL_FINISH): Use GC to free cpool subfields.
655 * parse.h (struct parser_ctxt): Mark field current_jcf.
656 * lex.c (java_init_lex): Use GC to allocate struct JCF.
657 * jcf-parse.c (HANDLE_CONSTANT_Utf8): Update for new cpool_entry type.
658 (main_jcf): Use gengtype to mark.
659 (ggc_mark_jcf): Delete.
660 (get_constant): Update for new cpool_entry type.
661 (give_name_to_class): Likewise.
662 (get_class_constant): Likewise.
663 (init_outgoing_cpool): Use GGC to allocate struct CPool.
664 (java_parse_file): Use GGC to allocate struct JCF.
665 (init_jcf_parse): Don't call ggc_add_root.
666 * jcf-reader.c (jcf_parse_constant_pool): Update for new
667 cpool_entry type.
668 * java-tree.h (current_jcf): Use gengtype to mark.
669 (CPOOL_UTF): Update for new cpool_entry type.
670 (outgoing_cpool): Use gengtype to mark.
671 (struct lang_type): GC struct JCF and struct CPool.
672 * config-lang.in (gtfiles): Add jcf.h.
673 * constants.c (find_tree_constant): New.
674 (set_constant_entry): Allocate cpool subfields using GGC. Update
675 for new cpool_entry type.
676 (find_constant1): Update for new cpool_entry type.
677 (find_constant2): Likewise.
678 (find_utf8_constant): Use find_tree_constant.
679 (find_class_or_string_constant): Remove unnecessary cast to jword.
680 Update for new cpool_entry type.
681 (count_constant_pool_bytes): Update for new cpool_entry type.
682 (write_constant_pool): Likewise.
683 (alloc_name_constant): Use find_tree_constant.
684 (build_constants_constructor): Update for new cpool_entry type.
685
686 2002-08-08 Geoffrey Keating <geoffk@redhat.com>
687
688 * parse.y (mark_parser_ctxt): Delete.
689 (goal): Don't use ggc_add_root.
690 (create_new_parser_context): Use GC to allocate struct parser_ctxt.
691 (java_pop_parser_context): Let GC free parser_ctxt.
692 (java_parser_context_resume): Likewise.
693 * parse.h (struct parser_ctxt): Use gengtype to mark.
694 (ctxp): Likewise.
695 (ctxp_for_generation): Likewise.
696 * lex.h (struct java_lc_s): Mark for gengtype.
697 (java_lexer): Rearrange for gengtype.
698 * config-lang.in (gtfiles): Add lex.h, parse.h.
699
b3339cf7
KG
7002003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
701
d2097937
KG
702 * All Files: Remove PARAMS macro.
703
6ff2fe39
KG
704 * expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
705 jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
706 `__STDC__' macros.
707
b3339cf7
KG
708 * jv-scan.c, parse.y: Remove VPARAMS, VA_OPEN, VA_FIXEDARG and
709 VA_CLOSE.
710
8a4c5898
CC
7112003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
712
713 * Make-lang.in (java.install-common, java.uninstall,
714 java.install-info, java.install-man): Prepend $(DESTDIR)
715 to destination paths in all (un)installation commands.
716 (java.install-common): Rewrite $(LN) command to support
717 DESTDIR with "ln" as well as with "ln -s".
718
2f23f5c1
NN
7192003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
720
721 * java-tree.h: Protect against multiple inclusion.
722
b47ffb8f
TT
7232003-01-07 Tom Tromey <tromey@redhat.com>
724
725 * class.c (add_assume_compiled): Don't adjust parent if we're
726 already at the root of tree.
727
c7c50494
KG
7282003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
729
730 * lang.c (dump_compound_expr): Prototype.
731
f3ce4aba
TT
7322003-01-03 Tom Tromey <tromey@redhat.com>
733
734 Fix for PR java/8712:
735 * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR,
736 when simply checking against `null'.
737
60db58b2
TT
7382003-01-03 Tom Tromey <tromey@redhat.com>
739
0320cac3
TT
740 * gcj.texi (Standard Properties): Document http.proxyHost and
741 http.proxyPort.
742
60db58b2
TT
743 * gcj.texi (GNU Classpath Properties): Document new properties.
744
43c6a96a
SB
7452003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
746
747 * java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf,
748 java/lang-options.h, java/mangle.c, java/mangle_name.c,
749 java/xref.c, java/zextract.c,java/zipfile.h: Fix copyright years.
750
f309ff0a
SB
7512003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
752
753 * Make-lang.in, boehm.c, buffer.c,
754 buffer.h, builtins.c, class.c,
755 config-lang.in, constants.c,
756 convert.h, decl.c, except.c,
757 expr.c, java-except.h,
758 java-tree.h, javaop.def,
759 jcf-parse.c, jcf-write.c,
760 jv-scan.c, jvgenmain.c,
43c6a96a 761 jvspec.c, keyword.gperf,
f309ff0a
SB
762 keyword.h, lang-options.h,
763 lang-specs.h, lang.c, lex.c,
764 lex.h, mangle.c, mangle_name.c,
765 parse-scan.y, parse.h, parse.y,
766 typeck.c, verify.c, xref.c,
767 xref.h: Replace "GNU CC" with
768 "GCC" in the copyright header.
769
770 * check-init.c, gjavah.c, javaop.h,
771 jcf-depend.c, jcf-dump.c, jcf-io.c,
772 jcf-path.c, jcf-reader.c, jcf.h,
773 zextract.c, zipfile.h: These files are
774 "part of GCC". Also say "GCC" not "GNU CC".
775
9a280a6e
DD
7762002-12-30 DJ Delorie <dj@redhat.com>
777
e2f45c30 778 * Make-lang.in: Protect against texi2pod/pod2man failing.
9a280a6e 779
bdefb2ab
JM
7802002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
781
782 * gcj.texi: Use @copying.
783
239b7dea
MM
7842002-12-27 Mark Mitchell <mark@codesourcery.com>
785
786 * gjavah.c (print_name_for_stub_or_jni): Adjust call to
787 print_cxx_classname.
788 (print_cxx_classname): Add add_scope parameter.
789 (print_class_decls): Do not emit a semicolon after the extern
790 "Java" block.
43c6a96a 791 (process_file): Adjust calls to print_cxx_classname.
239b7dea 792
df82908a
JM
7932002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
794
795 * gcj.texi: Include Cover Texts in man page.
796
d3ab697b
JS
7972002-12-23 Jeff Sturm <jsturm@one-point.com>
798
799 * class.c (build_static_field_ref): Check FIELD_FINAL.
800
801 * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF
802 instead of current_constant_pool_data_ref.
803 * java-tree.h (current_constant_pool_data_ref): Undefine.
804 (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove.
805 * jcf-parse.c (init_outgoing_cpool): Don't initialize
806 current_constant_pool_data_ref.
807
808 * except.c (prepare_eh_table_type ): Use DECL_NAME of class type,
809 not build_internal_class_name.
810
811 * parse.y (patch_incomplete_class_ref): Always emit `class$' method.
812 Use it when class ref isn't certain to be compiled.
813
46d40353
JM
8142002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
815
816 * gcj.texi: Include gcc-common.texi.
817 * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on
818 $(srcdir)/doc/include/gcc-common.texi.
819
fba1caab
AG
8202002-12-22 Anthony Green <green@redhat.com>
821
822 * gcj.texi (Limitations): Add note about org.xml.sax and
823 org.w3c.dom.
824
913746e3
TT
8252002-12-20 Tom Tromey <tromey@redhat.com>
826
827 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case
828 where minimum case value is Integer.MIN_VALUE.
829 Fixes PR java/8955.
830
71d082af
AH
8312002-12-18 Andrew Haley <aph@redhat.com>
832
833 * parse.y (patch_invoke): Force evaluation order when `check' is
834 set. For PR libgcj/8945.
835
7a04c51b
MM
8362002-12-16 Mark Mitchell <mark@codesourcery.com>
837
838 * gcj.texi: Change version number to 3.4.
839
0cc1565a 8402002-12-05 Ranjit Mathew <rmathew@hotmail.com>
649eaf9b 841 Andrew Haley <aph@redhat.com>
0cc1565a
RM
842
843 * parse.y (source_end_java_method): Remove custom encoding of line
844 numbers for a function decl before passing it to the back end.
845
421f9e60
AH
8462002-12-03 Andrew Haley <aph@redhat.com>
847
848 * class.c (make_class_data): New field, "chain".
849 * decl.c (java_init_decl_processing): Likewise.
850
6b55b27f
TT
8512002-12-02 Tom Tromey <tromey@redhat.com>
852
853 For PR java/8740:
854 * parse.y (do_resolve_class): Handle qualified name via
855 recursion.
856
4977bab6
ZW
8572002-11-30 Zack Weinberg <zack@codesourcery.com>
858
859 * boehm.c, buffer.c, builtins.c, check-init.c, class.c,
860 constants.c, decl.c, except.c, expr.c, gjavah.c, jcf-depend.c,
861 jcf-dump.c, jcf-io.c, jcf-parse.c, jcf-path.c, jcf-write.c,
862 jv-scan.c, jvgenmain.c, jvspec.c, lang.c, mangle.c, mangle_name.c,
863 parse-scan.y, parse.y, typeck.c, verify.c, xref.c, zextract.c:
864 Include coretypes.h and tm.h.
865 * Make-lang.in: Update dependencies.
866
d1aed877
KG
8672002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
868
869 * decl.c (java_init_decl_processing): Use `LL' on 64-bit constant.
870
b4bbc8b7
DN
8712002-11-25 Diego Novillo <dnovillo@redhat.com>
872
873 * jcf-reader.c: Don't expand JCF_readu4 inside the
874 expansion of JCF_SKIP.
875
4977bab6
ZW
8762002-11-25 Diego Novillo <dnovillo@redhat.com>
877
878 * jcf-reader.c: Don't expand JCF_readu4 inside the
879 expansion of JCF_SKIP.
880
dd06be9e
TT
8812002-11-22 Tom Tromey <tromey@redhat.com>
882
883 * parse.y (patch_binop): Cast right hand side of shift expression
884 to `int'. Fixes PR java/8676.
885
34744d4e
RM
8862002-11-22 Ranjit Mathew <rmathew@hotmail.com>
887 Andrew Haley <aph@redhat.com>
888
889 * gcc/java/jcf-write.c (write_classfile): Remove target
890 class file, if it exists, before renaming the temporary
891 class file to it.
892
f3226a90
JT
8932002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
894
895 * jvspec.c (lang_specific_spec_functions): New.
896
5602b49d
TT
8972002-11-18 Tom Tromey <tromey@redhat.com>
898
899 Fix for PR java/7912:
900 * expr.c (can_widen_reference_to): Allow cast of array to
901 Cloneable or Serializable.
902 * java-tree.h (java_lang_cloneable_identifier_node): Declare.
903 (java_io_serializable_identifier_node): Likewise.
904 * parse.y (java_lang_cloneable, java_io_serializable): Removed.
905 (valid_ref_assignconv_cast_p): Use new identifier nodes.
906 * lex.c (java_init_lex): Don't initialize java_lang_cloneable and
907 java_io_serializable.
908 * decl.c (java_init_decl_processing): Initialize
909 java_lang_cloneable_identifier_node and
910 java_io_serializable_identifier_node.
911 (java_lang_cloneable_identifier_node): New global.
912 (java_io_serializable_identifier_node): Likewise.
913
a92cb0c3
JMH
9142002-11-14 Jens-Michael Hoffmann <jensmh@gmx.de>
915
916 * buffer.c: Remove unnecessary casts.
917 * check-init.c: Likewise.
918 * class.c: Likewise.
919 * constants.c: Likewise.
920 * decl.c: Likewise.
921 * except.c: Likewise.
922 * gjavah.c: Likewise.
923 * jcf-io.c: Likewise.
924 * jcf-parse.c: Likewise.
925 * jcf-path.c: Likewise.
926 * jvspec.c: Likewise.
927 * lang.c: Likewise.
928 * lex.c: Likewise.
929 * verify.c: Likewise.
930
5bd717f1
TT
9312002-11-06 Tom Tromey <tromey@redhat.com>
932
933 * gjavah.c (print_stub_or_jni): Include JNIEXPORT and JNICALL in
934 a JNI header.
935
c034b453
TT
9362002-11-05 Tom Tromey <tromey@redhat.com>
937
938 Fix for PR java/6388.
939 * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while.
940 * java-tree.h (enum java_tree_index): New values
941 JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE.
942 (decimal_int_max, decimal_long_max): New defines.
943 * lex.c (yylex): Rewrote range checking. Sign extend literals.
944 (error_if_numeric_overflow): Rewrote range checking.
945 * decl.c (java_init_decl_processing): Initialize decimal_int_max,
946 decimal_long_max.
947
21140beb
TT
9482002-11-02 Tom Tromey <tromey@redhat.com>
949
60b68525
TT
950 * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.
951
21140beb
TT
952 * class.c (make_method_value): Put class name, not signature, into
953 `throws' field. For PR java/8415.
954
3752ac08
TT
9552002-10-24 Tom Tromey <tromey@redhat.com>
956
957 * gcj.texi (Invoking gij): Document --showversion.
958 (Standard Properties): java.library.path now set.
959
0d3911c9
TT
9602002-10-23 Tom Tromey <tromey@redhat.com>
961
962 * gjavah.c (decode_signature_piece): In JNI mode, print
963 `jobjectArray' when array depth is nonzero.
964 Fixes PR java/8296.
965
c1ddb5c8
AH
9662002-10-15 Andrew Haley <aph@redhat.com>
967
968 * parse.y (patch_invoke): Call force_evaluation_order on a static
969 arg list.
970 (resolve_qualified_expression_name): Call force_evaluation_order
971 on a arg list that is part of a Qualified Expression Name.
972
973 * lang.c (dump_compound_expr): New.
974 (java_dump_tree): New.
975
63bb20d4
RM
9762002-10-20 Ranjit Mathew <rmathew@hotmail.com>
977
978 * gcj.texi: Added item describing the GCJ runtime property
979 "gnu.gcj.progname".
980
ba0bb02d
RH
9812002-10-15 Richard Henderson <rth@redhat.com>
982
983 * jcf-parse.c (get_constant): Fix type warning.
984
dbd1e2d8
AH
9852002-10-15 Andrew Haley <aph@redhat.com>
986
987 * java-tree.h (java_inlining_merge_static_initializers): Declare.
988 (java_inlining_map_static_initializers): Declare.
989
3eb429b2
AH
9902002-10-14 Andrew Haley <aph@redhat.com>
991
992 * tree-inline.c (remap_block): All local class initialization
993 flags go in the outermost scope.
994 (expand_call_inline): Call java_inlining_map_static_initializers.
995 (expand_call_inline): Call java_inlining_merge_static_initializers.
996 * java/lang.c (merge_init_test_initialization): New.
997 (java_inlining_merge_static_initializers): New.
998 (inline_init_test_initialization): New.
999 (java_inlining_map_static_initializers): New.
1000
37d2b7e2
MW
10012002-10-11 Mark Wielaard <mark@klomp.org>
1002
1003 * gcj.texi (Compatibility): Add Limitations and Extensions section.
1004
7bdfd72e
KG
10052002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1006
1007 * class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
1008
c6449a1d
KG
10092002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1010
1011 * parse.y (merge_string_cste): Add parentheses around & within |.
1012
8f6d2e96
TT
10132002-10-08 Tom Tromey <tromey@redhat.com>
1014
1015 * parse.y (variable_declarator_id): Simplify error path for
1016 array declarator error. For PR java/8003.
1017
36624850
ZW
10182002-10-08 Zack Weinberg <zack@codesourcery.com>
1019
1020 * gjavah.c, jcf-dump.c, jv-scan.c: Globally replace GCCBUGURL with
1021 bug_report_url.
1022
ce5bb293
AH
10232002-10-08 Andrew Haley <aph@redhat.com>
1024
1025 * parse.y (attach_init_test_initialization_flags): Check for
1026 error_mark_node.
1027
36624850 10282002-10-07 Anthony Green <green@redhat.com>
6a921942 1029
36624850 1030 * parse.y (merge_string_cste): Fix bug in string concatenation.
6a921942 1031
f42ee52f
MK
10322002-10-03 Michael Koch <konqueror@gmx.de>
1033
1034 * gcj.texi (Standard properties):
1035 Change default of java.awt.toolkit to gnu.awt.gtk.GtkToolkit.
1036
f963b5d9
RS
10372002-10-02 Roger Sayle <roger@eyesopen.com>
1038
1039 PR optimization/6627
1040 * lang.c (java_init): If storing the vbit in function
1041 pointers, ensure that force_align_functions_log is atleast
1042 one to aid compatability with g++ vtables.
1043
6f7e9e94
NS
10442002-10-01 Nathan Sidwell <nathan@codesourcery.com>
1045
1046 * jcf-dump.c (print_constant, case CONSTANT_float): Don't fall
1047 foul of type-based aliasing.
1048
71dff728
AG
10492002-09-30 Anthony Green <green@redhat.com>
1050
1051 * gcj.texi (Invoking jv-scan): Fix texinfo.
1052
acc59b85
AG
10532002-09-28 Anthony Green <green@redhat.com>
1054
1055 * gcj.texi (Invoking jv-scan): Add --no-assert documentation.
1056 (Code Generation): Add -fno-assert documentation.
1057 * jv-scan.c (flag_assert): New global.
1058 (options): Add assert option.
1059 (help): Add --no-assert documentation.
1060 * parse-scan.y (flag_assert): New global.
1061 * lang.c (lang_f_options): Add -fassert/-fno-assert support.
1062 (flag_assert): New global.
1063 * java-tree.h (flag_assert): New global.
1064 * lex.c (java_lex): Obey flag_assert.
1065 * jvspec.c (jvgenmain_spec): Strip -fassert/-fno-assert when
1066 calling cc1.
1067
fc5295fa
AH
10682002-09-26 Andrew Haley <aph@redhat.com>
1069
1070 * expr.c (build_java_array_length_access): Check for null pointer.
1071 * expr.c (expand_java_arrayload): Likewise.
1072
aa2046c4
RH
10732002-09-21 Richard Henderson <rth@redhat.com>
1074
36624850 1075 * jcf-parse.c (get_constant): Decode from IEEE no matter
aa2046c4
RH
1076 what the target format.
1077
ee142fe7
KH
10782002-09-20 Kazu Hirata <kazu@cs.umass.edu>
1079
1080 * ChangeLog: Follow spelling conventions.
1081 * class.c: Likewise.
1082 * decl.c: Likewise.
1083 * expr.c: Likewise.
1084 * gjavah.c: Likewise.
1085 * java-tree.h: Likewise.
1086 * jcf-dump.c: Likewise.
1087 * jcf-parse.c: Likewise.
1088 * jvspec.c: Likewise.
1089 * lang.c: Likewise.
1090 * mangle.c: Likewise.
1091 * parse.y: Likewise.
1092
6a022513
TT
10932002-09-17 Tom Tromey <tromey@redhat.com>
1094
1095 * lex.c (java_read_unicode_collapsing_terminators): Handle case
1096 where \r appears at EOF. Fixes PR java/7950.
1097
4977bab6
ZW
10982002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1099
1100 * jvspec.c (lang_specific_driver): Remove unused variable.
1101
36a5eadd
GK
11022002-09-16 Geoffrey Keating <geoffk@apple.com>
1103
1104 * java-tree.h (union lang_tree_node): Add chain_next option.
1105
efdc7e19
RH
11062002-09-16 Richard Henderson <rth@redhat.com>
1107
1108 * jcf-parse.c (get_constant): Runtime check for IEEE format;
1109 use new real.h interface.
1110 * jcf-write.c (find_constant_index): Use new real.h interface.
1111 * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
1112
6522685d
KH
11132002-09-15 Kazu Hirata <kazu@cs.umass.edu>
1114
25facd31 1115 * lang.c: Follow spelling conventions.
6522685d 1116
6e471ea7
PB
11172002-09-11 Per Bothner <per@bothner.com>
1118
1119 * parse.y (fold_constant_for_init): If a VAR_DECL, convert numerical
1120 constant to the type of the field.
1121 (java_complete_tree): Remove now-redundant code.
1122
1123 * parse.y (fold_constant_for_init): 'null' is not a constant expr.
1124
23114b69
JR
11252002-09-03 Jesse Rosenstock <jmr@ugcs.caltech.edu>
1126
1127 For PR java/5794:
1128 * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
1129 return label if a ret instruction for the jsr has been reached.
1130
f724acb8
RM
11312002-09-09 Ranjit Mathew <rmathew@hotmail.com>
1132
1133 * parse.y (DIR_SEPARATOR): Don't define.
1134 (check_class_interface_creation): Use IS_DIR_SEPARATOR.
1135
b139fcfd
AH
11362002-08-28 Andrew Haley <aph@redhat.com>
1137
1138 * verify.c (verify_jvm_instructions): Allow exception handler
1139 inside code that is being protected, but generate a warning.
1140 * except.c (link_handler): Initialize `expanded' in new eh_range.
1141 (binding_depth, is_class_level, current_pc): Declare extern.
1142
f60518c8
MW
11432002-09-01 Mark Wielaard <mark@klomp.org>
1144
1145 * gcj.texi: Add chapter about system properties.
1146 Fixed some typos.
1147
83dd5fae
TT
11482002-08-26 Tom Tromey <tromey@redhat.com>
1149
1150 * parse.y (try_builtin_assignconv): Allow narrowing primitive
1151 conversion if RHS_TYPE is byte, short, or char.
1152
00a8b314
TT
11532002-08-22 Tom Tromey <tromey@redhat.com>
1154
1155 * gcj.texi (Invoking gij): Document -cp and -classpath.
1156
0d811e1a
TT
11572002-08-21 Tom Tromey <tromey@redhat.com>
1158
79a3cb18
TT
1159 * Make-lang.in (java/jcf-path.o): Use $(datadir), not
1160 $(prefix)/share. For PR libgcj/7633.
1161
0d811e1a
TT
1162 For PR java/6005 and PR java/7611:
1163 * lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define.
1164 (java_can_use_bit_fields_p): New function.
1165
ca75573a
TT
11662002-08-16 Tom Tromey <tromey@redhat.com>
1167
1168 * gcj.texi (Class Initialization): Mention class initialization of
1169 arrays.
1170
7149627b
AH
11712002-07-30 Andrew Haley <aph@cambridge.redhat.com>
1172
1173 * Make-lang.in (java-tree-inline.o): New.
1174 (JAVA_OBJS): Add java-tree-inline.o.
1175 * parse.y (source_end_java_method): Call java_optimize_inline.
1176 (java_expand_method_bodies): Save method's tree in
1177 DECL_SAVED_TREE.
1178 (add_stmt_to_compound): Keep track of the number of statments.
1179 * lang.c (java_init): Enable flag_inline_trees.
1180 (java_post_options): If flag_inline_functions is on, enable
1181 flag_inline_trees instread.
1182 (decl_constant_value): New.
1183 (java_tree_inlining_walk_subtrees): New.
1184 * java-tree.h (DECL_NUM_STMTS): New macro.
1185 (java_optimize_inline): Declare.
1186 * expr.c (java_expand_expr): Allow a BLOCK to return a value.
1187 Handle a LABEL_EXPR.
1188 * decl.c (build_result_decl): If we already have a DECL_RESULT
1189 don't make another.
1190 (dump_function): New.
1191 (java_optimize_inline): New.
1192 (dump_function): New.
1193
ee1884cb
JR
11942002-08-13 Jesse Rosenstock <jmr@fulcrummicro.com>
1195
1196 For PR java/7483:
1197 * parse.y (build_assertion): Invert return from
1198 desiredAssertionStatus.
1199
097684ce
BM
12002002-08-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1201
36624850 1202 * jcf-write.c (get_access_flags): Return correct access flags for
097684ce
BM
1203 private and protected inner classes.
1204
22aa533e
NS
12052002-08-08 Nathan Sidwell <nathan@codesourcery.com>
1206
1207 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
1208
b3426eb9
GK
12092002-08-05 Geoffrey Keating <geoffk@redhat.com>
1210
1211 * mangle_name.c: Don't include obstack.h twice.
1212 * xref.c: Don't include obstack.h.
1213
6d9f628e
GK
12142002-08-04 Geoffrey Keating <geoffk@redhat.com>
1215
1216 * class.c: (permanent_obstack): Delete declaration.
1217 * constants.c: (permanent_obstack): Delete declaration.
1218 * except.c: (permanent_obstack): Delete declaration.
1219 * expr.c: (permanent_obstack): Delete declaration.
1220 * jcf-parse.c: (permanent_obstack): Delete declaration.
1221 (saveable_obstack): Delete declaration.
1222 * parse.h: (permanent_obstack): Delete declaration.
1223 * typeck.c: (permanent_obstack): Delete declaration.
1224
d500c5d7
JM
12252002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
1226
1227 * gcj.texi (version-gcc): Increase to 3.3.
1228
e75abdab
TT
12292002-07-22 Tom Tromey <tromey@redhat.com>
1230
1231 * lex.c (java_lex): Check for `e' or `E' after 0.
1232
8943a0b4
RH
12332002-07-21 Richard Henderson <rth@redhat.com>
1234
1235 * lang.c (java_unsafe_for_reeval): New.
1236 (LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
1237
2f8dd115
NB
12382002-07-21 Neil Booth <neil@daikokuya.co.uk>
1239
1240 * jcf-path.c (GET_ENV_PATH_LIST): Remove.
1241 (jcf_path_init): Use GET_ENVIRONMENT.
1242
c5358a5d
RS
12432002-07-10 Roger Sayle <roger@eyesopen.com>
1244 Zack Weinberg <zack@codesourcery.com>
1245
1246 * builtins.c (initialize_builtins): Remove defines that
1247 handled C/C++ specific junk hereby removed from builtins.def.
1248
5351f1ca
NB
12492002-07-07 Neil Booth <neil@daikokuya.co.uk>
1250
1251 * lang.c (java_post_options): Update prototype.
1252
df061a43
RS
12532002-07-05 Roger Sayle <roger@eyesopen.com>
1254
c5358a5d 1255 * builtins.c (initialize_builtins): Ignore the additional
df061a43
RS
1256 parameter to DEF_BUILTIN. Handle more C/C++ specific junk in
1257 the builtins.def file.
1258
68a830fe
TT
12592002-07-01 Tom Tromey <tromey@redhat.com>
1260
1261 For PR libgcj/7073:
1262 * parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
1263 specially.
1264
6a2dd09a
RS
12652002-07-01 Roger Sayle <roger@eyesopen.com>
1266
1267 * java/decl.c (builtin_function): Accept additional parameter.
1268 (java_init_decl_processing): Pass an additional NULL_TREE
1269 argument to builtin_function.
1270
32c4621e
M
12712002-06-29 T.J. Mather <tjmather@maxmind.com>
1272
1273 * gcj.texi: Fixed gcj invocation example so that it compiles.
1274
bd466c7b
KG
12752002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1276
57ddd19c
KG
1277 * lex.c (java_init_lex): Avoid incorrect hardcoded constant 11.
1278 * parse.y (mark_parser_ctxt): Likewise.
33780b45
KG
1279 (check_modifiers, declare_local_variables): Avoid incorrect
1280 hardcoded constant 10.
57ddd19c 1281
bd466c7b
KG
1282 * lex.c (java_read_char): Avoid "comparison is always true"
1283 warning.
1284
b6532e57
AS
12852002-06-25 Andreas Schwab <schwab@suse.de>
1286
1287 * expr.c (JSR): Avoid undefined operation on PC.
1288
eb6b51b9
KG
12892002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1290
1291 * decl.c (clear_binding_level): Const-ify.
1292
6d61f1bd
AD
12932002-06-13 Akim Demaille <akim@epita.fr>
1294
1295 * parse.y (class_declaration, interface_declaration): Make sure
1296 all their rules have an action, in order to avoid meaningless `$$
1297 = $1' and their type clashes.
1298
c6226a7e
TT
12992002-06-11 Tom Tromey <tromey@redhat.com>
1300
1301 * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
1302 * parse-scan.y (statement_without_trailing_substatement): Added
1303 assert_statement.
1304 (assert_statement): New rule.
1305 * java-tree.h (struct lang_type) [assertions]: New field.
1306 (TYPE_USES_ASSERTIONS): New macro.
1307 (CLASS_USES_ASSERTIONS): Likewise.
1308 (FIELD_SYNTHETIC): New define.
1309 * lex.c (java_lval;): Added ASSERT_TK.
1310 * parse.y (ASSERT_TK): Added.
1311 (statement_without_trailing_substatement): Added assert_statement.
1312 (assert_statement): New rule.
1313 (build_assertion): New function.
1314 (maybe_generate_pre_expand_clinit): Create and initialize
1315 $assertionsDisabled.
1316 (lookup_package_type): Removed decl.
1317 * keyword.h: Rebuilt.
1318 * keyword.gperf (assert): New token.
1319
e35b68b0
AD
13202002-06-10 Akim Demaille <akim@epita.fr>
1321
1322 * parse.y (interface_type_list, class_member_declaration)
1323 (unary_expression_not_plus_minus): Remove duplicate %type.
1324 Whitespace changes.
1325
950ac1d3
TT
13262002-06-09 Tom Tromey <tromey@redhat.com>
1327
ac57655a
TT
1328 * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
1329
950ac1d3
TT
1330 * parse.y (method_header): Give error message in all cases.
1331 Fixes PR java/6865.
1332
36d010ca
BM
13332002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1334
1335 Don't use RTL inlining. Fix for PR java/6820.
1336 * lang.c (LANG_HOOKS_POST_OPTIONS): Define.
1337 (flag_really_inline): New.
1338 (java_decode_option): Set flag_really_inline if -finline-functions
1339 is seen.
1340 (java_post_options): New function. Turn off inlining unless
1341 flag_really_inline is set.
1342
64e68197
BM
13432002-06-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1344
36624850 1345 * gjavah.c (throwable_p): Accept argument as either a classname or
64e68197
BM
1346 signature fragment. Create null-terminated classname string for super
1347 when calling itself recursively.
36624850 1348 (decode_signature_piece): Skip first character from class name
64e68197
BM
1349 signature when calling throwable_p.
1350
c238d806
L
13512002-06-08 H.J. Lu (hjl@gnu.org)
1352
1353 * jcf-path.c (jcf_path_init): Allocate 1 more byte for string.
1354
f06cafdf
TT
13552002-06-04 Tom Tromey <tromey@redhat.com>
1356
1357 * jcf-write.c (perform_relocations): Optmize a goto to a goto.
1358
0bb5f0e4
MK
13592002-06-04 Michael Koch <konqueror@gmx.de>
1360
1361 * gcj.texi (Input Options): Fixed typo.
1362
c02ebb18
ZW
13632002-06-04 Zack Weinberg <zack@codesourcery.com>
1364
1365 * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
1366 typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
1367 all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
1368 and all now-pointless local variables. Rename other local
1369 variables to reflect their not being handles.
1370
1371 * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
1372 #if JCF_USE_STDIO blocks.
1373
1374 * parse.y: Add missing semicolon at end of rule.
1375
e2500fed
GK
13762002-06-03 Geoffrey Keating <geoffk@redhat.com>
1377
1378 * check-init.c (attach_initialized_static_class): Delete, unused.
1379 * parse.y: Use htab_t instead of struct hashtable, update
1380 all uses.
1381 * java-tree.h: Include hashtab.h instead of hash.h.
1382 (struct lang_decl_func): Use htab_t, set up for gengtype.
1383 (struct init_test_hash_entry): Delete.
1384 (struct treetreehash_entry): New.
c02ebb18 1385 (java_treetreehash_find): New
e2500fed
GK
1386 (java_treetreehash_new): New prototype.
1387 (java_treetreehash_create): New prototype.
1388 (java_mark_tree): Delete prototype.
1389 (java_hash_hash_tree_node): Delete prototype.
1390 (java_hash_compare_tree_node): Delete prototype.
1391 (attach_initialized_static_class): Delete prototype.
1392 * expr.c (build_class_init): Update to use java_treetreehash
1393 functions.
1394 (java_expand_expr): Update to use htab_t.
1395 (emit_init_test_initialization): Likewise.
1396 * decl.c (java_mark_tree): Delete.
1397 * class.c (init_test_hash_newfunc): Delete.
1398 (java_hash_hash_tree_node): Delete.
1399 (java_hash_compare_tree_node): Delete.
1400 (add_method_1): Update to use java_treetreehash functions.
1401 (JAVA_TREEHASHHASH_H): New macro.
1402 (java_treetreehash_hash): New function.
1403 (java_treetreehash_compare): New function.
1404 (java_treetreehash_find): New function.
1405 (java_treetreehash_new): New function.
1406 (java_treetreehash_create): New function.
1407 * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
1408
1409 * Make-lang.in (java/parse.o): Depend on debug.h.
1410 * java-tree.h (struct lang_identifier): Use gengtype.
1411 (union lang_tree_node): New.
1412 (struct lang_decl_func): Use gengtype.
1413 (struct lang_decl_var): Likewise.
1414 (struct lang_decl): Likewise.
1415 * parse.y: Include debug.h.
1416 * lang.c (LANG_HOOKS_MARK_TREE): Delete.
1417
1418 * lang.c (struct language_function): New dummy structure.
1419
1420 * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
1421 descriminator for DECL_LANG_SPECIFIC.
1422 (struct lang_decl_func): Rename from struct lang_decl.
1423 (enum lang_decl_desc): New.
1424 (struct lang_decl): Make it a union. Update all the accessor macros.
1425 (struct lang_type): Use gengtype.
1426 * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
1427 * decl.c (java_dup_lang_specific_decl): All lang_decl structures
1428 are now the same size.
1429 (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
1430 use discriminator to mark DECL_LANG_SPECIFIC.
1431
1432 * Make-lang.in (gt-java-builtins.h): New rule.
1433 (java/builtins.o): Add dependency on gt-<filename>.h.
1434 * builtins.c: Use gengtype for roots.
1435 (union string_or_tree): Use gengtype.
1436 (struct builtin_record): Use gengtype.
1437 * config-lang.in (gtfiles): Add builtins.c.
1438
1439 * Make-lang.in (gt-java-class.h, gt-java-constants.h,
1440 gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
1441 gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
1442 gt-java-parse.h, gtype-java.h): Add rules to generate.
1443 (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
1444 (class.o): Add dependency on gt-*.h.
1445 (constants.o): Likewise.
1446 (decl.o): Likewise.
1447 (expr.o): Likewise.
1448 (jcf-parse.o): Likewise.
1449 (jcf-write.o): Likewise.
1450 (lang.o): Likewise.
1451 * config-lang.in (gtfiles): New.
1452 * class.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1453 * constants.c: Replace uses of ggc_add_* with GTY markers.
1454 Include gt-*.h.
1455 * decl.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1456 * expr.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1457 * java-tree.h: Replace uses of ggc_add_* with GTY markers.
1458 * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
1459 Include gt-*.h.
1460 * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
1461 Include gt-*.h.
1462 * lang.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1463 * mangle.c: Replace uses of ggc_add_* with GTY markers. Include
1464 gt-*.h.
1465 * parse.y: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
1466 Include gtype-java.h.
1467
c442c002
TT
14682002-06-02 Tom Tromey <tromey@redhat.com>
1469
1470 Fix for PR java/5913:
1471 * parse.y (patch_binop): Call patch_string on op1.
1472
48711f4d
TT
14732002-06-02 Tom Tromey <tromey@redhat.com>
1474
1475 Fix for PR java/1343, PR java/6336:
1476 * parse.y (make_nested_class_name): Remove extraneous `else'; fix
1477 formatting. Changed return type.
1478 (anonymous_class_counter): Moved to top of file.
1479 (maybe_make_nested_class_name): Append number to class name for
1480 function-local classes.
1481
11ad4784
ZW
14822002-05-28 Zack Weinberg <zack@codesourcery.com>
1483
1484 * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
1485 * Make-lang.in: Update dependency lists.
1486
a15135c9
MM
14872002-05-18 Mark Mitchell <mark@codesourcery.com>
1488
1489 * gjavah.c (throwable_p): Do not free the name of the class after
1490 passing it to find_class.
1491 * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
1492 * jcf-io.c (dirent.h): Include it.
1493 (fnmatch.h): Likewise.
1494 (compare_path): New function.
1495 (java_or_class_file): Likewise.
1496 (memoized_dirlist_entry): New type.
1497 (memoized_dirlist_lookup_eq): New function.
1498 (memoized_dirlists): New variable.
1499 (caching_stat): New function.
1500 (memoized_class_lookup_eq): New function.
1501 (memoized_class_lookups): Likewise.
1502 (find_class): Use memoized_class_lookups and caching_stat.
1503 * jcf.h (JCF_USE_SCANDIR): Define.
1504 * parse.y (java_expand_classes): Write the class files in reverse
1505 order.
c02ebb18 1506
1e6347d8
RO
15072002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1508
1509 * Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
1510
2f9a2cd7
MM
15112002-05-13 Mark Mitchell <mark@codesourcery.com>
1512
1513 * jcf-write.c (write_classfile): Unlink the temporary file if it
1514 cannot be renamed. Use concat to build up the name of the
1515 temporary file.
1516
281524f4
MM
15172002-05-08 Mark Mitchell <mark@codesourcery.com>
1518
c02ebb18 1519 * jcf-write.c (write_classfile): Write the file to a
281524f4
MM
1520 temporary file and then rename it.
1521
6b9b5de2
TT
15222002-05-07 Tom Tromey <tromey@redhat.com>
1523
5643bb97
TT
1524 * gjavah.c (throwable_p): Use xstrdup, not strdup.
1525
6b9b5de2
TT
1526 Fix for PR java/1200:
1527 * gjavah.c (throwable_p): New function.
1528 (decode_signature_piece): Use it. A `WeakReference' isn't the
1529 same as a `jweak'.
1530 Include hashtab.h.
1531 (gcjh_streq): New function.
1532
2c7e9098
AJ
15332002-05-07 Andreas Jaeger <aj@suse.de>
1534
c02ebb18 1535 * parse.y (finish_for_loop): Fix if statement.
2c7e9098 1536
486e8c0c
TT
15372002-05-06 Tom Tromey <tromey@redhat.com>
1538
1539 Fix for PR java/5941:
1540 * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
1541 loop update expression.
1542 (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
1543 * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
1544
30b50f90
MW
15452002-05-04 Mark Wielaard <mark@klomp.org>
1546
1547 For PR java/6519:
1548 * parse.y (build_string_concatenation): Return just op1 only when op2
1549 is null and op1 is a STRING_CST, otherwise always construct a
1550 StringBuffer.
1551
0a32c5ea
TT
15522002-04-27 Tom Tromey <tromey@redhat.com>
1553
1554 For PR java/6382:
1555 * parse.y (string_convert_int_cst): New function.
1556 (merge_string_cste): Use it.
1557
ff45c01e
NB
15582002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
1559
1560 * java-tree.h (java_parse_file): Update.
1561 (java_set_yydebug): Remove.
1562 * jcf-parse.c (yydebug): Remove.
1563 (java_set_yydebug): Die.
1564 (java_parse_file): Update.
1565 * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
1566
9127b2da
TT
15672002-04-24 Tom Tromey <tromey@redhat.com>
1568
1569 For PR java/6425:
1570 * parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
1571 EXPR_WFL_QUALIFICATION of qual_wfl.
1572
67f0a6bf
PB
15732002-04-23 Per Bothner <per@bothner.com>
1574
1575 * expr.c (PRE_JSR): Call NOTE_LABEL for return address.
1576 * java-tree.h (BCODE_RETURN_TARGET): Removed - never set.
1577 (BCODE_TARGET): Remove BCODE_RETURN_TARGET.
1578
3d3707c1
TT
15792002-04-23 Tom Tromey <tromey@redhat.com>
1580
1581 For PR java/6314:
1582 * jvspec.c (lang_specific_driver): Use --resource, not -R. Also
1583 recognize `-fcompile-resource='.
1584 * gcj.texi (Invoking gcj): Use --resource, not -R. Expanded text
1585 a bit.
1586
920f81e7
APB
15872002-04-22 Alexandre Petit-Bianco <apbianco@redhat.com>
1588
1589 * jcf-parse.c: (yyparse): Don't prepend "./" to relative
1590 paths. Fixes PR java/2791.
1591
a2761d68
AH
15922002-04-19 Andrew Haley <aph@redhat.com>
1593
c02ebb18
ZW
1594 * jcf-write.c (push_long_const): lo, hi: New variables.
1595 Use rshift_double to extract the high part of a 64-bit long.
1596 Use WORD_TO_INT to extract the low part.
a2761d68 1597
c02ebb18
ZW
1598 * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
1599 HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
1600 CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
a2761d68 1601
7a228918
NB
16022002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
1603
1604 * typeck.c (incomplete_type_error): Remove.
1605
b798d8b6
BM
16062002-04-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1607
1608 * class.c (make_class_data): Set DECL_ALIGN on static class data,
1609 for hash synchronization.
1610 * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
1611 * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
1612 class_type_node.
1613
1cde1d05
MW
16142002-04-16 Mark Wielaard <mark@klomp.org>
1615
1616 * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
1617 negative zero.
1618
3020a7f5
BM
16192002-04-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1620
1621 Fix for PR java/6294:
1622 * parse.h (INNER_INTERFACE_MODIFIERS): Allow ACC_PRIVATE for inner
1623 interfaces.
2c7e9098 1624
10aa83c7
BM
16252002-04-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1626
1627 Fix for PR java/6085:
1628 * parse.y (patch_method_invocation): Always use build_access_to_thisn
1629 to get enclosing "this" argument for inner-class constructor
1630 invocation. Pass correct arguments to build_access_to_thisn.
1631
9fef1fe3
AG
16322002-04-10 Andreas Jaeger <aj@suse.de>
1633
1634 * gcj.texi (Input Options): Fix extdirs patch.
1635
16362002-04-10 Anthony Green <green@redhat.com>
1637
1638 * jcf-path.c (jcf_path_init) : Clean up local extdirs declaration.
1639
16402002-04-09 Anthony Green <green@redhat.com>
1641
1642 * gcj.texi (Input Options): Add --extdirs documentation.
1643 * jcf-dump.c (OPT_extdirs): New macro.
1644 (options): Add extdirs option.
1645 (help): Describe --extdirs.
1646 (main): Handle OPT_extdirs.
1647 * gjavah.c (OPT_extdirs): New macro.
1648 (options): Add extdirs option.
1649 (help): Describe --extdirs.
1650 (main): Handle OPT_extdirs.
1651 * jcf-path.c (jcf_path_init): Add extdirs support.
1652 (jcf_path_extdirs_arg): New function.
1653 (extensions): New variable to hold extensions path entries.
1654 * jvspec.c: Remove -fextdirs= when compiling main().
1655 * lang.c (java_decode_option): Handle -fextdirs=.
1656 * jcf.h (jcf_path_extdirs_arg): Declare new function.
1657 * Make-lang.in: Compile jcf-path with version info for use in
1658 identifying the appropriate libgcj.jar.
1659
66133721
TT
16602002-04-08 Tom Tromey <tromey@redhat.com>
1661
1662 For PR libgcj/5303:
1663 * .cvsignore: Added rmic.1 and rmiregistry.1.
1664 * gcj.texi (Top): Link to new nodes.
1665 (Invoking rmic): New node.
1666 (Invoking rmiregistry): Likewise.
1667 * Make-lang.in (java.generated-manpages): Added rmic.1 and
1668 rmiregistry.1.
1669 (java.maintainer-clean): Likewise.
1670 ($(srcdir)/java/rmic.1): New target.
1671 ($(srcdir)/java/rmiregistry.1): Likewise.
1672 (java.install-man): Handle rmic.1 and rmiregistry.1.
1673
00b224f8
BM
16742002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1675
1676 * gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
1677 Add note about handling uncaught exceptions. Add an exception handler
1678 to example.
1679
0b055ea1
BM
16802002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1681
1682 * parse.y (resolve_qualified_expression_name): Clear "from_super" flag
1683 after using it to patch CALL_EXPR.
1684
92c76eba
BM
16852002-04-08 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1686
1687 * gcj.texi (Invocation): Document CNI invocation API.
1688
78ef5b89
NB
16892002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
1690
1691 * expr.c (truthvalue_conversion): Rename. Update.
1692 (expand_compare): Update.
1693 * java-tree.h (java_truthvalue_conversion): New.
1694 * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
1695
dffd7eb6
NB
16962002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1697
1698 * java-tree.h (java_mark_addressable): New.
1699 * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1700 * typeck.c (mark_addressable): Rename, update.
1701
ceef8ce4
NB
17022002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1703
1704 * expr.c (build_java_binop): Update.
1705 * java-tree.h (java_signed_type, java_unsigned_type,
1706 java_signed_or_unsigned_type): Update.
1707 * lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1708 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1709 * parse.y (patch_binop): Update.
1710 * typeck.c (signed_or_unsigned_type, unsigned_type,
1711 signed_type): Update.
1712
7cb32822
NB
17132002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1714
1715 * lang.c (LANG_HOOKS_PRINT_ERROR_FUNCTION): Redefine.
1716 (java_dummy_print): Remove.
1717 (lang_print_error): Rename. Exit early if inhibiting output.
1718 (inhibit_error_printing_function): New.
1719 (java_init): Don't set hook.
1720 (lang_init_source): Use new boolean.
1721
5bebbee7
MK
17222002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
1723
1724 * parse.y (do_resolve_class): Fix infinite recursion.
1725
bce54832
TT
17262002-03-29 Tom Tromey <tromey@redhat.com>
1727
1728 * parse.y (check_inner_circular_reference): Ignore incomplete
1729 types.
1730
b0c48229
NB
17312002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1732
1733 * Make-lang.in (builtins.o): Update.
1734 * boehm.c (get_boehm_type_descriptor): Update.
1735 * builtins.c: Include langhooks.h.
1736 * decl.c (java_init_decl_processing): Update.
1737 * java-tree.h (java_type_for_mode, java_type_for_size): New.
1738 * lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
1739 Redefine.
1740 * typeck.c (type_for_mode, type_for_size): Update.
1741
5843e870
MK
17422002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
1743
1744 * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
1745
073681c5
TT
17462002-03-28 Tom Tromey <tromey@redhat.com>
1747
1748 * except.c (expand_end_java_handler): If the handler type is NULL,
1749 use java.lang.Throwable. Fixes PR java/5986.
1750
242747e5
APB
17512002-03-28 Alexandre Petit-Bianco <apbianco@redhat.com>
1752
1753 Fix for PR java/4715:
1754 * jcf-parse.c (parse_source_file_3): New function.
1755 (read_class): Call it.
1756 (java_parse_file): Likewise.
1757
62c9aa5f 17582002-03-28 Jan Hubicka <jh@suse.cz>
f5eb5fd0
JH
1759
1760 * java/lang.c (java_init_options): Set flag_trapping_math to 0.
1761
c187b20e
BM
17622002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1763
1764 * parse.y (resolve_package): Initialize "decl".
1765 (lookup_package_type): Remove unused function.
1766
2f418289
BM
17672002-03-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1768
1769 Fix for PR java/5993:
1770 * parse.y (resolve_package): Return the decl if resolution was
2c7e9098 1771 successful. Don't special case "java.lang" and "java.lang.reflect"
2f418289
BM
1772 packages. Set type_name to the merged identifier.
1773 (resolved_qualified_expression_name): Print error using "name" if
1774 resolve_package returns NULL_TREE.
1775
39bea374
TT
17762002-03-27 Tom Tromey <tromey@redhat.com>
1777
1778 * expr.c (expand_invoke): Don't generate null pointer check if
1779 we're calling <init>.
1780
c9d892a8
NB
17812002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1782
1783 * expr.c (java_lang_expand_expr): Rename java_expand_expr,
1784 fix prototype.
1785 * java-tree.h (java_lang_expand_expr): Similarly.
1786 * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1787 (java_init): Don't set hook.
1788
05833095
BM
17892002-03-27 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1790
1791 Fix for PR java/5850:
1792 * parse.y (lookup_field_wrapper): Call itself recursively for enclosing
1793 context if field was not found in the current scope.
1794 * expr.c (lookup_field): Don't look in enclosing contexts.
1795
c8c21a8c
TT
17962002-03-26 Tom Tromey <tromey@redhat.com>
1797
1798 Fix for PR java/5942:
1799 * parse.y (init_src_parse): Added sanity check.
1800 * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
1801 elements, not 11.
1802
4f0ade92
NB
18032002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
1804
1805 * decl.c (lang_mark_tree): Rename java_mark_tree.
1806 * java-tree.h (java_mark_tree): New.
1807 * java-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1808
15e5ad76
ZW
18092002-03-25 Zack Weinberg <zack@codesourcery.com>
1810
1811 * lex.c: Change java_perform_atof to take normal parameters
1812 instead of a pointer to a parameter block. Call it directly
1813 from java_lex.
1814
caaabaa1
MW
18152002-03-22 Mark Wielaard <mark@klomp.org>
1816
1817 Fix for PR java/5368:
1818 * parse.y (resolve_qualified_expression_name): Use decl not field_decl
1819 when printing error message.
1820
c88770e9
NB
18212002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
1822
1823 * decl.c (maybe_build_cleanup): Remove.
1824
c58408bf
TT
18252002-03-22 Tom Tromey <tromey@redhat.com>
1826
1827 Andrew Haley <aph@cambridge.redhat.com>
1828
1829 * expr.c (build_field_ref): Don't build a check if the field is a
1830 member of `this'.
1831
6c18d181
EB
18322002-03-21 Eric Blake <ebb9@email.byu.edu>
1833
1834 Fix for PR java/6026:
1835 * lex.c (java_lex): Fix parsing of consecutive floats.
1836
a5778545
TT
18372002-03-21 Tom Tromey <tromey@redhat.com>
1838
1839 * parse.y (build_access_to_thisn): Stop when FROM is not an inner
1840 class.
1841
43577e6b
NB
18422002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
1843
1844 * cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
1845 insert_block, getdecls, kept_level_p, global_bindings_p): New.
1846
fe911510
NF
18472002-03-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
1848
2c7e9098 1849 * gcj.texi: @code{gcj} becomes @command{gcj}.
15e5ad76
ZW
1850 @code{gcc} becomes @command{gcc}.
1851 GcjRaw changed to gnu.gcc.RawData.
1852
7afff7cf
NB
18532002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
1854
1855 * decl.c (start_java_method): Use new hook.
1856 * lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
1857 (java_init): Remove old hook.
1858
c2d8e20a
APB
18592002-03-18 Alexandre Petit-Bianco <apbianco@redhat.com>
1860
1861 * builtins.c (define_builtin): Do nothing if `type' is null.
1862 Fixes PR java/5876.
1863
6befbee5
BM
18642002-03-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1865
1866 * parse.y (parser_check_super_interface): Fix error message
1867 grammar/order.
1868
320c81a6
KG
18692002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1870
1871 * jcf-parse.c (get_constant): Delete unused variables.
1872
52dabb6c
NB
18732002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
1874
1875 * java-tree.h (java_parse_file): New.
1876 * jcf-parse.c (yyparse): Rename java_parse_file.
1877 * lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
1878
568d1435
BM
18792002-03-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1880
1881 * parse.y (craft_constructor): Return the constructor decl.
1882 (java_expand_classes): Update comments.
1883 (lookup_method_invoke): Call fix_constructors immediately for
1884 anonymous class. Fixes PR java/5935.
1885
8d39b447
AG
18862002-03-15 Anthony Green <green@redhat.com>
1887
1888 * jcf-parse.c (yyparse): Don't emit class registration
1889 constructor when compiling resource files.
1890
2f9834e8
KG
18912002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1892
1893 * lang.c (java_tree_code_type, java_tree_code_length,
1894 tree_code_name): Delete.
1895 (tree_code_type, tree_code_length, tree_code_name): Define.
1896 (java_init): Don't try to copy into the various tree_code
1897 arrays.
1898
f792bce5
TT
18992002-03-12 Tom Tromey <tromey@redhat.com>
1900
8a611251
TT
1901 * jcf-parse.c (get_constant) [CONSTANT_String]: String values are
1902 UTF-8, not UCS-2. Fixes PR java/5923.
1903
f792bce5
TT
1904 * parse.y (qualify_ambiguous_name): Handle case where QUAL_WFL is
1905 a call_expr wrapped in a convert. Fixes PR java/5848.
1906
acf8bc25
BM
19072002-03-12 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1908
1909 * jcf-write.c (write_classfile): Improve error strings.
1910
e0b1c206
EB
19112002-03-11 Eric Blake <ebb9@email.byu.edu>
1912
1913 * lex.c: Adjust comments to GNU standards.
1914
19152002-03-11 Eric Blake <ebb9@email.byu.edu>
1916
1917 Fix for PR java/5902:
1918 * lex.c (java_lex): Fix parsing of literals.
1919
884523df
BM
19202002-03-11 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1921
1922 * parse.y (patch_assignment): Wrap the right-hand-side with a save_expr
1923 to prevent it getting evaluated twice in the store checking case.
1924 * expr.c (build_java_arraystore_check): Unwrap SAVE_EXPR's when
1925 examining OBJECT.
1926
45597167
BM
19272002-03-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1928
1929 * decl.c (java_init_decl_processing): Make sure class_type_node
1930 alignment is not less than 64 bits if hash synchronization is enabled.
1931
edcc88c1
PB
19322002-03-08 Per Bothner <per@bothner.com>
1933
1934 * parse.y (java_complete_lhs): Check if patch_assignment
1935 returned an error-mark.
1936
1937 * parse.y (try_builtin_assignconv): Don't special-case zero.
1938
5295f849
PB
19392002-03-08 Per Bothner <per@bothner.com>
1940
1941 Fix for PR java/5812.
1942 * expr.c (build_java_jsr): Take pc arguments, and do lookup_label
be3ac45e 1943 here instead of in JSR macro. Likewise with load_type_state call.
5295f849 1944 Do the latter on if the return_pc has been verified (the jsr returns).
be3ac45e 1945 (JSR): Now just call build_java_jsr.
5295f849 1946
d3e1c36d
JS
19472002-03-07 Jeff Sturm <jsturm@one-point.com>
1948
1949 * java/Make-lang.in (JAVA_TARGET_INSTALL_NAME): Define.
1950 (java.install-common): Link native driver to
1951 JAVA_TARGET_INSTALL_NAME.
1952
6d6b5cd7
DB
19532002-03-05 David Billinghurst <David.Billinghurst@riotinto.com>
1954
1955 * builtins.c(cos_builtin): method_return_type ATTRIBUTE_UNUSED
1956 * builtins.c(sin_builtin): Likewise
1957 * builtins.c(sqrt_builtin): Likewise
1958
ba31d94e
ZW
19592002-03-03 Zack Weinberg <zack@codesourcery.com>
1960
1961 * java/expr.c, java/jcf-parse.c, java/lex.c:
1962 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
1963 REAL_ARITHMETIC blocks unconditional. Delete some further
1964 #ifdef blocks predicated on REAL_ARITHMETIC.
1965
ca7558fc
KG
19662002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1967
1968 * class.c (init_class_processing): Use ARRAY_SIZE in lieu of
1969 explicit sizeof/sizeof.
1970 * decl.c (java_init_decl_processing): Likewise.
1971 * jcf-parse.c (init_jcf_parse): Likewise.
1972 * parse.y (init_src_parse): Likewise.
1973
2a85660d
PB
19742002-03-02 Per Bothner <per@bothner.com>
1975
1976 Make --CLASSPATH by a synonym for --classpath and -classpath.
1977 Implement --bootclasspath.
1978 * jcf-path.c (classpath_u): Rename static variable to classpath_user.
1979 (classpath_l): Remove.
1980 (jcf_path_CLASSPATH_arg): Remove.
1981 (jcf_path_bootclasspath_arg): New function.
1982 (jcf_path_seal): Simplify accordingly.
1983
1984 * jcf.h (jcf_path_bootclasspath_arg): New declarations.
1985 (jcf_path_CLASSPATH): Remove declaration.
1986 * jvspec.c (jvgenmain_spec): Also accept -fbootclasspath*.
1987 (lang_specific_driver): Translate -bootclasspath.
1988 * lang-options.h: Add --bootclasspath. Update --CLASSPATH.
1989 * lang.c (decode_lang_options): Do jcf_path_init first.
1990 Handle -fCLASSPATH same as -fclasspath. Also process -fbootclasspath.
1991 * gjavah.c: Also handle --bootclasspath.
1992 Handle --CLASSPATH as a synonum for --classpath.
1993 * jcf-dump.c: Likewise.
1994
1995 "." is not part of system path, but is the default for --classpath.
1996 * jcf-path.c (jcf_path_init): Don't add "." to sys_dirs.
1997 (jcf_path_seal): Add "." if no CLASSPATH specified.
1998
1999 * gcj.texi: Document changes.
2000
2060fd4c
BM
20012002-03-01 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2002
2003 * expr.c (build_java_arraystore_check): Fix formatting.
2004
4f647d52
APB
20052002-02-28 Alexandre Petit-Bianco <apbianco@redhat.com>
2006
2007 Fix for PR java/5758, java/5632:
2008 * jcf-parse.c (load_class): Renamed local variable, consider `.' an
2009 inner-class separator too.
2010 * parse.y (do_resolve_class): New local `decl_result.'
2011 Progressively build a name for what can have been loaded.
2012
022dcc46
BM
20132002-02-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2014
2015 * expr.c (java_array_data_offset): Removed function.
2016 (JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
2017 (build_java_array_length_access): Obtain "length" value using a
2018 COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
2019 (build_java_arrayaccess): Correct comment. Access "data" using a
2020 COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
2021 (build_java_arraystore_check): New function.
2022 (expand_java_arraystore): Use build_java_arraystore_check.
2023 * parse.y (patch_assignment): Simplify code to insert a store check
2024 when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
2025 * check-init.c (check_init): Update to reflect that an array length
2026 access is now a COMPONENT_REF.
2027 * gcj.texi (Code Generation): Improve documentation of
2028 -fno-bounds-check. Add documentation for -fno-store-check.
2029 * java-tree.h (flag_store_check): Declare.
2030 (build_java_arraystore_check): Declare.
2031 * lang.c (flag_store_check): Initialize to 1.
2032 (lang_f_options): Add store-check option.
2033 * jvspec.c: Don't pass store-check option to jvgenmain.
2034 * lang-options.h: Add help string for -fno-store-check.
2035
63e1b1c4
NB
20362002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
2037
2038 * decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl.
2039 * java-tree.h (java_dup_lang_specific_decl): New.
2040 * lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
2041
f458d1d5
ZW
20422002-02-27 Zack Weinberg <zack@codesourcery.com>
2043
2044 * builtins.c, decl.c: Delete traditional-mode-related code
2045 copied from the C front end but not used, or used only to
2046 permit the compiler to link.
2047
d2fb5329
TT
20482002-02-22 Tom Tromey <tromey@redhat.com>
2049
2050 Fix for PR java/2369:
2051 * jvspec.c (verify_class_name): New function.
2052 (lang_specific_driver): Call it.
2053 (JAVA_START_CHAR_P): New macro.
2054 (JAVA_PART_CHAR_P): Likewise.
2055
dcb36804
PB
20562002-02-22 Per Bothner <per@bothner.com>
2057
022dcc46 2058 * class.c: Change vtable to be more compatible with g++ v3 abi.
dcb36804
PB
2059 (get_dispatch_table): Prepend offset-to-top (always 0) and
2060 type_info pointer (currently unimplemented hence NULL) to vtable.
2061 Specifically, prepend offset-to-top and typeinfo ptr (currently null).
2062 (make_class_data): Variable dtable_start_offset is sizeof 2 pointers.
2063 Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
2064 (build_dtable_decl): Add declarations for new fields.
2065
453c182f
PB
20662002-02-20 Per Bothner <per@bothner.com>
2067
2068 * parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
2069 to finit$ (otherwise generate_bytecode_insns drops it). However, we
2070 don't need to set it on the COMPOUND_EXPR - the caller does that.
2071
3babb2e3
NF
20722002-02-20 Nic Ferrier <nferrier@tapsellferrier.co.uk>
2073
15e5ad76
ZW
2074 * gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
2075 `--CLASSPATH' becomes `--classpath.'
2076 * gjavah.c: Likewise.
2077 * jcf-dump.c: Likewise.
2078 * lang-options.h: Likewise.
2079 * lang.c: Likewise.
2080 * jcf-path.c: Updated comment.
2081 (jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
2082 (jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
2083 * jcf.h (jcf_path_CLASSPATH_arg): Ditto.
2084 (jcf_path_CLASSPATH_arg): Ditto.
2085 (classpath_u): Updated leading comment.
3babb2e3 2086
9fe2cc05
PB
20872002-02-20 Per Bothner <per@bothner.com>
2088
2089 * builtins.c (check_for_builtin): New function.
2090 (build_call_or_builtin): Remove.
2091 * java-tree.h: Update accordingly.
2092 * expr.c (expand_invoke): Use build + check_for_builtin instead
2093 of build_call_or_builtin.
2094 * parse.y (patch_invoke): Likewise. This avoids needlessly creating
2095 a new CALL_EXPR node, which means we don't lose the CALL_USING_SUPER
2096 flag (which had caused jcf-write to incorrectly emit invokevirtual).
2097
6b6294f1
TT
20982002-02-17 Tom Tromey <tromey@redhat.com>
2099
2100 * java-tree.h (TYPE_STRICTFP): New macro.
2101 (struct lang_type) [strictfp]: New field.
2102 (CLASS_STRICTFP): New macro.
2103 (METHOD_STRICTFP): New macro.
2104 (struct lang_decl) [strictfp]: New field.
2105 * parse.y (method_header): Disallow strictfp constructor or
2106 abstract method.
2107 (STRICT_TK): Move before MODIFIER_TK.
2108 * parse.h (CLASS_MODIFIERS): Added ACC_STRICT.
2109 (METHOD_MODIFIERS): Likewise.
2110 (INTERFACE_MODIFIERS): Likewise.
2111 * jcf-write.c (get_access_flags): Likewise.
2112 * class.c (set_class_decl_access_flags): Recognize ACC_STRICT.
2113 (add_method_1): Likewise.
2114 (get_access_flags_from_decl): Likewise.
2115 * jcf-dump.c (print_access_flags): Print in standard order. Also,
2116 recognize strictfp flag.
2117 * jcf.h (ACC_STRICT): New define.
2118
5667c33d
DB
21192002-02-12 David Billinghurst <Davod.Billinghurst@riotinto.com>
2120
2121 * class.c(build_utf8_ref): Move declaration of decl_size
2122
5d65aeb7
TT
21232002-02-07 Tom Tromey <tromey@redhat.com>
2124
2125 * gcj.texi (Input Options): --CLASSPATH does not suppress system
2126 path.
2127
10c45943
AG
21282002-02-04 Anthony Green <green@redhat.com>
2129
2130 * class.c (build_utf8_ref): Put UTF-8 constants into merged
2131 sections if available.
2132
14b71055
BM
21332002-02-04 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2134
2135 * parse.y (java_expand_classes): Fix typo in static field loop.
2136
f0c75752
RH
21372002-02-02 Richard Henderson <rth@redhat.com>
2138
2139 * class.c (add_field): Mark static fields external.
2140 (build_class_ref): Remove redundant set.
2141 * parse.y (java_expand_classes): Mark static fields of classes
2142 to be compiled as local.
2143 * jcf-parse.c (parse_class_file): Likewise.
2144
d4ad1c90
NF
21452002-02-02 Nic Ferrier <nferrier@tapsellferrier.co.uk>
2146
2147 * gcj.texi (About CNI): New node.
2148
58fae3f7
CR
21492002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
2150
2151 PR java/5080
2152 * jcf-parse.c : Check for HAVE_LOCALE_H before using
2153 setlocale() with LC_CTYPE as a parameter.
2154 * jv-scan.c: Same.
2155
8512bbd7
JM
21562002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
2157
2158 * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
2159 Follow GNU Coding Standards for --version.
2160
adc8cb5d
TT
21612002-01-28 Tom Tromey <tromey@redhat.com>
2162
2163 * expr.c (build_jni_stub): Ensure storage for `meth' is
2164 generated.
2165 * parse.y (java_complete_expand_methods): Set
2166 current_function_decl before building JNI stub.
2167
1d8478d7 21682002-01-26 Andreas Tobler <a.tobler@schweiz.ch>
15e5ad76 2169
1d8478d7
AT
2170 * gcc/java/builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not
2171 BUILT_IN_SQRTF.
2172
fec763fc
TT
21732002-01-22 Tom Tromey <tromey@redhat.com>
2174
2175 * decl.c (java_init_decl_processing): Use add_predefined_file.
2176 Predefine RawData.java.
2177 (predef_filenames): Removed.
2178 (java_init_decl_processing): Don't register predef_filenames.
2179 * jcf-parse.c (add_predefined_file): New function.
2180 (predefined_filename_p): Rewrote.
2181 (predefined_filename_p): No longer static.
2182 * decl.c (java_init_decl_processing): Call initialize_builtins.
2183 * Make-lang.in (JAVA_OBJS): Added builtins.o.
2184 (java/builtins.o): New target.
2185 * builtins.c: New file.
2186 * parse.y (patch_invoke): Use build_call_or_builtin.
2187 * java-tree.h (build_call_or_builtin): Declare.
2188 (initialize_builtins): Declare.
2189 (java_set_exception_lang_code): Removed unused declaration.
2190 (PREDEF_FILENAMES_SIZE): Removed.
2191 (java_tree_index): Added JTI_PREDEF_FILENAMES.
2192 (predef_filenames): New define.
2193 (add_predefined_file): Declare.
2194 (predefined_filename_p): Declare.
2195 * expr.c (expand_invoke): Use build_call_or_builtin.
2196
cc586d70
KG
21972002-01-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2198
2199 * parse.y (patch_switch_statement): Fix format specifier.
2200
0df29596
TT
22012002-01-16 Tom Tromey <tromey@redhat.com>
2202
2203 More for PR java/5365:
2204 * gjavah.c (print_stub_or_jni): Cause exception to be thrown by
2205 default.
2206 (process_file): Generate include for
2207 java.lang.UnsupportedOperationExceptions.
2208
e1886ae0
AJ
22092002-01-15 Andreas Jaeger <aj@suse.de>
2210
2211 * .cvsignore: Add man pages.
2212
9c874875
TT
22132002-01-15 Tom Tromey <tromey@redhat.com>
2214
2215 Fix for PR java/5365:
2216 * gjavah.c (process_file): Turn class name into a file name.
2217
707635f9
MK
22182002-01-14 Matthias Klose <doko@debian.org>
2219
2220 * gcj.texi: Fix whitespace and formatting errors in the
2221 synopsis of the man pages. Update copyright.
2222
e6a5e462
TT
22232002-01-14 Tom Tromey <tromey@redhat.com>
2224
2225 For PR libgcj/5303:
2226 * Make-lang.in (java.install-man): Handle jv-convert man page.
2227 (java.generated-manpages): Added jv-convert.1.
2228 (java.uninstall): Remove jv-convert.1.
2229 (java.maintainer-clean): Likewise.
2230 ($(srcdir)/java/jv-convert.1): New target.
2231 * gcj.texi (Top): Link to jv-convert node.
2232 (Individual utilities): Likewise.
2233 (Invoking jv-convert): New node.
2234
0b0d4c5b 22352001-01-10 Jeff Sturm <jsturm@one-point.com>
f0c75752 2236 Martin Kahlert <martin.kahlert@infineon.com>
0b0d4c5b
JS
2237
2238 * jcf-parse.c (get_constant): Don't swap lo/hi for big
2239 endian targets when HOST_BITS_PER_WIDE_INT >= 64.
2240
c0b65ff1 22412002-01-03 Graham Stott <grahams@redhat.com>
79ab76fd 2242
f0c75752
RH
2243 * class.c (compile_resource_file): Update copyright date.
2244 Constify filename parameter.
2245 (java-tree.h): Update copyright date.
2246 (compile_resource_file): Constify filename parameter.
79ab76fd 2247
22e85ed4
GS
22482002-01-03 Graham Stott <grahams@redhat.com>
2249
f0c75752
RH
2250 * gcc/jcf-parse.c: Update copyright date.
2251 (yyparse): Constify resource_filename.
22e85ed4 2252
5e65297b
KG
22532002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2254
2255 * parse.y (src_parse_roots): Don't needlessly zero init.
2256
12cfb4fc
TT
22572001-12-31 Tom Tromey <tromey@redhat.com>
2258
2259 * parse.y (dump_java_tree): New function.
2260 (source_end_java_method): Call it.
2261 (end_class_declaration): Likewise.
2262 * lang.c (java_decode_option): Call dump_switch_p.
2263
dab722ee
TT
22642001-12-28 Tom Tromey <tromey@redhat.com>
2265
2266 * gen-table.pl: Don't process characters after \uffff. Added
2267 comment pointing to input file.
2268
7b0295ab
KG
22692001-12-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2270
2271 * gen-table.pl: Const-ify output. Document the location of a
2272 suitable unicode input file.
2273
2274 * chartables.h: Regenerate.
2275
c083a819
KG
22762001-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2277
2278 * chartables.h: Const-ify.
2279 * gjavah.c (options): Likewise.
2280 * jcf-dump.c (options): Likewise.
2281 * jv-scan.c (options): Likewise.
2282 * lex.c (java_start_char_p, java_part_char_p): Likewise.
2283 * parse.y (binop_lookup): Likewise.
2284
0b5826ac
KG
22852001-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2286
2287 * Make-lang.in (keyword.h): Pass -C to gperf to const-ify
2288 the static arrays that are output.
2289 * jvspec.c (jvgenmain_spec): Make static.
2290 * keyword.gperf (struct java_keyword, java_keyword): Const-ify.
2291 * keyword.h: Regenerate.
2292 * lang.c (string_option, process_option_with_no, lang_f_options,
2293 lang_W_options): Const-ify.
2294 * lex.c (java_lex): Likewise.
2295
9a07cfaf
RH
22962001-12-21 Richard Henderson <rth@redhat.com>
2297
2298 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
2299 (get_boehm_type_descriptor): ... here. Arrange for the
2300 TREE_TYPE to get set properly.
2301
f44fefca
RH
23022001-12-21 Richard Henderson <rth@redhat.com>
2303
ef969525
RH
2304 * class.c (compile_resource_file): Set TREE_PUBLIC on the constructor
2305 only if the target requires collect2.
2306
f44fefca
RH
2307 * class.c (build_class_ref): Mark _Jv_fooClass DECL_EXTERNAL.
2308
84a944b3
TT
23092001-12-20 Tom Tromey <tromey@redhat.com>
2310
2311 For PR java/4509:
2312 * parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
2313 CAN_COMPLETE_NORMALLY for the node.
2314 * jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
2315 generate code for second branch if first branch can't complete
2316 normally.
2317 (generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
2318 the loop head if the loop body can't complete normally.
2319
2d93b924
TT
23202001-12-20 Tom Tromey <tromey@redhat.com>
2321
2322 For PR java/4766:
2323 * jcf-write.c (generate_bytecode_insns) [TRY_FINALLY_EXPR]: Handle
2324 case where `finally' clause can't complete normally.
2325
f2af50db
TT
23262001-12-20 Tom Tromey <tromey@redhat.com>
2327
2328 Fixes PR java/5057:
2329 * parse.y (analyze_clinit_body): Added this_class parameter.
2330 Check for more cases where we must keep <clinit>.
2331 (maybe_yank_clinit): Cleaned up flow control.
2332
7899e8b9
BM
23332001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2334
e1886ae0 2335 * decl.c (java_init_decl_processing): Don't initialize
7899e8b9
BM
2336 finit_leg_identifier_node.
2337 * java-tree.h (java_tree_index): Remove JTI_FINIT_LEG_IDENTIFIER_NODE.
2338 (finit_leg_identifier_node): Remove.
2339 (ID_FINIT_P): Don't check for JTI_FINIT_LEG_IDENTIFIER_NODE.
2340
de4984af
BM
23412001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2342
e1886ae0 2343 * mangle.c (mangle_member_name): Don't special-case for
de4984af
BM
2344 NO_DOLLAR_IN_LABEL.
2345 * mangle_name.c (unicode_mangling_length): Likewise.
2346 (append_unicode_mangled_name): Likewise.
2347 * parse.y (make_nested_class_name): Remove dead NO_DOLLAR_IN_LABEL
2348 code.
2349
08514ae4
BM
23502001-12-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2351
2352 * expr.c (build_java_array_length_access): Don't force null pointer
2353 check unless flag_check_references is set.
2354
56b8325e
TT
23552001-12-20 Tom Tromey <tromey@redhat.com>
2356
2357 Fix for PR java/3417:
2358 * parse.y (patch_assignment): Added special processing for
2359 `return'.
2360 (patch_return): Don't convert booleans to integers, and don't
2361 special-case `null'.
2362
38be19f6
JM
23632001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
2364
2365 * config-lang.in (diff_excludes): Remove.
2366
b11cc610
JM
23672001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
2368
2369 * gcj.texi: Update link to GCC manual.
2370
e97562f5
TT
23712001-12-17 Tom Tromey <tromey@redhat.com>
2372
2373 * parse.y (link_nested_class_to_enclosing): Removed useless
2374 statement.
2375
2c5187c5
TT
23762001-12-16 Tom Tromey <tromey@redhat.com>
2377
2378 * mangle.c (mangle_method_decl): Never emit `C2' constructor.
2379 Fixes PR java/5088.
2380
a83f01f0
JM
23812001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
2382
2383 * ChangeLog, Make-lang.in, class.c, expr.c, gcj.texi, java-tree.h,
2384 jcf-parse.c, jcf-write.c, lex.c, parse.h, parse.y, verify.c: Fix
2385 spelling errors.
2386
faf31866
KG
23872001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2388
2389 * lex.c (java_read_unicode, java_lex): Use hex_p/hex_value.
2390
9a8de998
BM
23912001-12-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2392
2393 * decl.c (java_init_decl_processing): Build otable_type correctly.
2394 otable_decl is an otable_type.
2395
861ef928
BM
23962001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2397
2398 * java-tree.h (otable_methods, otable_decl, otable_syms_decl,
e1886ae0 2399 otable_type, otable_ptr_type, method_symbol_type,
861ef928
BM
2400 method_symbols_array_type, method_symbols_array_ptr_type): New
2401 field/global tree definitions.
2402 (flag_indirect_dispatch): New flag.
e1886ae0 2403 * decl.c (java_init_decl_processing): Initialize new otable and
861ef928
BM
2404 otable_syms type nodes and decls. Add new field "index" to
2405 method_type_node.
2406 * class.c (build_method_symbols_entry): New function.
2407 (make_method_value): Set "index" to to method's vtable index for
2408 virtual methods when indirect-dispatch is not used.
a83f01f0 2409 (make_class_data): For indirect-dispatch, don't emit the dtable_decl,
861ef928
BM
2410 and set vtable_method_count to -1. Set otable and otable_syms field
2411 if indirect-dispatch is used and there was something to put in them.
2412 (build_method_symbols_entry): New function.
2413 (emit_offset_symbol_table): New function.
2414 * expr.c (get_offset_table_index): New function.
e1886ae0 2415 (build_invokevirtual): Build array reference to otable at the index
861ef928
BM
2416 returned by get_offset_table_index, and use the result as the vtable
2417 offset.
2418 (build_invokeinterface): Similar.
e1886ae0
AJ
2419 * jcf-parse.c (yyparse): If indirect-dispatch, call
2420 emit_offset_symbol_table at the end of compilation, after all classes
861ef928
BM
2421 have been generated.
2422 * jvspec.c: Don't pass findirect-dispatch to jvgenmain.
2423 * lang.c (flag_indirect_dispatch): Define.
2424 (lang_f_options): Add indirect-dispatch flag.
2425
f1727481
MK
24262001-12-14 Matthias Klose <doko@debian.org>
2427
2428 * gcj.texi: Markup for man page generation. Document missing
2429 options printed by <tool> --help.
2430 Terminate description of gij's -ms option with a dot.
2431 * Make-lang.in ($(srcdir)/java/*.1): New targets.
2432 (java.generated-manpages java.install-man, java.uninstall,
2433 java-maintainer-clean) Updated.
2434
eec87542
HB
24352001-12-14 Hans Boehm <Hans_Boehm@hp.com>
2436
2437 * class.c (get_dispatch_table): Fix java vtable layout
2438 for TARGET_VTABLE_USES_DESCRIPTORS.
2439 * decl.c (java_init_decl_processing): Initialize
2440 alloc_no_finalizer_node, finalize_identifier_node.
2441 * expr.c (class_has_finalize_method): New function.
2442 (expand_java_NEW): Generate calls for finalizer-free allocation.
2443 (build_invokevirtual): Fix java vtable layout for
2444 TARGET_VTABLE_USES_DESCRIPTORS.
e1886ae0 2445 * java-tree.h (enum java_tree_index): New entries:
eec87542
HB
2446 JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
2447 (alloc_no_finalizer_node, finalize_deintifier_node): New macros.
2448 (class_has_finalize_method): declare.
2449 (HAS_FINALIZER_P): New macro.
2450 * parse.y (patch_invoke): Generate calls for finalizer-free
2451 allocation.
2452
81deb0a3
MK
24532001-12-12 Matthias Klose <doko@debian.org>
2454
2455 * Make-lang.in: JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove
2456 whitespace at end of line.
2457
34026199
TT
24582001-12-11 Tom Tromey <tromey@redhat.com>
2459
2460 * lex.c (java_init_lex): Define wfl_to_string as
2461 gnu.gcj.runtime.StringBuffer unless generating bytecode.
2462
a3bcfa67
JS
24632001-12-11 Jeff Sturm <jsturm@one-point.com>
2464
2465 * class.c (make_method_value): Use null_pointer_node to
2466 represent empty exception table.
2467
3afdfae8
TT
24682001-12-10 Tom Tromey <tromey@redhat.com>
2469
2470 * check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT.
2471
62c9aa5f 24722001-12-10 Douglas B. Rupp <rupp@gnat.com>
96a9c44f
DR
2473
2474 * Make-lang.in (jvspec.o): Add $(OUTPUT_OPTION).
2475
a5cb134d
PB
24762001-12-09 Per Bothner <per@bothner.com>
2477
2478 * check-init.c (current_switch_has_default): New static field.
2479 (check_init): Case DEFAULT_EXPR: Set current_switch_has_default.
2480 Case SWITCH_EXPR: Save/restore current_switch_has_default. If no
2481 DEFAULT_EXPR seen, simulate a default alternative that copies state.
2482
1aca9b81
TT
24832001-12-09 Tom Tromey <tromey@redhat.com>
2484
2485 * check-init.c (check_init): Don't allow pre- or post- increment
2486 or decrement of final variable.
2487 (final_assign_error): Minor error message rewording.
2488
4440ffc4
TT
24892001-12-08 Tom Tromey <tromey@redhat.com>
2490
0854b1c4
TT
2491 * java-tree.h: Fixed typo.
2492
5fcab235
TT
2493 * gjavah.c (decompile_method): Don't decompile to `return this'
2494 for static methods.
2495
7b35f6c9
TT
2496 * gjavah.c (cxx_keywords): Re-sorted.
2497 * lex.c (cxx_keywords): Re-sorted.
2498
897c9e66
TT
2499 * gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything
2500 else.
2501
4440ffc4
TT
2502 * gjavah.c (print_namelet): Clear subnamelets.
2503 (HANDLE_METHOD): Set `method_printed' earlier.
2504
8f25dc28
TT
25052001-12-07 Tom Tromey <tromey@redhat.com>
2506
2507 * lang.c (lang_f_options): Added
2508 optimize-static-class-initialization.
2509 (java_decode_option): Removed special case.
2510
a9040c77
PB
25112001-12-07 Per Bothner <per@bothner.com>
2512
2513 * check-init.c (check_init): Fix typo freeing memory twice.
2514
5412ef6b
PB
25152001-12-05 Per Bothner <per@bothner.com>
2516
2517 Restore support for static class initialization optimization.
2518 * java-tree.h (STATIC_CLASS_INIT_OPT_P): Re-enable.
2519 * check-init.c (check_int): At end of BLOCK handle initialization
2520 blocks, which used to be done in java_complete_expand_method but did
2521 not handle the case where check_for_initialization might allocate
2522 more than a word of bits.
2523 * decl.c (lang_make_tree): The smic field is now a tree.
2524 * expr.c (build_class_init): Set DECL_FUNCTION_INIT_TEST_CLASS field.
2525 * java-tree.h (DECL_FUNCTION_INIT_TEST_TABLE): New macro.
2526
2527 * parse.y (emit_test_initialization): Combine hash_lookup calls.
2528
2529 * java-tree.h (DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND):
2530 Change from a hash table to a list.
2531 (struct_lang_decl): Change field 'smic' to match.
2532 * class.c (add_method_1): Initialize
2533 DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND to null list.
2534 * parse.y (adjust_init_test_initialization): Removed - inlined into -
2535 (java_expand_method_bodies): -here, since 'smic' is now a list.
2536 (patch_invoke): Add to 'smic' list, instead of hash_lookup.
2537
2538 * check-init.c (WORD_SIZE): Use BITS_PER_UNIT.
2539
2540 * class.c (java_hash_compare_tree_node): Fix casts.
2541
4f88ccda
PB
25422001-12-04 Per Bothner <per@bothner.com>
2543
2544 * check-init.c: Handle definite unassignment to finals in addition
2545 to definite assignment.
2546 (loop_current_locals): New field.
2547 (num_current_locals, int start_current_locals, num_current_words):
2548 Make static.
2549 (SET_P, CLEAR_P, SET_BIT): Add needed but missing parentheses.
2550 (ASSIGNED_P, UNASSIGNED_P, SET_ASSIGNED, SET_UNASSIGNED,
2551 CLEAR_ASSIGNED, CLEAR_UNASSIGNED): New macros.
2552 (get_variable_decl, check_final_reassigned): New functions.
2553 (check_init, check_bool_init): Modify as needed for checking finals.
2554 (check_for_initialization): Take extra parameter and return void.
2555 Do extra start-up logic to check final fields for assignment.
2556 * parse.y (check_static_final_variable_assignment_flag,
2557 reset_static_final_variable_assignment_flag, check_final_assignment,
2558 check_final_variable_local_assignment_flag,
2559 reset_final_variable_indirect_assignment_flag,
2560 reset_final_variable_global_assignment_flag): Remove functions.
2561 (java_complete_expand_methods, outer_field_access_fix,
2562 patch_assignment): Remove no-longer used logic.
2563 * java-tree.h (DECL_FIELD_FINAL_IUD): Change usage and comments.
2564 * parse.y (register_fields, java_complete_tree): Update accordingly.
2565
2566 * check-init.c (ALLOC_WORDS/FREE_WORDS): Use xmalloc/free, not alloca.
2567 (DECLARE_BUFFERS, RELEASE_BUFFERS, ALLOC_BUFFER, FREE_BUFFER): New.
2568 (check_cond_init, check_bool2_init): Use DECLARE_BUFFERS.
2569
2570 * java-tree.h (STATIC_CLASS_INIT_OPT_P): Temporarily turn off.
2571
2572 * java-tree.h (DECL FINAL): New bit-field.
2573 (METHOD_FINAL, FIELD_FINAL, CLASS_FINAL): Define as DECL_FINAL.
2574 (LOCAL_FINAL_P): Use DECL_FINAL rather than old LOCAL_FINAL.
2575 (DECL_INIT_CALLS_THIS): New macro.
2576 (struct lang_decl): New bit-field init_calls_this.
2577 (DECL_FUNCTION_ALL_FINAL_INITIALIZED, DECL_FIELD_FINAL_LIIC,
2578 DECL_FIELD_FINAL_IERR, LOCAL_FINAL, TYPE_HAS_FINAL_VARIABLE
2579 (DECL_BIT_INDEX): Change to use pointer_alias_set since we now
2580 use it for both local variables and final fields.
2581 (struct lang_decl_var): Remove bit-fields final_liic, final_ierr,
2582 and local_final.
2583 (struct lang_type): Remove hfv bit-field.
2584 (check_for_initialization): Change to return void.
2585
2586 * java-tree.h (IS_ARRAY_LENGTH_ACCESS): New macros.
2587 * expr.c (build_java_array_length_access): Set IS_ARRAY_LENGTH_ACCESS.
2588 * check-init.c (final_assign_error): New helper function.
2589 (check_final_reassigned, check_init): Use it.
2590 (check_init): Also check IS_ARRAY_LENGTH_ACCESS for ARRAY.length.
e1886ae0 2591
4f88ccda
PB
2592 * java-tree.h (struct lang_decl, struct lang_decl_var): Change all
2593 bit-fields to unsigned.
2594
87d4ad08
PB
25952001-12-03 Per Bothner <per@bothner.com>
2596
2597 * parse.y (patch_binop): Minor constant folding.
2598
2599 * parse.y (build_current_thisn): Shorter 'buffer'.
2600
aedcdb65
PB
26012001-12-03 Per Bothner <per@bothner.com>
2602
2603 * decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR
2604 instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
2605 * jcf-write.c (generate_bytecode_insns): Remove support for
2606 CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
2607 * check-init.c (check_init): Likewise.
2608
82ff672e
PB
26092001-12-03 Per Bothner <per@bothner.com>
2610
2611 * verify.c (subroutine_nesting): New function.
2612 (verify_jvm_instructions): Use it to fix logic for checking that
2613 we're done with the current subroutine.
2614
2615 * verify.c (verify_jvm_instruction): For OPCODE_checkcast and
2616 OPCODE_instanceof use POP_TYPE macro for better diagnostics.
2617
98a63868
PB
26182001-12-03 Per Bothner <per@bothner.com>
2619
2620 * jcf.h: Fix obvious typo in comment.
2621 * typeck.c (build_null_signature): Add comment.
2622
c725bd79
NB
26232001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
2624
2625 * expr.c: Remove leading capital from diagnostic messages, as
2626 per GNU coding standards.
2627 * jcf-io.c: Similarly.
2628 * jcf-parse.c: Similarly.
2629 * jv-scan.c: Similarly.
2630 * jvspec.c: Similarly.
2631 * mangle.c: Similarly.
2632
b736dee6
TCH
26332001-12-02 Tang Ching-Hui <nicholas@cs.nthu.edu.tw>
2634 Alexandre Petit-Bianco <apbianco@redhat.com>
2635
e1886ae0 2636 * expr.c (build_java_arrayaccess): Call save_expr on array for
7e5f4bee 2637 correct evaluation order, modified comment, fixed indentation.
b736dee6
TCH
2638 * parse.y: (patch_assignment): Correctly extract the array base
2639 from the tree generate by build_java_arrayaccess, added comments.
2640 (patch_array_ref): Remove SAVE_EXPR on ARRAY_REF.
2641 Fixes PR java/3096, PR java/3803, PR java/3965.
2642
357351e5
NB
26432001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
2644
2645 * expr.c (expand_byte_code): Remove trailing periods from messages.
2646 * jcf-parse.c (load_class, jcf_parse): Similarly.
2647 * jcf-write.c (generate_classfile): Similarly.
2648 * lex.c (java_lex): Similarly.
2649
a7c5337d
BM
26502001-11-30 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2651
2652 * class.c (add_interface_do): Set BINFO_VPTR_FIELD.
2653
d3945f0a
JM
26542001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
2655
2656 * Make-lang.in (java.generated-manpages): New dummy target.
2657
b856c15d
RO
26582001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2659
2660 * jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
2661 ASM_FINAL_SPEC.
2662 (lang_specific_pre_link): Use set_input to set input_filename.
2663 Append `main' here.
2664 * jvgenmain.c (usage): Append literal `main' to CLASSNAME.
2665 (main): Fix definition.
2666 Strip `main' from classname.
2667 Fixes PR java/227.
2668
9c2fcf09
RS
26692001-11-18 Roger Sayle <roger@eyesopen.com>
2670
2671 * parse.h (java_expand_switch): Remove old prototype.
2672
8aeb42d0
TT
26732001-11-18 Tom Tromey <tromey@redhat.com>
2674
2675 Fix for PR java/1401:
2676 * jcf-write.c (generate_bytecode_insns) [binop]: Handle case where
2677 arg0 is null.
2678 (generate_bytecode_insns) [MODIFY_EXPR]: Handle `OP=' case
2679 correctly.
2680
22703ccc
NB
26812001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
2682
2683 * lang.c (finish_parse): Rename to java_finish.
2684 (LANG_HOOKS_FINISH, java_finish): New.
2685
f5e99456
NB
26862001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
2687
2688 * decl.c (init_decl_processing): Rename java_init_decl_processing.
2689 * java-tree.h: New prototype.
2690 * lang.c (java_init): Update prototype. Combine with old init_parse.
2691
150f086d
TT
26922001-11-13 Tom Tromey <tromey@redhat.com>
2693
2694 * gjavah.c (method_signature): New global.
2695 (HANDLE_METHOD): Set it.
2696 (decompile_return_statement): New function.
2697 (decompile_method): Use it.
2698 (print_method_info): Removed `synth' argument.
2699
5d69f816
NB
27002001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
2701
2702 * java-tree.h (java_set_yydebug): New.
2703 * jcf-parse.c (set_yydebug): Rename java_set_yydebug.
2704 * lang.c (LANG_HOOKS_SET_YYDEBUG): Override.
2705 (print_lang_decl, print_lang_type, print_lang_identifier,
2706 print_lang_statistics, lang_print_xnode): Remove.
2707
3ac88239
NB
27082001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
2709
2710 * jcf-parse.c (init_lex): Remove.
2711 * lang.c (language_string, lang_identify): Remove.
2712 (struct lang_hooks): Constify.
2713 (LANG_HOOKS_NAME): Override.
2714 (init_parse): Update.
2715
b21d216c
AF
27162001-11-08 Andreas Franck <afranck@gmx.de>
2717
e1886ae0 2718 * Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
b21d216c
AF
2719 program_transform_name the way suggested by autoconf.
2720 (java.install-common): Also transform auxiliary program names with
2721 program_transform_name.
2722
1fa73144
TT
27232001-11-08 Tom Tromey <tromey@cygnus.com>
2724
2725 * parse.y (trap_overflow_corner_case): New rule.
2726 (unary_expression): Use it.
2727 * lex.c (java_init_lex): Don't set minus_seen.
2728 (yylex): Don't use minus_seen. Communicate overflow to parser for
2729 it to handle.
2730 (error_if_numeric_overflow): New function.
2731 * parse.h (minus_seen): Removed field.
2732 (JAVA_RADIX10_FLAG): New define.
2733
5a21a051
TT
27342001-11-07 Tom Tromey <tromey@redhat.com>
2735
2736 Patch for PR java/1414:
2737 * parse.y (case_label_list): New global.
2738 (goal): Register case_label_list with GC.
2739 (java_complete_lhs): Save new case on case_label_list.
2740 (patch_switch_statement): Check for duplicate case labels.
2741
5573cb39
APB
27422001-11-07 Alexandre Petit-Bianco <apbianco@redhat.com>
2743
2744 * parse.y (patch_assignment): Removed unused third argument.
2745 (java_complete_lhs): Removed unused third argument to patch_assignment.
2746
d23c55c2
NB
27472001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2748
2749 * lang.c: Include langhooks-def.h.
2750 * Make-lang.in: Update.
2751
5b7874aa
ZW
27522001-10-31 Zack Weinberg <zack@codesourcery.com>
2753
2754 * Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2755
2b472f91
BM
27562001-10-29 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2757
2758 * mangle.c (find_compression_record_match): Don't match compression
2759 records for package name elements unless they occur at the start of
2760 the name. Fix for PR java/4717.
2761
961b8e70
BM
27622001-10-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2763
2764 * expr.c (expand_java_field_op): Don't special-case references to
2765 java.lang.PRIMTYPE.TYPE.
2766 (build_primtype_type_ref): Removed.
2767 * java-tree.h (build_primtype_type_ref): Remove prototype.
2768 * parse.y (maybe_build_primttype_type_ref): Removed.
2769 (complete_function_arguments): Don't special-case references to
2770 java.lang.PRIMTYPE.TYPE.
2771 (patch_assignment): Likewise.
2772 (array_constructor_check_entry): Likewise.
2773
98f705b9
APB
27742001-10-24 Alexandre Petit-Bianco <apbianco@redhat.com>
2775
2776 * mangle.c (static tree compression_table): Fixed leading comment.
2777 * parse.h (struct parser_ctxt): Fixed field comment.
2778 * parse.y (check_pkg_class_access): New prototype, fixed leading
2779 comment, new parameter used to emit error only if passed as true.
2780 (parse_check_super): Pass extra argument to check_pkg_class_access.
2781 (do_resolve_class): Likewise.
2782 (process_imports): Likewise.
2783 (read_import_dir): Fixed indentation.
2784 (find_in_imports_on_demand): New local class_type_name. Local
2785 node_to_use deleted. while loop changed into for loop. Report
2786 multiple definition only for accessible classes. Improved error
2787 message.
2788 (start_complete_expand_method): Local `ptr' removed. DECL_ARGUMENTS
2789 assigned to parameter list, fixed indentation. while loop changed
2790 into for loop, restore TREE_CHAIN on local `tem' before the next
2791 iteration.
2792
62c9aa5f 27932001-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8ac61af7
RK
2794
2795 * lang.c (lang_get_alias_set): Deleted.
2796
0df6c2c7
KG
27972001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2798
299b5f9e
KG
2799 * gjavah.c (jni_print_char): Fix thinko in last change.
2800
0df6c2c7
KG
2801 * gjavah.c (jni_print_char, decode_signature_piece): Use
2802 safe-ctype macros and/or fold extra calls into fewer ones.
2803 * lex.c (java_read_unicode, java_lex): Likewise.
2804 * lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT,
2805 JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise.
2806 * mangle_name.c (append_unicode_mangled_name,
2807 unicode_mangling_length): Likewise.
2808
17ed6335
RH
28092001-10-17 Richard Henderson <rth@redhat.com>
2810
2811 * Make-lang.in (java/lang.o): Depend on langhooks.h.
2812
c83303d8
APB
28132001-10-15 Alexandre Petit-Bianco <apbianco@redhat.com>
2814
2815 * lang.c (langhooks.h): Included.
2816 (LANG_HOOKS_INIT): Redefined.
2817 (LANG_HOOKS_INIT_OPTIONS): Likewise.
2818 (LANG_HOOKS_DECODE_OPTION): Likewise.
2819 (struct lang_hooks lang_hooks): New initialization.
2820
be98560f
PB
28212001-10-11 Per Bothner <per@bothner.com>
2822
89b894e1
PB
2823 * parse.y (patch_synchronized_statement): Use a TRY_FINALLY_EXPR
2824 rather than a CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR pair.
2825 The former is simpler, and jcf-write.c handles it better.
2826 (java_complete_lhs): No longer need to handle CLEANUP_POINT_EXPR
2827 or WITH_CLEANUP_EXPR.
2828 * jcf-write.c: Revert Alex's change from 2000-10-18. It is no
2829 longer needed, as we already handle empty TRY_FINALLY_EXPR bodies fine.
2830
be98560f
PB
2831 * parse.y (patch_if_else_statement): If the condition is constant,
2832 optimize away the test.
2833
3fb5c0eb
APB
28342001-10-09 Alexandre Petit-Bianco <apbianco@redhat.com>
2835
2836 * parse.y (patch_cast): Call patch_string on the first operand of
c83303d8 2837 the incoming node, update it if necessary. Fixes PR java/4510.
3fb5c0eb 2838
908fecca
BM
28392001-10-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2840
2841 * parse.y (find_as_inner_class): Don't disregard the enclosing scope
2842 when name qualifier matches a package name.
2843
f3ca28bf
TT
28442001-10-08 Tom Tromey <tromey@redhat.com>
2845
2846 Fix for PR java/4489:
2847 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Always
2848 force a new label when computing `body_block'.
2849
8b60264b
KG
28502001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2851
2852 * jcf-io.c (format_uint): Const-ify.
2853 * lang.c (java_tree_code_type, java_tree_code_length): Likewise.
2854 * lex.c (java_get_line_col): Likewise.
2855 * parse.y (build_incdec): Likewise.
2856
3fb5c0eb
APB
28572001-10-05 Alexandre Petit-Bianco <apbianco@redhat.com>
2858
2859 * parse.y (register_incomplete_type): Set JDEP_SUPER to be given
c83303d8 2860 a NULL enclosing context if appropriate. Fixes PR java/4466.
3fb5c0eb 2861
7754e0a9
APB
28622001-10-03 Alexandre Petit-Bianco <apbianco@redhat.com>
2863
2864 * parse.y (patch_assignment): Use lvalue's original TYPE when
2865 building the final COMPOUND_EXPR.
2866 (try_reference_assignconv): Fixed leading comment.
2867
e9546ca4
APB
28682001-09-26 Alexandre Petit-Bianco <apbianco@redhat.com>
2869
2870 * parse.y (check_final_variable_indirect_assignment): For
2871 COMPOUND_EXPR, return only if finals were found initialized
2872 properly, if not, keep on checking.
2873 (check_final_variable_global_assignment_flag): New local
2874 error_found, set when appropriate and used to decide whether to
2875 report uninitialized finals. Fixed typo in comment.
2876
f6a67a81
APB
28772001-09-22 Alexandre Petit-Bianco <apbianco@redhat.com>
2878
2879 * decl.c (init_decl_processing): Fixed typo in predef_filenames
2880 last three initializations. Fixes PR java/4360.
2881
67231816
RH
28822001-09-21 Richard Henderson <rth@redhat.com>
2883
2884 * class.c (get_dispatch_table): Handle function descriptors.
2885 (build_dtable_decl): Likewise.
2886 * expr.c (build_invokevirtual): Likewise.
2887
870a5b8a
APB
28882001-09-20 Alexandre Petit-Bianco <apbianco@redhat.com>
2889
2890 * parse.y (patch_method_invocation): Build class initialization
2891 when static finals are used to qualify method invocation.
2892 Fixes PR java/4366.
2893
2e3b2d2c
APB
28942001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
2895
2896 * parse.h: (WFL_STRIP_BRACKET): Re-written using
2897 build_type_name_from_array_name.
2898 (STRING_STRIP_BRACKETS): New macro.
2899 * parse.y (build_type_name_from_array_name): New function.
2900 (array_creation_expression:): Accumulate []s instead of [s.
2901 (cast_expression:): Accumulate []s instead of [s after cast type
2902 name.
2903 (build_array_from_name): Local string deleted, use
2904 build_type_name_from_array_name.
2905 (build_unresolved_array_type): Accumulate []s instead of [s after
2906 type name.
2907 (register_fields): Fixed comment.
2908 (resolve_class): Local name, base deleted, new locals tname and
2909 array_dims. Use build_type_name_from_array_name. Use array_dims to
2910 build array type.
2911 (purify_type_name): Use STRING_STRIP_BRACKETS.
2912
e64c46ce
AJ
29132001-09-18 Andreas Jaeger <aj@suse.de>
2914
2915 * parse.y: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
2916 * jv-scan.c: Likewise.
2917
3fb5c0eb
APB
29182001-09-17 Alexandre Petit-Bianco <apbianco@redhat.com>
2919
2920 * parse.y (patch_method_invocation): Inner class creation context
2921 check not enforced within constructors. Fixes PR java/1873.
2922
7a91449c
TT
29232001-09-16 Tom Tromey <tromey@redhat.com>
2924
2925 * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Call
2926 NOTE_PUSH for single-case push. Fixes PR java/4189.
2927
653d5d95
APB
29282001-09-13 Alexandre Petit-Bianco <apbianco@redhat.com>
2929
2930 * java-tree.h (TYPE_IMPORT_LIST): New macro.
2931 (TYPE_IMPORT_DEMAND_LIST): Likewise.
2932 (struct lang_type): New fields import_list and import_demand_list.
2933 * parse.y (java_complete_class): Initialize TYPE_IMPORT_LIST and
2934 TYPE_IMPORT_DEMAND_LIST with ctxp counterparts.
2935 (do_resolve_class): New local saved_enclosing_type, initialized,
2936 passed as parameter to find_in_imports and find_in_imports_on_demand.
2937 (find_in_imports): Added paramater enclosing_type, use its
2938 TYPE_IMPORT_LIST when applicable.
2939 (find_in_imports_on_demand): Added parameter enclosing_type, use
2940 its TYPE_IMPORT_DEMAND_LIST when applicable. Reorganized locals
2941 declaration and initialization.
2942 (fold_constant_for_init): Switch/restore current_class to the
2943 appropriate context.
2944
6d334db8
MM
29452001-09-13 Mark Mitchell <mark@codesourcery.com>
2946
2947 * verify.c (verify_jvm_instructions): Fix typo.
2948
83182544
KG
29492001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2950
2951 * expr.c (expand_invoke): Const-ification.
2952 * parse.y (patch_method_invocation): Likewise.
2953
fd033052
KG
29542001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2955
2956 * gjavah.c (cxx_keywords): Const-ification.
2957 * keyword.gperf (java_keyword): Likewise.
2958 * lang.c (java_tree_code_name): Likewise.
2959 * lex.c (cxx_keywords): Likewise.
2960 * parse.y (java_parser_context_suspend, merge_string_cste): Likewise.
2961
fcbc317f
RH
29622001-09-11 Richard Henderson <rth@redhat.com>
2963
2964 * parse.h (ctxp_for_generation): Mark extern.
2965
c347e68d
RH
29662001-09-10 Richard Henderson <rth@redhat.com>
2967
2968 * class.c (build_class_ref): Set DECL_EXTERNAL before make_decl_rtl.
2969
6a9f6727
MK
29702001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2971
2972 * typeck.c (java_array_type_length, build_prim_array_type):
2973 Represent empty arrays by NULL index.
2974
0ef02b2d
APB
29752001-09-06 Alexandre Petit-Bianco <apbianco@redhat.com>
2976
2977 * java-tree.h (compile_resource_file): Grouped with other prototypes.
e64c46ce 2978 * jvspec.c (lang_specific_driver): Removed unused local `ptr.'
0ef02b2d 2979
f2767a67
AG
29802001-09-06 Anthony Green <green@redhat.com>
2981
2982 * class.c (O_BINARY): Define if necessary.
2983 (registerResource_libfunc): Declare.
2984 (init_class_processing): Initilize registerResource_libfunc.
2985 (compile_resource_file): New function.
2986 * java-tree.h (resource_name): Declare.
2987 (compile_resource_file): Declare.
2988 * jcf-parse.c (yyparse): Handle compiling java resource files.
2989 * lang.c (java_decode_option): Handle -fcompile-resource option.
2990 * jvspec.c (lang_specific_driver): Handle -R flag for compiling
2991 resource files.
2992 * gcj.texi (Code Generation): Add documentation for -R flag.
2993
731866ba
APB
29942001-09-05 Alexandre Petit-Bianco <apbianco@redhat.com>
2995
2996 * jcf-write.c (generate_classfile): Issue an error in case of
2997 field/initial value mismatch.
2998 * parse.y (analyze_clinit_body): Keep <clinit> if an array is
2999 being initialized and we're generating bytecode.
3000 (java_complete_lhs): In MODIFY_EXPR section: added comments,
3001 set DECL_INITIAL properly when appropriate.
3002 Fixes PR java/4230
3003 Fixes PR java/4204
3004
0286a91d
PB
30052001-09-01 Per Bothner <per@bothner.com>
3006
3007 * parse.y (maybe_yank_clinit): A field without an initializer is not
3008 relevant. All initializers except static final and constant require
3009 <clinit>, regardless of flag_emit_class_files.
3010
289b57ee
PB
30112001-08-31 Per Bothner <per@bothner.com>
3012
3013 * class.c (set_constant_value): When not emiting class files, then a
3014 String ConstantValue is a utf8const_ptr_type.
3015
be0c7ff4
PB
30162001-08-30 Per Bothner <per@bothner.com>
3017
3018 * jcf-write.c (generate_classfile): Check that field is primitive
3019 or string before emitting ConstantValue attribute.
e64c46ce 3020
f0cdee96
PB
30212001-08-30 Per Bothner <per@bothner.com>
3022
3023 * parse.y (resolve_qualified_expression_name): If creating a
3024 COMPOUND_EXPR, set it's type correctly.
3025
bc8a5e56
PB
30262001-08-30 Per Bothner <per@bothner.com>
3027
3028 * jcf-io.c (open_class): Set filename field.
3029
3030 * jcf-parse,c (parse_class_file): Set current_function_decl
3031 for better error message when Code attribute is missing.
3032
3033 * lang.c (put_decl_node, lang_print_error): Re-arrange for
3034 better diagnostics, especially for constructors.
e64c46ce 3035
1b9ee723
PB
30362001-08-30 Per Bothner <per@bothner.com>
3037
3038 * jcf-write.c (generate_classfile): Don't write ConstantValue
3039 attribute if field is not final, for compatibility with jdk.
3040
3041 * jcf-write.c (generate_classfile): Convert ConstantValue values
3042 to correct type. Work-around for front-end bug.
3043 * class.c (set_constant_value): Error if constant has wrong type.
3044
6e4302ec
PB
30452001-08-30 Per Bothner <per@bothner.com>
3046
3047 * jcf-dump.c (print_constant): Fix fencepost error so "Float" and
3048 "Double" are printed at verbosity 1.
3049
3050 * jcf-dump.c (main): Disable flag_print_attributes if --javap.
3051
3052 * jcf-dump.c (SPECIAL_IINC): Remove unneeded casts to long.
3053
3ed218d4
APB
30542001-08-30 Alexandre Petit-Bianco <apbianco@redhat.com>
3055
3056 * parse.y (patch_assignment): Don't verify final re-assignment here.
3057 (java_complete_lhs): Verify assignments to finals calling
3058 patch_assignment. Verify re-assignments to finals before calling
3059 patch_assignment.
3060
30612001-08-29 Alexandre Petit-Bianco <apbianco@redhat.com>
3062
3063 * parse.y (java_complete_lhs): Allow final locals in CASE_EXPRs.
3064 Fixes PR java/1413
3065
30662001-08-28 Alexandre Petit-Bianco <apbianco@redhat.com>
3067
3068 * lex.c (java_lex): new local found_hex_digits. Set and then used
3069 in test to reject invalid hexadecimal numbers.
3070 * parse.y (java_complete_tree): Prevent unwanted cast with
3071 initialized floating point finals.
3072 (patch_binop): Emit a warning when detecting a division by zero,
3073 mark result not constant, don't simplify non integer division.
3074
1a27eec1
PB
30752001-08-28 Per Bothner <per@bothner.com>
3076
3077 * jcf-write.c (generate_bytecode_insns): For increments and
9a07cfaf 3078 decrements just recurse to push constant. Improvement on Mark's patch.
1a27eec1 3079
06657dcd
MM
30802001-08-28 Mark Mitchell <mark@codesourcery.com>
3081
3082 * jcf-write.c (generate_bytecode_insns): Generate an integer to
3083 real conversion for increments and decrements of reals.
3084
1ca09b48
APB
30852001-08-27 Alexandre Petit-Bianco <apbianco@redhat.com>
3086
3087 * parse.y (resolve_qualified_expression_name): Handle unresolved
3088 qualified expressions, prevent numerical qualifiers, fixed typo.
3089 Fixes PR java/4141
3090
7b02957e
APB
30912001-08-24 Alexandre Petit-Bianco <apbianco@redhat.com>
3092
3093 * parse.y (check_deprecation): Handle TYPE_DECL in a special case,
3094 don't report anything but deprecated class when marked so. Handle
3095 VAR_DECL.
3096 (patch_method_invocation): Check deprecation on methods and types.
3097 (patch_binop): code becomes an enum tree_code, added default: to
3098 switch to handle that. Detect division by zero, try to fold and
3099 return before using a subroutine.
3100
496849ba
APB
31012001-08-23 Alexandre Petit-Bianco <apbianco@redhat.com>
3102
3103 * jcf-parse.c (yyparse): Set magic to 0, don't issue error for a
e64c46ce 3104 file smaller than 4 bytes.
496849ba
APB
3105 * parse.y (check_inner_circular_reference): New function.
3106 (check_circular_reference): Likewise.
3107 (array_initializer:): Accept {,}.
3108 (java_check_circular_reference): Rewritten using
3109 check_circular_reference and check_inner_circular_reference.
3110 (java_complete_expand_method): Unconditionally save and restore
3111 the unpurged exception list.
3112 (build_dot_class_method_invocation): Unmangle signature parameter.
3113
66b461ce
TT
31142001-08-21 Tom Tromey <tromey@redhat.com>
3115
3116 * decl.c (init_decl_processing): Add `throws' field to method
3117 descriptor.
3118 * class.c (make_method_value): Compute `throws' field for method.
3119
df1c5346
APB
31202001-08-22 Alexandre Petit-Bianco <apbianco@redhat.com>
3121
3122 * parse.y (resolve_inner_class): Keep local_enclosing to NULL if
3123 circularity is detected.
3124 (ctors_unchecked_throws_clause_p): Fixed leading comment.
3125
c8af3574
RH
31262001-08-17 Richard Henderson <rth@redhat.com>
3127
3128 * class.c (emit_register_classes): Add align parameter to
3129 call to assemble_integer.
3130
17126208
APB
31312001-08-16 Alexandre Petit-Bianco <apbianco@redhat.com>
3132
3133 * jcf-parse.c (load_class): New locals saved and class_loaded. If
3134 loading a class_or_name fails, try considering an innerclass name
3135 and load the enclosing context.
3136 * parse.y (resolve_inner_class): New function.
3137 (find_as_inner_class): Added leading comment.
3138 (register_incomplete_type): Keep the current context as enclosing
3139 context for JDEP_FIELD dependencies.
3140 (do_resolve_class): Locals new_class_decl and super initialized to
3141 NULL. Call resolve_inner_class, explore the enclosing context
3142 superclass if necessary.
3143 Fixes PR java/4007
3144
4266d0b2
TT
31452001-08-16 Tom Tromey <tromey@redhat.com>
3146
3147 * jcf-dump.c (main): Updated for change to jcf_path_seal.
3148 * gjavah.c (main): Updated for change to jcf_path_seal.
3149 * lang.c (version_flag): New global.
3150 (java_decode_option): Recognize `-version'.
3151 (java_init): Update for change to jcf_path_seal.
3152 * jcf.h (jcf_path_seal): Added `print' argument.
3153 * jcf-path.c (jcf_path_seal): Added `print' argument.
3154
e78d8e51
ZW
31552001-08-13 Zack Weinberg <zackw@panix.com>
3156
3157 * Make-lang.in (java/decl.o): Update dependencies.
3158 * decl.c: Include libfuncs.h, don't include toplev.h.
3159
17126208
APB
31602001-08-12 Alexandre Petit-Bianco <apbianco@redhat.com>
3161
3162 * decl.c (init_decl_processing): exception_type_node,
3163 class_not_found_type_node, and no_class_def_found_type_node
3164 initialized. predef_filenames augmented accordingly.
3165 instinit_identifier_node initialized.
3166 * java-tree.def (INSTANCE_INITIALIZERS_EXPR): Entry removed.
3167 * java-tree.h (enum java_tree_index): New entries
3168 JTI_EXCEPTION_TYPE_NODE, JTI_CLASS_NOT_FOUND_TYPE_NODE,
3169 JTI_NO_CLASS_DEF_FOUND_TYPE_NODE, JTI_INSTINIT_IDENTIFIER_NODE.
3170 (exception_type_node): New macro.
3171 (class_not_found_type_node): Likewise.
3172 (no_class_def_found_type_node): Likewise.
3173 (instinit_identifier_node): Likewise.
3174 (PREDEF_FILENAMES_SIZE): Adjusted.
3175 (TYPE_HAS_FINAL_VARIABLE): Fixed typo.
3176 (struct lang_type): Fixed typo in bitfield name.
3177 (DECL_INSTINIT_P): New macro.
3178 (ID_INSTINIT_P): Likewise.
3179 * jcf-write.c (generate_classfile): instinit$ bears the Synthetic
3180 attribute.
3181 * parse.y (encapsulate_with_try_catch): New function.
3182 (generate_instinit): Likewise.
3183 (build_instinit_invocation): Likewise.
3184 (ctors_unchecked_throws_clause_p): Likewise.
3185 (add_instance_initializer): Deleted.
3186 (build_instance_initializer): Likewise.
3187 (in_instance_initializer): Likewise.
3188 (check_method_redefinition): instinit$ not to be verified.
3189 (java_complete_expand_methods): Generate instinit$, simplified code.
3190 (build_dot_class_method): Eliminated unnecessary locals. Use
3191 encapsulate_with_try_catch, removed unnecessary code.
3192 (fix_constructors): New local iii. Use build_instinit_invocation.
3193 (patch_method_invocation): Added comment.
3194 (maybe_use_access_method): Don't consider instinit$.
3195 (find_applicable_accessible_methods_list): Shorten the search for
3196 instinit$ too.
3197 (java_complete_lhs): case INSTANCE_INITIALIZERS_EXPR removed.
3198 (patch_return): Use DECL_INSTINIT_P instead of in_instance_initializer.
3199 (patch_throw_statement): Likewise. Fixed typo.
e64c46ce 3200
6ba57472
DE
32012001-08-12 David Edelsohn <edelsohn@gnu.org>
3202
3203 Revert:
3204 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3205 * jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
3206 ASM_FINAL_SPEC.
3207 (lang_specific_pre_link): Use set_input to set input_filename.
3208 Append `main' here.
3209 * jvgenmain.c (usage): Append literal `main' to CLASSNAME.
3210 (main): Fix definition.
3211 Strip `main' from classname.
3212 Fixes PR java/227.
3213
94aca342
ZW
32142001-08-11 Zack Weinberg <zackw@panix.com>
3215
3216 * lex.h: Don't include setjmp.h. Don't define
3217 SET_FLOAT_HANDLER or prototype set_float_handler.
3218
17126208
APB
32192001-08-09 Alexandre Petit-Bianco <apbianco@redhat.com>
3220
3221 * expr.c (java_lang_expand_expr): Call `expand_end_bindings' and
3222 `poplevel' in the right order.
3223
2cc07db4
RH
32242001-08-09 Richard Henderson <rth@redhat.com>
3225
3226 * Make-lang.in (class.o): Depend on TARGET_H.
3227 * class.c (emit_register_classes): Use target hooks instead of
3228 assemble_constructor and assemble_destructor.
3229
4009bb7d
APB
32302001-08-08 Alexandre Petit-Bianco <apbianco@redhat.com>
3231
3232 * check-init.c (flags.h): Include
3233 (check_init): Don't report uninitialized static class
3234 initialization flags, don't free bit index when doing static class
3235 initialization optimization.
3236 (check_for_initialization): Return type changed to `unsigned int.'
3237 (attach_initialized_static_class): New function.
3238 * class.c (add_method_1): Create the initialized static class
3239 table if necessary.
3240 (finish_class): Always emit deferred inline methods.
3241 * decl.c (emit_init_test_initialization): Moved to expr.c
3242 (complete_start_java_method): Don't traverse
3243 DECL_FUNCTION_INIT_TEST_TABLE.
3244 (lang_mark_tree): Mark hash tables in function decls.
3245 * expr.c (emit_init_test_initialization): Moved from decl.c.
3246 (build_class_init): Create LAG_DECL_SPECIFIC for the static class
3247 initialization flag, set DECL_CONTEXT and
3248 LOCAL_CLASS_INITIALIZATION_FLAG.
3249 (java_lang_expand_expr): Emit initialization code for static class
3250 initialized flags when entering block, if necessary.
3251 * gcj.texi (-fno-optimize-static-class-initialization): Documented.
3252 * java-tree.h (flag_optimize_sci): New global variable declaration.
3253 (DECL_FUNCTION_INITIALIZED_CLASS_TABLE): New macro.
3254 (DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND): Likewise.
3255 (LOCAL_FINAL_P): Fixed typo in comment.
3256 (FINAL_VARIABLE_P): Likewise.
3257 (LOCAL_CLASS_INITIALIZATIO_FLAG): New macro.
3258 (LOCAL_CLASS_INITIALIZATIO_FLAG_P): Likewise.
3259 (struct lang_decl): New fields `ict', `smic' and `cif.'
3260 (check_for_initialization): New returned value for global.
3261 (attach_initialized_static_class): New global function.
3262 (STATIC_CLASS_INIT_OPT_P): New macro.
3263 * lang-options.h (-fno-optimize-static-class-initialization): New flag.
3264 * lang.c (java_decode_option): Handle
3265 `-fno-optimize-static-class-initialization'
3266 * parse.y (start_complete_expand_method): New function.
3267 (java_expand_method_bodies): Likewise.
3268 (attach_init_test_initialization_flags): Likewise.
3269 (adjust_init_test_initialization): Likewise.
3270 (emit_test_initialization): Likewise.
3271 (java_complete_expand_methods): Nullify abstract and native method
3272 bodies.
3273 (java_complete_expand_method): New locals `fbody', `block_body'
3274 and `exception_copy.' Reorganized: directly return on empty method
3275 bodies, call `start_complete_expand_method', remember definitely
3276 initialized static class in function, don't expand method bodies.
3277 (java_expand_classes): Call `java_expand_method_bodies' before
3278 `finish_class' when compiling to native.
3279 (resolve_expression_name): Use `orig' after building outer class
3280 field access.
3281 (patch_invoke): Remember static method invokations.
3282
47907859
RH
32832001-08-06 Richard Henderson <rth@redhat.com>
3284
9a07cfaf 3285 * class.c (emit_register_classes): Pass a symbol_ref and priority
47907859
RH
3286 to assemble_constructor.
3287
36e10d77
APB
32882001-08-02 Alexandre Petit-Bianco <apbianco@redhat.com>
3289
3290 * java-tree.h (all_class_filename): New macro.
3291 (enum java_tree_index): New enum `JTI_ALL_CLASS_FILENAME.'
3292 (BUILD_FILENAME_IDENTIFIER_NODE): Fixed leading comment. Link
3293 newly created IDENTIFIER_NODE to `all_class_filename.'
3294
f2f25b6d
JS
32952001-08-01 Jeff Sturm <jsturm@one-point.com>
3296
9a07cfaf
RH
3297 * java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE):
3298 Use ggc_add_tree_root to register roots.
e64c46ce 3299
6ad7895a
APB
33002001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
3301
3302 * check-init.c (check_init): WITH_CLEANUP_EXPR node to use its
3303 second operand calling check_init.
3304 * decl.c (complete_start_java_method): Swaped second and third
3305 arguments while creating WITH_CLEANUP_EXPR node.
3306 * jcf-write.c (generate_bytecode_insns): Use second operand
3307 instead of third when handling WITH_CLEANUP_EXPR.
3308 * parse.y (java_complete_lhs): Expand second operand of
3309 WITH_CLEANUP_EXPR nodes.
3310 (patch_synchronized_statement): Swaped second and third arguments
3311 while creating WITH_CLEANUP_EXPR node.
3312
9d7d8362
APB
33132001-07-18 Alexandre Petit-Bianco <apbianco@redhat.com>
3314
3315 * parse.y (create_interface): Avoid cyclic inheritance report when
3316 syntax error encountered during class definition.
3317 Fixes PR java/2956
3318
578672a2
RO
33192001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3320
3321 * jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
3322 ASM_FINAL_SPEC.
3323 (lang_specific_pre_link): Use set_input to set input_filename.
3324 Append `main' here.
3325 * jvgenmain.c (usage): Append literal `main' to CLASSNAME.
3326 (main): Fix definition.
3327 Strip `main' from classname.
3328 Fixes PR java/227.
3329
6a65ea5b
TT
33302001-07-18 Tom Tromey <tromey@redhat.com>
3331
3332 For PR java/2812:
3333 * lex.h: Use HAVE_ICONV, not HAVE_ICONV_H.
3334 * lex.c (java_new_lexer): Use ICONV_CONST.
3335 (java_read_char): Likewise.
3336 * Make-lang.in (jc1$(exeext)): Link against LIBICONV.
3337 (jv-scan$(exeext)): Likewise.
3338
9d7d8362
APB
33392001-07-17 Alexandre Petit-Bianco <apbianco@redhat.com>
3340
3341 * parse.h (INTERFACE_INNER_MODIFIERS): Disallow `private.'
3342 * parse.y (check_class_interface_creation): Allow `private' if the
3343 enclosing is not an interface.
3344 (create_interface): Interface tagged public if the enclosing
3345 context is an interface.
3346 (create_class): Class tagged public if the enclosing context
3347 is an interface.
3348 Fixes PR java/2959
3349
33502001-07-17 Alexandre Petit-Bianco <apbianco@redhat.com>
3351
3352 * class.c (push_class): Set DECL_SIZE to `integer_zero_node.'
3353 Fixes PR java/2665
3354
e6290e74
TJ
33552001-07-14 Tim Josling <tej@melbpc.org.au>
3356
3357 * check-init.c (check_init): Remove references to EXPON_EXPR.
3358
9d7d8362
APB
33592001-07-13 Alexandre Petit-Bianco <apbianco@redhat.com>
3360
3361 * parse.y (java_complete_lsh): Set CAN_COMPLETE_NORMALLY and unset
3362 TREE_CONSTANT_OVERFLOW of CASE_EXPR value.
3363 Fixes PR java/3602
3364
4b2dc1b2
TT
33652001-07-13 Tom Tromey <tromey@redhat.com>
3366
3367 * jvspec.c (jvgenmain_spec): Remove -ffilelist-file from cc1
3368 invocation.
3369
b6e3e1ff
APB
33702001-07-12 Alexandre Petit-Bianco <apbianco@redhat.com>
3371
3372 * parse.y (patch_method_invocation): Don't override primary if one
3373 is already provided, but let this$<n> be built. Fixed comment.
3374
33752001-07-12 Alexandre Petit-Bianco <apbianco@redhat.com>
3376
3377 * parse.y (empty_statement:): Report empty statement error only
3378 when found at class declaration level.
3379 Fixes PR java/3635
3380
a3cb5122
TT
33812001-07-12 Tom Tromey <tromey@redhat.com>
3382
3383 * expr.c (expand_load_internal): New function.
3384 (LOAD_INTERNAL): Use it.
3385
29fcdaae
APB
33862001-07-11 Alexandre Petit-Bianco <apbianco@redhat.com>
3387
3388 * parse.y (verify_constructor_super): Compare anonymous class ctor
3389 args with `valid_method_invocation_conversion_p.'
3390 Fixes PR java/3285
3391
2df37a59
APB
33922001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
3393
3394 * lang-specs.h: Forbit the use if `-femit-class-file{s}' without
3395 `-fsyntax-only.' Fixes PR java/3248
3396
33972001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
3398
3399 * jcf-io.c (find_class): Clarified error message. Fixes PR java/2603
3400
34012001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
3402
3403 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): No `this' is fine if the
3404 current function is static. Fixes PR java/1970
3405
34062001-07-09 Alexandre Petit-Bianco <apbianco@redhat.com>
3407
3408 * parse.y (patch_method_invocation): Add enclosing context to ctor
3409 calls if necessary. Fixes PR java/2953
3410
34112001-07-09 Alexandre Petit-Bianco <apbianco@redhat.com>
3412
3413 * parse.y (resolve_package): Abort if qualified expression member
3414 isn't right.
3415 (qualify_ambiguous_name): Don't qualify as type if `this' in use.
3416 Fixes PR java/1391
3417
74d04dd1
ZW
34182001-07-07 Zack Weinberg <zackw@stanford.edu>
3419
3420 * verify.c: Don't use // comments.
3421
af418b8c
TT
34222001-07-05 Tom Tromey <tromey@redhat.com>
3423
3424 * lang.c (flag_assume_compiled): Removed.
3425 * java-tree.h (flag_assume_compiled): Removed.
3426 * lang-options.h: Removed -ffile-list-file, -fuse-boehm-gc,
3427 -fhash-synchronization, -fuse-divide-subroutine,
3428 -fcheck-references, -femit-class-file, -femit-class-files,
3429 -fassume-compiled. Updated --encoding information. Changed
3430 -foutput-class-dir to `-d'.
3431
84a5b4f8
DB
34322001-07-04 Daniel Berlin <dan@cgsoftware.com>
3433
3434 * jcf-parse.c (parse_class_file): Add lineno parameter to
3435 debug_start_source_file call.
3436
0671eaf6
JM
34372001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
3438
3439 * gcj.texi: Use gpl.texi.
3440 * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Update
3441 dependencies and use doc/include in search path.
3442
9be7529d
JS
34432001-07-03 Jeff Sturm <jsturm@one-point.com>
3444
3445 * parse.y (fix_constructors): Test if a CALL_EXPR invokes
3446 `this'. If so, don't build instance initializers.
3447
51e23701
APB
34482001-07-03 Alexandre Petit-Bianco <apbianco@redhat.com>
3449
3450 * parse.y (resolve_expression_name): Improved error message for
2df37a59 3451 inner class cases. Fixes PR java/1958
51e23701 3452
46f018e1
GDR
34532001-06-28 Gabriel Dos Reis <gdr@codesourcery.com>
3454
3455 * lang.c: #include diagnostic.h
3456 (lang_print_error): Add a `diagnostic_context *' parameter.
3457 (java_dummy_print): Likewise.
3458 * Make-lang.in (JAVA_LEX_C): Depend on diagnostic.h
3459
51e23701
APB
34602001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
3461
3462 * jcf-parse.c (gcc_mark_jcf): Test for a finished JCF.
3463 * jcf.h (typedef struct JCF): New bitfield `finished.'
3464 (JCF_FINISH): Set `finished.'
3465 (JCF_ZERO): Reset `finished.'
3466 Fixes PR java/2633
3467
34682001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
3469
3470 * parse.y (class_body_declaration:): Don't install empty instance
3471 initializers.
3472 Fixes PR java/1314
3473
4a70e37e
APB
34742001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
3475
3476 * class.c (set_super_info): Call `set_class_decl_access_flags.'
3477 (set_class_decl_access_flags): New function.
3478 * java-tree.h (set_class_decl_access_flags): New prototype.
3479 * jcf-parse.c (handle_innerclass_attribute): Read and set access flags.
3480 (parse_class_file): New local `decl_max_locals.' Take wide types
3481 into account to compute DECL_MAX_LOCALS.
3482 * parse.y (type_import_on_demand_declaration:): Ignore duplicate
3483 imports on demand.
3484
561a0365
JM
34852001-06-22 Jan van Male <jan.vanmale@fenk.wau.nl>
3486
3487 * zipfile.h: Use GCC_JCF_H instead of JCF_H.
3488
8e41c4f3
APB
34892001-06-20 Alexandre Petit-Bianco <apbianco@redhat.com>
3490
3491 * class.c (java_hash_tree_node): Fixed indentation in leading comment.
3492 * parse.y (do_resolve_class): Moved comments out to leading comment
3493 section. Removed local `start', New local `_ht' and
3494 `circularity_hash.' Record `enclosing' in hash table and search
3495 it to detect circularity. Use `enclosing' as an argument to
3496 `lookup_cl.' Free the hash table when done.
3497
c01b7cdf
TT
34982001-06-19 Tom Tromey <tromey@redhat.com>
3499
3500 * lex.c (java_read_char): Disallow invalid and overlong
3501 sequences. Fixes PR java/2319.
3502
21a6bb3c
JS
35032001-06-05 Jeff Sturm <jsturm@one-point.com>
3504
3505 * decl.c (create_primitive_vtable): Don't call make_decl_rtl.
3506
0c90837b
APB
35072001-06-04 Alexandre Petit-Bianco <apbianco@redhat.com>
3508
3509 * expr.c (force_evaluation_order): Match wrapped ctor calls, locate
3510 arguments accordingly.
3511
1347cc4f
JM
35122001-06-02 Joseph S. Myers <jsm28@cam.ac.uk>
3513
3514 * gcj.texi: Move contents to just after title page.
3515
12e248d6
APB
35162001-06-01 Alexandre Petit-Bianco <apbianco@redhat.com>
3517
3518 * parse.y (type_literals:): Use `build_incomplete_class_ref' with
3519 builtin type.
3520 (patch_incomplete_class_ref): Build the class ref, build the class
3521 init if necessary, complete the tree.
3522 Fixes PR java/2605
3523
19559012
APB
35242001-05-31 Alexandre Petit-Bianco <apbianco@redhat.com>
3525
3526 * parse.y (lookup_field_wrapper): Test `name' code.
3527 (resolve_qualified_expression_name): Test `qual_wfl' code.
3528 (qualify_ambiguous_name): Handle `CONVERT_EXPR', fixe indentation,
3529 handle `qual_wfl' by code.
3530 (maybe_build_primttype_type_ref): Test `wfl' code.
3531
eb153223
TP
35322001-05-23 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
3533
3534 * Make-lang.in ($(srcdir)/java/gcj.info): Added dependencies on
3535 fdl.texi.
3536 (java/gcj.dvi): Use TEXI2DVI instead of custom tex calls. Create
3537 the dvi file in the java directory.
3538
88657302
RH
35392001-05-25 Sam TH <sam@uchicago.edu>
3540
3541 * gen-table.pl javaop.h jcf.h lex.h,
3542 parse.h: Fix header include guards.
3543
719f0fde
JM
35442001-05-23 Joseph S. Myers <jsm28@cam.ac.uk>
3545
3546 * jv-scan.c (version): Update copyright year.
3547
075516bc
PB
35482001-05-21 Per Bothner <per@bothner.com>
3549
3550 * jcf-parse.c (read_class): If class is from .class or .zip file
3551 and it's already been read, don't push/pop parser context.
3552
9d289604
PB
35532001-05-18 Per Bothner <per@bothner.com>
3554
3555 * jvspec.c (lang_specific_pre_link): Re-arrange the linker
9a07cfaf 3556 command line so the jvgenmain-generated main program comes first.
9d289604 3557
48187504
TT
35582001-05-15 Tom Tromey <tromey@redhat.com>
3559
3560 * class.c (build_utf8_ref): Don't generate identifier based on
3561 utf8const contents.
3562
f17f1898
RH
35632001-05-12 Richard Henderson <rth@redhat.com>
3564
3565 * java-tree.def (JAVA_EXC_OBJ_EXPR): New.
3566 * expr.c (java_lang_expand_expr): Expand it.
3567 (process_jvm_instruction): Build JAVA_EXC_OBJ_EXPR instead of
3568 calling build_exception_object_ref.
3569 * parse.y (catch_clause_parameter): Likewise.
3570 (build_dot_class_method): Likewise.
3571 (try_reference_assignconv): Likewise.
3572 * check-init.c (check_init): Check JAVA_EXC_OBJ_EXPR not EXC_PTR_EXPR.
3573 * jcf-write.c (generate_bytecode_insns): Likewise.
3574
352b3f3f
APB
35752001-05-07 Alexandre Petit-Bianco <apbianco@redhat.com>
3576
3577 * parse.y (build_unresolved_array_type): Set
3578 EXPR_WFL_QUALIFICATION on the newly created wfl.
3579 Fixes PR java/2538. Fixes PR java/2535.
3580
41ee0877
APB
35812001-05-07 Alexandre Petit-Bianco <apbianco@redhat.com>
3582
17126208 3583 * parse.y (fix_constructors): Removed unnecessary assignment to
41ee0877
APB
3584 local. Moved assignment to `this$<n>', fixed comments and
3585 indentation.
3586 (build_wfl_wrap): Fixed indentation.
3587 Fixes PR java/2598, java/2579 and java/2658.
3588
4def8930
MD
35892001-05-03 Mo DeJong <mdejong@redhat.com>
3590
9a07cfaf 3591 * lex.c (java_new_lexer): Call iconv_close on temp handle used to
4def8930
MD
3592 check for byte swap.
3593
8fc6a63c
JS
35942000-05-02 Jeff Sturm <jsturm@one-point.com>
3595
3596 * expr.c (build_class_init): Move MODIFY_EXPR
3597 outside of COND_EXPR. Remove variable `call'.
3598
3e411c3f
KG
35992001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3600
3601 * decl.c: NULL_PTR -> NULL.
3602 * jcf-write.c: Likewise.
3603
0cd015ea
TT
36042001-05-01 Tom Tromey <tromey@redhat.com>
3605
3606 * Make-lang.in ($(srcdir)/java/gcj.info): Added `-I..'.
3607 (java/gcj.dvi): Added $(srcdir) to TEXINPUTS.
3608 * gcj.texi: Updated copyright text. Include fdl.texi.
3609 (Top): Link to new node.
3610
6a117d00
PB
36112001-05-01 Per Bothner <per@bothner.com>
3612
3613 * parse.h (REGISTER_IMPORT): Use tree_cons instead of chainon.
3614
063df563
PB
36152001-05-01 Per Bothner <per@bothner.com>
3616
3617 * parse.y (java_pop_parser_context): The TREE_VALUE of a link in the
3618 import_list contains the name, not the TREE_PURPOSE.
3619
962584ea
KG
36202001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3621
3622 * jcf-io.c (read_zip_member): Cast to long in comparison with
3623 signed value.
3624
3625 * jvspec.c (lang_specific_driver): Initialize variables.
3626
3627 * mangle.c (find_compression_record_match): Likewise.
3628
3629 * typeck.c (build_null_signature): Provide static prototype. Mark
3630 parameter with ATTRIBUTE_UNUSED.
3631
3632 * verify.c (verify_jvm_instructions): Initialize variable.
3633
86d9e8d8
BM
36342001-04-27 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3635
3636 * parse.y (do_resolve_class): Check for cyclic inheritance during
e64c46ce 3637 inner class resolution.
86d9e8d8 3638
9c491eb8
PB
36392001-04-27 Per Bothner <per@bothner.com>
3640
3641 * parse.y (java_expand_classes): Don't change ctxp_for_generation
3642 while iterating, since that could cause gc to lose stuff.
3643
56fe39c8
PB
36442001-04-26 Per Bothner <per@bothner.com>
3645
3646 Fix method search wrt scope of inner classes to match JLS2.
3647 * typeck.c (build_null_signature): New static function.
3648 (has_method): New function. Uses build_null_signature and lookup_do.
3649 * java-tree.h (has_method): New declaration.
3650 * parse.y (find_applicable_accessible_methods_list): Do not search
3651 context of inner classes here.
3652 (patch_method_invocation): Search scope, ie. current and outer clases,
3653 for method matching simple name, to find class.
3654
8789b9fa
PB
36552001-04-26 Per Bothner <per@bothner.com>
3656
3657 * jcf-write.c (generate_bytecode_insns case SWITCH_EXPR):
3658 Fix thinko: If a single case, use if_icmpeq, not ifeq.
3659
3660 * constants.c (find_methodref_with_class_index): New function.
3661 (find_methodref_index): Use find_methodref_with_class_index.
3662 * java-tree.h (find_methodref_with_class_index): New declaration.
3663 * jcf-write.c (generate_bytecode_insns case CALL_EXPR): Don't change
3664 DECL_CONTEXT, instead use new find_methodref_with_class_index function.
3665 If context changed from interface to class, don't use invokeinterface.
3666
5acea42b
PB
36672001-04-25 Per Bothner <per@bothner.com>
3668
3669 * verify.c (verify_jvm_instructions): For field instructions,
3670 check that field index is valid. For invoke instructions, check that
3671 method index is valid.
3672
dd6f3662
AO
36732001-04-25 Alexandre Oliva <aoliva@redhat.com>
3674
3675 * config-lang.in (target_libs): Copy from $libgcj_saved.
3676
28f7d9d0
BM
36772001-04-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3678
3679 * decl.c (init_decl_processing): Add new class "protectionDomain"
3680 field.
3681 * class.c (make_class_data): Set initial value for "protectionDomain".
3682
d4c3ec27
KG
36832001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3684
3685 * jvspec.c (lang_specific_driver): Fix memory allocation
3686 deficit, by using concat in lieu of xmalloc/sprintf.
3687
3c0ce750
PB
36882001-04-20 Per Bothner <per@bothner.com>
3689
3690 Fixes to compile multiple .class files at once.
3691 * decl.c (init_decl_processing): Don't set CLASS_LOADED_P.
3692 * java-tree.h (CLASS_PARSED_P): New macro.
3693 (CLASS_LOADED_P): Re-define to use TYPE_SIZE and CLASS_PARSED_P.
3694 * jcf-parse.c (jcf_parse_source): Inline into read_class.
3695 (read_class): Avoid some code duplication.
3696 Don't call JCF_FINISH for a .class file - might be needed later.
3697 (jcf_parse): Don't call layout_class here. Check/set CLASS_PARSED_P
3698 rather than CLASS_LOADED_P, since latter implies class laid out.
3699 (yyparse): Do layout_class and JCF_FINISh here instead, in pass 2.
3700 * parse.y: Don't need to set CLASS_LOADED_P for array types.
3701
d6684bc8
KG
37022001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3703
3704 * Make-lang.in (java/boehm.o): Depend on toplev.h.
3705
3706 * boehm.c: Include toplev.h.
3707
10e2af38
TT
37082001-04-06 Tom Tromey <tromey@redhat.com>
3709 Alexandre Petit-Bianco <apbianco@redhat.com>
3710
3711 Fix for PR gcj/1404 and PR gcj/2332:
3712 * parse.y (build_array_from_name): If we use the type_wfl then
3713 accumulate dimensions from the original type as well.
3714 (build_unresolved_array_type): Don't modify TYPE_OR_WFL in place.
3715
2d9fea5d
TT
37162001-04-06 Tom Tromey <tromey@redhat.com>
3717
3718 * parse.y (analyze_clinit_body): Return true if the second operand
3719 of a METHOD_EXPR is nonzero.
3720
613bb86e
TT
37212001-04-06 Tom Tromey <tromey@redhat.com>
3722
3723 * Make-lang.in ($(srcdir)/java/parse-scan.c): Run bison from build
3724 directory.
3725 ($(srcdir)/java/parse.c): Likewise.
3726
8b66cd8f
APB
37272001-04-05 Alexandre Petit-Bianco <apbianco@redhat.com>
3728
3729 * gcj.texi: Use `which-gcj' instead of `which-g77.'
3730 (version-gcc): Initialized.
3731 (which-gcj): Likewise.
3732
73c299fc
APB
37332001-04-04 Alexandre Petit-Bianco <apbianco@redhat.com>
3734
3735 * java-tree.h (struct lang_decl): New macro
3736 `DECL_FIXED_CONSTRUCTOR_P.' New field `fixed_ctor.'
3737 * parse.y (build_instance_initializer): New function.
3738 (add_instance_initializer): Use it.
3739 (java_fix_constructors): Set `current_class' before fix pass.
3740 (fix_constructors): Just return if already fixed. Move `super()'
3741 invokation ahead. Use `build_instance_initializer.'
3742 Fixes PR java/1315.
3743
93a6eb78 37442001-04-04 Alexandre Petit-Bianco <apbianco@redhat.com>
e64c46ce 3745
93a6eb78
APB
3746 * parse.y (resolve_qualified_expression_name): Pass field's
3747 DECL_CONTEXT to `not_accessible_p.'
3748 (not_accessible_p): Changed parameters order in `inherits_from_p'
3749 invokation.
3750
4956c16e
AH
37512001-03-27 Andrew Haley <aph@cambridge.redhat.com>
3752
3753 * lang-options.h: Add flag_check_references.
3754
3cc48399
PB
37552001-04-04 Per Bothner <per@bothner.com>
3756
3757 * java-tree.h (CONSTANT_VALUE_P): New macro.
3758 * jcf-write.c (generate_classfile): Use CONSTANT_VALUE_P.
3759 * parse.y (maybe_build_class_init_for_field): New static function.
3760 (resolve_expression_name, resolve_field_access): Use
e64c46ce 3761 maybe_build_class_init_for_field instead of build_class_init
3cc48399
PB
3762 This does not do the init if the field is compile-time-constant.
3763 (resolve_field_access): Simplify.
3764
3765 * parse.y (fold_constant_for_init): Merge test into switch.
3766
d02af173
ZW
37672001-04-03 Zack Weinberg <zackw@stanford.edu>
3768
3769 * Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
3770 on gansidecl.h.
3771 * buffer.c, jvgenmain.c: Don't include gansidecl.h.
3772
44a2150d
ZW
37732001-04-02 Zack Weinberg <zackw@stanford.edu>
3774
3775 * expr.c (pop_type_0): Save the result of the first
e64c46ce 3776 lang_printable_name call in a scratch buffer, so it
44a2150d
ZW
3777 won't be clobbered by the second call.
3778
de307574
APB
37792001-03-30 Alexandre Petit-Bianco <apbianco@redhat.com>
3780
3781 * parse-scan.y (array_type:): Rewritten.
3782 (type_declaration:): `empty_statement' replaces `SC_TK.'
3783 (class_member_declaration:): `empty statement' added.
3784 (method_body:): Simplified.
3785 (static_initializer:): Likewise.
3786 (primary_no_new_array:): Use `type_literals.'
3787 (type_literals:): New rule.
3788 (dims:): Set and update `bracket_count.'
3789 Fixes PR java/1074. Fixes PR java/2412.
3790
2ff50199
APB
37912001-03-28 Hans Boehm <boehm@acm.org>
3792
3793 * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
3794 (get_boehm_type_descriptor): Set type on returned value to be a
3795 pointer length integer.
3796
80122075
KG
37972001-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3798
3799 * expr.c (pop_type_0): Call `concat' rather than building the
3800 string manually.
3801 (pop_type): Add format specifier in call to `error'.
3802
3803 * parse.y (patch_method_invocation): Avoid casting away
3804 const-ness.
3805
0f5c1ee4
JO
38062001-03-28 Jeffrey Oldham <oldham@codesourcery.com>
3807
3808 * jvgenmain.c (do_mangle_classname): End string constant with '\0'.
3809
52a11cbf
RH
38102001-03-28 Richard Henderson <rth@redhat.com>
3811
3812 IA-64 ABI Exception Handling:
3813 * Make-lang.in (except.o): Don't depend on eh-common.h.
3814 * check-init.c (check_init): Handle EXC_PTR_EXPR.
3815 * decl.c (init_decl_processing) [throw_node]: No _Jv_Sjlj_Throw.
3816 [soft_exceptioninfo_call_node]: Remove.
3817 [eh_personality_libfunc, lang_eh_runtime_type]: New.
3818 (end_java_method): No emit_handlers.
3819 * except.c (java_set_exception_lang_code): Remove.
3820 (method_init_exceptions): Don't call it.
3821 (prepare_eh_table_type): No CATCH_ALL_TYPE.
3822 (build_exception_object_ref): New.
3823 (expand_end_java_handler): Update for except.h name changes.
3824 (emit_handlers, expand_resume_after_catch): Remove.
3825 * expr.c (java_lang_expand_expr): Update for except.h name changes.
3826 (process_jvm_instruction): Use build_exception_object_ref.
3827 * java-tree.h (JTI_SOFT_EXCEPTIONINFO_CALL_NODE): Remove.
3828 (soft_exceptioninfo_call_node): Remove.
3829 (build_exception_object_ref): Declare.
3830 * jcf-write.c (generate_bytecode_insns) [CALL_EXPR]: No
3831 soft_exceptioninfo_call_node. Move processing ...
3832 [EXC_PTR_EXPR]: ... here.
3833 * parse.h (BUILD_ASSIGN_EXCEPTION_INFO): Remove dead code.
3834 * parse.y (catch_clause_parameter): Use build_exception_object_ref.
3835 (source_end_java_method): No java_set_exception_lang_code or
3836 emit_handlers.
3837 (build_dot_class_method): Use build_exception_object_ref.
3838 (try_reference_assignconv): Check EXC_PTR_EXPR not
3839 soft_exceptioninfo_call_node.
3840
ce1c98ea
RH
38412001-03-28 Richard Henderson <rth@redhat.com>
3842
3843 * java-tree.h (throw_node): Define as a single member of
3844 java_global_trees instead of a separate array.
3845 (JTI_THROW_NODE): New.
3846 * decl.c (throw_node): Don't declare.
3847 (init_decl_processing): Init a scalar throw_node.
3848 Don't register it for gc.
3849 * check-init.c (check_init): Reference scalar throw_node.
3850 * expr.c (build_java_athrow): Likewise.
3851 * jcf-write.c (generate_bytecode_insns): Likewise.
3852 * parse.h (BUILD_THROW): Likewise.
3853
da7da8f9
RH
38542001-03-28 Richard Henderson <rth@redhat.com>
3855
3856 * decl.c (end_java_method): Do not save and restore
3857 flag_non_call_exceptions.
3858 * parse.y (source_end_java_method): Likewise.
3859 * lang.c (flag_exceptions): Don't declare.
3860 (java_init_options): Set flag_non_call_exceptions. Set
3861 flag_exceptions here ...
3862 (java_init): ... not here.
3863
531073e7
RH
38642001-03-27 Richard Henderson <rth@redhat.com>
3865
3866 * expr.c, parse.h: Use USING_SJLJ_EXCEPTIONS instead of
3867 exceptions_via_longjmp.
3868
461fc4de
RH
3869 * lang.c (flag_new_exceptions): Don't declare it.
3870 (java_init_options): Or set it.
3871
c1e9f663
RH
38722001-03-27 Richard Henderson <rth@redhat.com>
3873
3874 * decl.c (end_java_method): Rename asynchronous_exceptions to
3875 flag_non_call_exceptions.
979988f3 3876 * parse.y (source_end_java_method): Likewise.
c1e9f663 3877
911e6107
KG
38782001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3879
3880 * Make-lang.in: Depend on $(SYSTEM_H), not system.h.
3881
b850de4f
MM
38822001-03-26 Mark Mitchell <mark@codesourcery.com>
3883
3884 * parse.h (DECL_END_SOURCE_LINE): Don't rely on DECL_FRAME_SIZE.
3885
ce06965e
APB
38862001-03-26 Alexandre Petit-Bianco <apbianco@redhat.com>
3887
3888 * parse.y (find_as_inner_class): Follow current package
3889 indications not to mistakingly load an unrelated class.
3890
cb9b7a8c
KG
38912001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3892
3893 * constants.c (PUTN): Use memcpy, not bcopy.
3894
3895 * lex.c (java_read_char): Use memmove, not bcopy.
3896
3897 * parse.y (java_parser_context_resume): Use memcpy, not bcopy.
3898
fa029f45
PB
38992001-03-23 Per Bothner <per@bothner.com>
3900
3901 * verify.c (verify_jvm_instructions): Replace 3 pop_type by POP_TYPE
3902 macro for better error pin-pointing.
3903 * java-tree.h: Fix typo in comment.
3904
3905 * jcf-write.c (generate_bytecode_insns): Changes to TRY_FINALLY_EXPR.
3906 Don't include jsr/goto in exception range.
3907 Check if start and end of exception range are the same (also TRY_EXPR).
3908 Don't emit jsr after try_block if CAN_COMPLETE_NORMALLY is false.
3909 However, do emit the following goto even if try_block is empty.
3910 Defer freeing exception_decl until after the finalizer, to make
3911 sure the local isn't reused in the finalizer. Fixes PR java/1208.
3912
3913 * parse.y (java_complete_lhs): If the try-clause is empty, just
3914 return the finally-clause and vice versa.
3915
b124f72e
APB
39162001-03-23 Alexandre Petit-Bianco <apbianco@redhat.com>
3917
3918 * gcj.texi (Input Options): documented the check for attribute
3919 `gnu.gcc.gccj-compiled' and the `-fforce-classes-archive-check' flag.
3920 * java-tree.h (flag_force_classes_archive_check): Declared extern.
3921 * jcf-parse.c (HANDLE_GCJCOMPILED_ATTRIBUTE): New macro.
3922 (jcf_parse): Check for the right classes archive if necessary.
3923 * jcf-reader.c (get_attribute): Define `MATCH_ATTRIBUTE' and use it.
3924 (jcf_parse_fields): Fixed indentation.
3925 * jcf-write.c (append_gcj_attribute): New function.
3926 (generate_classfile): Compute the attribute count, invoke
3927 `append_gcj_attribute'.
3928 * jcf.h (typedef struct JCF): `seen_in_zip' and `java_source'
ee142fe7 3929 turned into bit-fields. New bit-field `right_zip.'
b124f72e
APB
3930 (JCF_ZERO): Set `right_zip' to zero.
3931 * lang-options.h (-fforce-classes-archive-check): Added flag.
3932 * lang.c (flag_force_classes_archive_check): New flag.
3933 (lang_f_options): New entry `force-classes-archive-check.'
3934 Fixes PR java/1213.
3935
4ff17c6a
AH
39362001-02-07 Andrew Haley <aph@redhat.com>
3937
3938 * gcj.texi (Configure-time Options): Add -fcheck-references.
3939 * expr.c (build_java_indirect_ref): New function.
3e02b1c3 3940 (java_check_reference): New function.
4ff17c6a
AH
3941 (build_java_array_length_access): Use build_java_indirect_ref to
3942 check for null references.
3943 (build_java_arrayaccess): Likewise.
3944 (build_get_class): Likewise.
3945 (build_field_ref): Likewise.
3946 (invoke_build_dtable): Likewise.
3947 (build_invokeinterface): Likewise.
3948 * lang.c (lang_f_options): Add flag_check_references.
3949 * jvspec.c (jvgenmain_spec): Add flag_check_references.
3950 * java-tree.h (flag_check_references): New variable.
3951 * lang.c (flag_check_references): Likewise.
e64c46ce 3952 * parse.y (patch_invoke): Use java_check_reference.
3e02b1c3
AH
3953 (patch_assignment): Allow for extra nesting in
3954 _Jv_CheckArrayStore.
4ff17c6a 3955
f2a29271
BM
39562001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
3957
3958 * gjavah.c (cxx_keywords): Update from the definitive list in cp/lex.c.
3959 * lex.c (cxx_keywords): Likewise.
3960
2ff50199
APB
39612001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com>
3962
3963 * parse.y (qualify_ambiguous_name): Broaden `length'
3964 recognition. Help MODIFY_EXPR be resolved as expression names.
3965 Fixes PR java/2066. Fixes PR java/2400.
3966
60c87482
BM
39672001-03-21 Bryce McKinlay <bryce@albatross.co.nz>
3968
e64c46ce 3969 * gjavah.c (process_file): Mark interface definitions with
60c87482
BM
3970 "__attribute__ ((java_interface))".
3971
96c6f628
APB
39722001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com>
3973
3974 * class.c (layout_class): Fixed push_super_field's second
3975 argument. Fixes PR java/2333.
3976 (jdep_resolve_class): Reset TYPE_SIZE if `error_mark_node', it's
3977 too early to lay innerclasses out.
3978
7abecd65
TT
39792001-03-20 Tom Tromey <tromey@redhat.com>
3980 Alexandre Petit-Bianco <apbianco@redhat.com>
3981
3982 * parse.y (patch_assignment): Handle the case of a SAVE_EXPR
3983 inside an array reference. Insertion of the array store check
3984 rewritten. Fixes PR java/2299.
3985
4aed8938
TT
39862001-03-20 Tom Tromey <tromey@redhat.com>
3987
3988 * lex.c (java_read_unicode): Only accept leading `u's.
3989
ddd705d1
TT
39902001-03-20 Tom Tromey <tromey@redhat.com>
3991
3992 * jcf-parse.c (read_class): Initialize `class'.
3993
de83bf66
MK
39942001-03-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
3995
3996 * jcf_parse.c (jcf_parse): Eliminate unused variable.
3997
92643fea
MM
39982001-03-19 Mark Mitchell <mark@codesourcery.com>
3999
4000 * class.c (build_class_ref): Use SET_DECL_ASSEMBLER_NAME.
4001 (layout_class): Likewise.
4002 (layout_class_method): Likewise.
4003 (emit_register_classes): Likewise.
4004 * decl.c (builtin_function): Likewise.
4005 (give_name_to_locals): Likewise.
4006
54646811
PB
40072001-03-19 Per Bothner <per@bothner.com>
4008
80fc2e84
PB
4009 * jcf-parse.c (load_inner_classes): Check CLASS_LOADED_P
4010 before trying to load an inner class.
4011
54646811
PB
4012 Fixes to process to command-line .class files in two passes.
4013 * java-tree.h (JAVA_FILE_P, CLASS_FILE_P, ZIP_FILE_P): New flags.
4014 (CLASS_FROM_CURRENTLY_COMPILED_SOURCE_P): Rename to ..
4015 (CLASS_FROM_CURRENTLY_COMPILED_P): ... because it is more general now.
4016 * class.c (is_compiled_class): Fix for renamed flag.
4017 * parse.y (maybe_create_class_interface_decl): Likewise.
4018 * jcf-parse.c (yyparse): Also set if compiling .class files.
4019 * jcf-parse.c (read_class); Read current_class.
4020 (jcf_parse): Make static.
4021 (load_inner_classes): New function, with code moved from jcf_parse,
4022 because we need to inner classes after the command-line files are read.
4023 (yyparse): Set finput to NULL when it doesn't need to be closed.
4024 Reduce use of main_jcf (basically only for archive) and
4025 use finput instead of main_jcf->read_state.
4026 Inline jcf_figure_file_type into yyparse.
4027 Set JAVA_FILE_P, CLASS_FILE_P, or ZIP_FILE_P on filename list name.
4028 Defer load_inner_classes and parse_class_file to a second pass,
4029 after we've correctly mapped command-line .clas fiels to classes.
4030 (jcf_figure_file_type): Removed.
4031 * jcf.h (JCF_ZIP, JCF_CLASS, JCF_SOURCE): Removed flags.
4032 (JCF_ZERO): Also clear zipd field.
4033 * zipfile.h: Conditionalize on JCF_H insread of JCF_ZIP.
4034
40352001-03-18 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4036
4037 * jcf-parse.c (yyparse): Change ch from char * to char.
4038
8b1edcee
PB
40392001-03-19 Per Bothner <per@bothner.com>
4040
4041 * jvspec.c (lang_specific_driver): Check for .zip and .jar files.
4042 Add constructed filelist-file at end, following -xjava. Thus any .o
4043 and library files are not affected by the -xjava. Also wrap
54646811 4044 explicit @FILE with -xjava and -xnone.
8b1edcee 4045
6bc5f6cb
AH
40462001-03-19 Andrew Haley <aph@cambridge.redhat.com>
4047
9a07cfaf
RH
4048 * class.c (build_static_field_ref): Call make_decl_rtl() after
4049 setting the DECL_EXTERNAL flag.
6bc5f6cb 4050
daaaf29f
PB
40512001-03-17 Per Bothner <per@bothner.com>
4052
90f59043
PB
4053 * decl.c (clear_binding_level): Fix initializer (broke 03-15).
4054
478e7ed6
PB
4055 * jcf-write.c (generate_bytecode_insns): Handle emitting iinc
4056 when result is is needed (target is STACK_TARGET).
4057
daaaf29f 4058 * parse.h (JDEP_SOLV): Removed.
d148b6aa 4059 * parse.y (register_incomplete_type): Use JDEP_TO_RESOLVE instead.
daaaf29f 4060
d148b6aa
PB
4061 * parse.y (incomplete_class_list): Removed.
4062 (obtain_incomplete_type): Don't use or set incomplete_class_list.
4063 It doesn't work if resolve_class changes the name of an array type
4064 that is on the list and then someone else looks for the modified name.
4065 Also, seems liable to break when compiling multiple source files at
4066 once. So the simplest is to just remove incomplete_class_list -
4067 it is only a minor space win and it is not even clear it saves time.
daaaf29f
PB
4068
4069 * parse.y (resolve_class): Remove unneeded promote_type.
4070
4763d38f
PB
40712001-03-15 Per Bothner <per@bothner.com>
4072
b16e8f08
PB
4073 * java-tree.h (BLOCK_IS_IMPLICIT): New flag.
4074 * parse.h (BLOCK_EXPR_ORIGIN): Removed macro.
4075 * parse.y (declare_local_variables, maybe_absorb_scoping_blocks):
4076 Use BLOCK_IS_IMPLICIT rather than BLOCK_EXPR_ORIGIN.
8b1edcee 4077
3a2e5926
PB
4078 * jcf-parse.c (yyparse): Set/reset input_filename for source file.
4079 * parse.y (java_expand_classes): Likewise.
8b1edcee 4080
47a50de9
PB
4081 * parse.y (expand_start_java_method): Was only called once and had a
4082 misleading name, so inline in caller java_complete_expand_method.
3a2e5926 4083 (enter_a_block): Likewise inline in enter_block and remove.
47a50de9 4084
4763d38f
PB
4085 Remove junk from when gcc/java was created (by copying from C/C++).
4086 * decl.c (keep_next_level_flag, keep_next_if_subblocks): Remove.
4087 (struct binding_level): Remove fields keep, keep_if_subblocks,
4088 more_cleanups_ok, have_cleanups (which have never been used).
4089 (pushlevel, poplevel): Remove related useless code.
19f8e04b 4090
69ca5554
PB
4091 * class.c (make_class_data): The class_dtable_decl (i.e. the
4092 vtable for Class) should be external, except when compiling Class.
4093
7d32abcd
PB
4094 * jvspec.c (lang_specific_driver): Fix -C handling.
4095 Check -save-temps to see if temp @FILE should be deleted.
4096 Follow-up to/fix for February 16 patch.
4097
19f8e04b
PB
4098 * verify.c (verify_jvm_instructions): Better error msgs for dup.
4099 (type_stack_dup): Remove no-longer neded error check.
4100
551bf03c
BM
41012001-03-15 Bryce McKinlay <bryce@albatross.co.nz>
4102
4103 * mangle.c (mangle_record_type): Rename 'from_pointer' argument
4104 to 'for_pointer'. If this type is for a pointer (argument) mangling,
e64c46ce 4105 don't surround the element with 'N..E' if the type name is
551bf03c
BM
4106 unqualified.
4107
19e7881c
MM
41082001-03-14 Mark Mitchell <mark@codesourcery.com>
4109
d1d61788
MM
4110 * class.c (build_static_field_ref): Use COPY_DECL_RTL,
4111 DECL_RTL_SET_P, etc.
19e7881c
MM
4112 (make_method_value): Likewise.
4113 (get_dispatch_table): Likewise.
4114
4115 * decl.c (push_jvm_slot): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
8b1edcee 4116
bcacc465
TT
41172001-03-07 Tom Tromey <tromey@redhat.com>
4118
4119 * config-lang.in (lang_requires): Define.
4120
de6c5979
BL
41212001-03-07 Brad Lucier <lucier@math.purdue.edu>
4122
4123 * typeck.c (convert): Check flag_unsafe_math_optimizations,
4124 not flag_fast_math.
4125
6d37cf2f
PB
41262001-03-05 Per Bothner <per@bothner.com>
4127
4128 Fix a problem where rest_of_decl_compilation applied to
4129 class_dtable_decl causes problems because it was done too early,
4130 before output file was opened.
4131 * decl.c (init_decl_processing): Remove init of class_dtable_decl.
4132 * class.c (class_dtable_decl): Add macro - element of class_roots.
4133 (make_class_data): Define class_dtable_decl.
4134 * java-tree.h (JTI_CLASS_DTABLE_DECL, class_dtable_decl): Removed.
4135
d6edb99e
ZW
41362001-03-01 Zack Weinberg <zackw@stanford.edu>
4137
4138 * java/class.c, java/decl.c, java/java-tree.h: Replace all
4139 uses of 'boolean' with 'bool'.
4140
f7143427
ZW
41412001-03-01 Zack Weinberg <zackw@stanford.edu>
4142
4143 * lang-specs.h: Add zero initializer for cpp_spec field to all
4144 array elements.
4145
fea2d5da
PB
41462001-02-16 Per Bothner <per@bothner.com>
4147
4148 Handle compiling multiple input files at once, and @FILE syntax.
e4087691 4149 * gcj.texi: Updated documentation to match.
fea2d5da
PB
4150 * java-tree.h (flag_filelist_file, init_src_parse): New declarations.
4151 * jcf-parse.c (parse_source_file): Split into ...
4152 (parse_source_file_1): New function - and:
4153 (parse_source_file_2): New function.
4154 (yyparse): On -ffilelist-file, open and scan named file.
4155 On first pass over files, only do parse_source_file_1.
4156 A new second pass calls parse_source_file_2 for each file to compile.
4157 (init_jcf_parse): Call init_src_parse.
4158 * jvspec.c (INDIRECT_FILE_ARG): New flag.
4159 (lang_specific_driver): Support @FILELIST-FILE syntax, as well
4160 as multiple input file combined in one compilation.
4161 * lang-options.h: Add -ffilelist-file
4162 * lang.c (flag_filelist_file): New flag variable.
4163 (lang_f_options): Handle -ffilelist-file.
4164 * lex.c (java_init_lex): Don't clear ctxp->incomplete_class.
4165 * parse.h (struct parse_ctxt): Remove fields incomplete_class and
4166 gclass_list - use global fields of src_parse_roots instead.
4167 * parse.y (src_parse_roots): New array.
4168 (incomplete_class_list, gclass_list): New macros.
4169 (push_parser_context, java_pop_parser_context,
4170 java_parser_context_resume): Don't fiddle with deleted fields.
4171 (various): Use incomplete_class gclass_list and global macros
4172 instead of parse_ctxt fields - the lists are global.
4173 (init_src_parse): New function.
4174
62c9aa5f 41752001-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9b58f739
RK
4176
4177 * decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
4178
064a552c
APB
41792001-02-20 Alexandre Petit-Bianco <apbianco@redhat.com>
4180
4181 * parse.y (check_inner_class_access): Moved declaration of local
4182 `enclosing_decl_type' to the right location.
4183
a648f4e4
BM
41842001-02-19 Bryce McKinlay <bryce@albatross.co.nz>
4185
e64c46ce 4186 * parse.y (parser_check_super_interface): Don't call
a648f4e4 4187 check_pkg_class_access for an inner interface.
e64c46ce 4188 (parser_check_super): Don't call check_pkg_class_access for inner
a648f4e4 4189 class.
e64c46ce 4190 (do_resolve_class): Simplify enclosing type loop. Don't call
a648f4e4
BM
4191 check_pkg_class_access if CL and DECL are not set.
4192 (find_in_imports_on_demand): Set DECL if class_type needed to be
4193 loaded. Don't call check_pkg_class_access for an inner class.
4194 (check_inner_class_access): Rewritten to implement member access
4195 rules as per spec 6.6.1.
4196 (check_pkg_class_access): Handle the empty package correctly.
4197 (in_same_package): New function. Determine if two classes are in the
4198 same package.
4199
35ab11f0
BM
42002001-02-18 Bryce McKinlay <bryce@albatross.co.nz>
4201
4202 * typeck.c (build_java_array_type): Don't try to poke a public `clone'
4203 method into array types.
4204 * parse.y (patch_method_invocation): Bypass access check on clone call
4205 to array instance.
e64c46ce 4206
055adbaa
APB
42072001-02-15 Alexandre Petit-Bianco <apbianco@redhat.com>
4208
4209 * expr.c (build_instanceof): Check for arrays when trying fold to
4210 false.
4211
e658449e
JM
42122001-02-15 Jim Meyering <meyering@lucent.com>
4213
fd48c9b5
DD
4214 * Make-lang.in (java.install-common): Depend on `installdirs'.
4215 (java.install-info): Likewise.
e658449e 4216
4238a754
BM
42172001-02-15 Bryce McKinlay <bryce@albatross.co.nz>
4218
4219 * Make-lang.in (jvspec.o): Modify rule to match that of cp/g++spec.o.
4220
e101152f 42212001-02-14 Tom Tromey <tromey@redhat.com>
9a07cfaf 4222 Alexandre Petit-Bianco <apbianco@cygnus.com>
e101152f 4223
055adbaa
APB
4224 Fix for PR java/1261.
4225 * typeck.c (build_java_array_type): Add public `clone' method to
4226 arrays.
4227 * parse.y (resolve_qualified_expression_name): Use current_class
e101152f 4228 when checking for inaccessibility.
055adbaa 4229 (patch_method_invocation): Fixed error message when accessibility
e101152f
APB
4230 denied. Added `from_super' argument.
4231
42322001-02-14 Alexandre Petit-Bianco <apbianco@redhat.com>
4233
4234 * parse.y (resolve_class): Don't build a fake decl. Use the one
4235 already built.
4236 * typeck.c (build_java_array_type): Build and assign decl to array
4237 type.
4238
42392001-02-14 Alexandre Petit-Bianco <apbianco@redhat.com>
4240
4241 * parse.y (not_accessible_p): Changed leading comment. Added extra
4242 `where' argument. Use it to enforce protected access rules.
4243 (resolve_qualified_expression_name): Added extra argument to
4244 not_accessible_p.
4245 (patch_method_invocation): Use argument `primary' to provide
4246 not_accessible_p with an extra argument.
4247 (lookup_method_invoke): Added extra argument to not_accessible_p.
4248 (search_applicable_method_list): Likewise.
4249
863cd85a
APB
42502001-02-13 Alexandre Petit-Bianco <apbianco@redhat.com>
4251
4252 * parse.y (resolve_qualified_expression_name): Try to resolve as
4253 an inner class access only if `decl' is a TYPE_DECL.
4254
94807d33
APB
42552001-02-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
4256
4257 * decl.c (classdollar_identifier_node): Initialize.
e64c46ce 4258 * java-tree.h (enum java_tree_index): New entry
94807d33
APB
4259 `JTI_CLASSDOLLAR_IDENTIFIER_NODE.'
4260 (classdollar_identifier_node): New macro.
4261 (ID_CLASSDOLLAR_P): Likewise.
4262 * parse.y (build_dot_class_method): Use `classdollar_identifier_node.'
4263 (build_dot_class_method_invocation): Likewise.
4264 (find_applicable_accessible_methods_list): `class$' can't be
4265 inherited.
4266
30f87f1a
APB
42672001-02-09 Raja R Harinath <harinath@cs.umn.edu>
4268
4269 * Make-lang.in (java/mangle_name.o): Add 'make' prereqs.
4270
42712001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com>
4272
4273 * Manke-lang.in (JVGENMAIN_OBJS): Added `errors.o'
4274 * jvgenmain.c (error): Reversed 2001-02-09 patch. `error' is now
4275 gone.
4276
1e97aa40
APB
42772001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com>
4278
4279 * mangle_name (append_unicode_mangled_name): Emit `_' or `U'
4280 outside of the `__U' sequence too.
4281 (unicode_mangling_length): Count `_' or `U' outside of the `__U'
4282 sequence too.
4283
a395f5ab
APB
42842001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com>
4285
4286 * jvgenmain.c (error): Reversed 2001-02-01 deletion.
4287
1b43b6be
APB
42882001-02-08 Alexandre Petit-Bianco <apbianco@cygnus.com>
4289
4290 * Make-lang.in (JAVA_OBJS): Added java/mangle_name.o
4291 (JVGENMAIN_OBJS): Likewise.
e64c46ce 4292 * java-tree.h (append_gpp_mangled_name): New prototype.
1b43b6be
APB
4293 * jcf-parse.c (ggc_mark_jcf): Argument now `void *.'
4294 Removed cast calling `gcc_add_root.'
4295 * jvgenmain.c (mangle_obstack): New global, initialized.
4296 (main): Use it.
4297 (do_mangle_class): Constify local `ptr.'
4298 Removed macro `MANGLE_NAME.' Removed cast in `for.' Call
4299 append_gpp_mangle_name and update `count' if necessary.
4300 Use `mangle_obstack.'
4301 * mangle.c (append_unicode_mangled_name): Removed.
4302 (append_gpp_mangled_name): Likewise.
4303 (unicode_mangling_length): Likewise.
4304 (mangle_member_name): Return type set to `void.'
4305 (mangle_field_decl): Don't append `U' in escaped names.
4306 (mangle_method_decl): Likewise.
4307 (mangle_member_name): Just use `append_gpp_mangled_name.'
4308 * mangle_name.c: New file.
4309
4a83be51
PB
43102001-02-07 Per Bothner <per@bothner.com>
4311
4312 * check-init.c (check_init): Fix TRY_FINALLY_EXPR logic.
4313
4314 * check-init.c (check_init): Don't call done_alternative after
4315 processing loop code, as a LOOP_EXPR never terminates normally.
4316
7e5fd99f
JM
43172001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
4318
4319 * gcj.texi: Change sources.redhat.com reference to gcc.gnu.org.
4320
1456345e
APB
43212001-02-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
4322
4323 * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Don't handle field
4324 DECLs.
4325
77aff9f9
TT
43262001-02-06 Tom Tromey <tromey@redhat.com>
4327
4328 * lex.c (java_new_lexer): Longer error message.
4329
c00dd14e
JS
43302001-02-05 Jeff Sturm <jeff.sturm@commerceone.com>
4331 Alexandre Petit-Bianco <apbianco@cygnus.com>
4332
4333 * typeck.c (build_prim_array_type): Added leading comment.
4334 (build_java_array_type): Moved locals out of
4335 block. Always create the `data' field, fixed alignment to match
4336 C++.
4337
6d091870
TT
43382001-02-04 Tom Tromey <tromey@redhat.com>
4339
4340 * expr.c (java_lang_expand_expr): Don't bother recomputing
4341 `length'. Use rest_of_decl_compilation, not make_decl_rtl.
4342 Fixes PR java/1866.
4343
1ebb5e73
APB
43442001-02-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
4345
4346 * parse.y (process_imports): Save the original name of the import
4347 for better error report.
4348
ca5b1ff8
BM
43492001-02-04 Bryce McKinlay <bryce@albatross.co.nz>
4350
4351 * Make-lang.in (jvspec.o): Add DRIVER_DEFINES to the list
4352 of macros used when compiling jvspec.c.
4353 * jvspec.c (lang_specific_driver): Link with the shared
4354 libgcc by default.
4355
62c9aa5f 43562001-02-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
400500c4
RK
4357
4358 * check-init.c (check_init): Call internal_error instead of fatal.
4359 * expr.c (java_lang_expand_expr): Likewise.
4360 * jcf-parse.c (get_constant): Likewise.
4361 * mangle.c (java_mangle_decl): Likewise.
4362 * parse.y (make_nested_class_name, java_complete_lhs): Likewise.
4363 (operator_string): Likewise.
4364 * check-init.c (check_init): Call abort instead of fatal.
4365 * class.c (build_class_ref): Likewise.
4366 * constants.c (write_constant_pool): Likewise.
4367 * decl.c (start_java_method): Likewise.
4368 * expr.c (push_type, java_stack_pop, java_stack_swap): Likewise.
4369 (java_stack_dup, encode_newarray_type): Likewise.
4370 (build_java_array_length_access): Likewise.
4371 (build_java_check_indexed_type, expand_java_pushc): Likewise.
4372 (build_java_soft_divmod, build_invokeinterface): Likewise.
4373 * java-tree.h (INNER_CLASS_P): Likewise.
4374 * jcf-parse.c (parse_signature, get_name_constant): Likewise.
4375 (give_name_to_class, get_class_constant): Likewise.
4376 * jcf-write.c (CHECK_PUT, CHECK_OP, get_access_flags): Likewise.
4377 (find_constant_index, generate_bytecode_conditional): Likewise.
4378 (generate_bytecode_insns, perform_relocations): Likewise.
4379 * lex.c (java_unget_unicode, java_lex): Likewise.
4380 * mangle.c (mangle_type, mangle_record_type): Likewise.
4381 (mangle_pointer_type, mangle_array_type, init_mangling): Likewise.
4382 (finish_mangling): Likewise.
4383 * parse.h (MARK_FINAL_PARMS): Likewise.
4384 * parse.y (pop_current_osb, unreachable_stmt_error): Likewise.
4385 (obtain_incomplete_type, java_complete_class): Likewise.
4386 (java_check_regular_methods, java_complete_expand_method): Likewise.
4387 (cut_identifier_in_qualified, check_deprecation): Likewise.
4388 (patch_invoke, find_applicable_accessible_methods_list): Likewise.
4389 (java_complete_lhs, lookup_name_in_blocks): Likewise.
4390 (check_final_variable_indirect_assignment, build_unaryop): Likewise.
4391 * typeck.c (set_local_type, parse_signature_type): Likewise.
4392 (parse_signature_string, build_java_signature): Likewise;
4393 (set_java_signature): Likewise.
4394 * verify.c (type_stack_dup, CHECK_PC_IN_RANGE): Likewise.
4395 * class.c (add_method): Call fatal_error instead of fatal.
4396 (build_static_field_ref): Likewise.
4397 * expr.c (build_known_method_ref, expand_invoke): Likewise.
4398 * jcf-parse.c (get_constant, jcf_parse): Likewise.
4399 * lex.c (java_new_new_lexer): Likewise.
4400 * jv-scan.c (main): Likewise.
4401 (fatal_error): Renamed from fatal.
4402 * jcf-parse.c (yyparse): Call fatal_io_error instead of
4403 pfatal_with_name.
4404 * jcf-parse.c (jcf_parse_source): Call fatal_io_error, not fatal.
4405 (yyparse): Likewise.
4406 * jcf-write.c (make_class_file_name, write_classfile): Likewise.
4407 * lex.c (java_get_line_col): Likewise.
4408 * jcf-parse.c (load_class): Make errors non-fatal.
4409 * lex.c (byteswap_init, need_byteswap): Only #ifdef HAVE_ICONV.
e64c46ce 4410
4bae4eb5
BM
44112001-02-01 Bryce McKinlay <bryce@albatross.co.nz>
4412
4413 * jvgenmain.c (class_mangling_suffix): Remove unused string.
4414 (error): Remove unused function.
4415 (main): Don't use "__attribute__ alias" on generated class symbol.
4416
c0b00d37
APB
44172001-01-30 Alexandre Petit-Bianco <apbianco@cygnus.com>
4418
4419 * jcf-parse.c (init_jcf_parse): Added cast to ggc_add_root's last
4420 argument.
4421 * parse.y (finish_method_declaration): Code accounting for WFLed
4422 method DECL_NAMEs deleted.
4423 (check_abstract_method_definitions): Likewise.
4424 (resolve_type_during_patch): Layout resolved type.
4425 * typeck.c (lookup_do): Removed unused local.
4426
4bae4eb5 44272001-01-30 Bryce McKinlay <bryce@albatross.co.nz>
eb59e547
BM
4428
4429 * java-tree.h: Remove JTI_INTEGER_NEGATIVE_ONE_NODE.
4430 * decl.c (init_decl_processing): Use integer_minus_one_node, not
4431 integer_negative_one_node.
4432 * expr.c (build_java_binop): Likewise.
4433
4bae4eb5 44342001-01-24 Jeff Sturm <jeff.sturm@commerceone.com>
7be00c49
JS
4435
4436 * zextract.c (read_zip_archive): Read file_offset before writing
4437 zipd and consequently clobbering the header contents.
4438
c913b6f1
KG
44392001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4440
4441 * Make-lang.in: Remove all dependencies on defaults.h.
4442 * decl.c: Don't include defaults.h.
4443 * expr.c: Likewise.
4444 * parse.y: Likewise.
4445
c4faeb92
APB
44462001-01-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
4447
4448 * ChangeLog (2001-01-21): Fixed typo.
4449 * class.c (layout_class_method): Code accounting for WFLed
4450 method DECL_NAMEs deleted.
4451 * constant.c (find_methodref_index): Likewise.
4452 * decl.c (lang_mark_tree): Mark `wfl' field in struct lang_decl.
4453 * java-tree.h (DECL_FUNCTION_WFL): New macro.
4454 (struct lang_decl): New field `wfl'.
4455 (java_get_real_method_name): Prototype deleted.
4456 * mangle.c (mangle_method_decl): Code accounting for WFLed
4457 method DECL_NAMEs deleted.
4458 * parse.h (GET_METHOD_NAME): Macro deleted.
4459 * parse.y (reset_method_name): Deleted.
4460 (method_header): Set DECL_FUNCTION_WFL.
4461 (check_abstract_method_header): Code accounting for WFLed method
4462 DECL_NAMEs deleted.
4463 (java_get_real_method_name): Deleted.
4464 (check_method_redefinition): Code accounting for WFLed method
4465 DECL_NAMEs deleted. Use DECL_FUNCTION_WFL.
4466 (java_check_regular_methods): Likewise.
4467 (java_check_abstract_methods): Likewise.
4468 (java_expand_classes): Don't call `reset_method_name.'
4469 (search_applicable_method_list): Use DECL_NAMEs instead of
4470 GET_METHOD_NAME.
4471 * typeck.c (lookup_do): Code accounting for WFLed method
4472 DECL_NAMEs deleted.
4473
97876d66
RE
44742001-01-25 Richard Earnshaw <rearnsha@arm.com>
4475
4476 * lex.c (java_read_char): Check for EOF from getc first.
4477
493d561d
APB
44782001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
4479
4480 * class.c (layout_class): Don't lay the superclass out if it's
4481 already being laid out.
4482 * jcf-parse.c (handle_innerclass_attribute): New function.
4483 (HANDLE_INNERCLASSES_ATTRIBUTE): Invoke
4484 handle_innerclasses_attribute.
4485 (jcf_parse): Don't load an innerclasses if it's already being
4486 laid out.
4487 * jcf-write.c (append_innerclass_attribute_entry): Static
4488 `anonymous_name' and its initialization deleted. `ocii' and `ini'
4489 to be zero for anonymous classes.
4490
44912001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
4492
4493 * class.c (set_constant_value): Set DECL_FIELD_FINAL_IUD if
4494 necessary.
4495 * jcf-parse.c (set_source_filename): Use
4496 MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC if necessary.
4497
44982001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
4499
4500 * expr.c (build_jni_stub): Set DECL_CONTEXT on `meth_var' so it
4501 gets a unique asm name.
4502
45032001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
4504
4505 * jcf-parse.c (HANDLE_END_METHODS): Nullify current_method.
4506 (HANDLE_START_FIELD): Invoke MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC
4507 if necessary.
4508 (HANDLE_SYNTHETIC_ATTRIBUTE): New macro.
4509 * jcf-reader.c (get_attribute): Handle `Synthetic' attribute.
4510 * parse.y (lookup_package_type_and_set_next): Deleted.
4511 (resolve_package): Removed unnecessary code.
4512 (find_applicable_accessible_methods_list): `finit$' can't be
e64c46ce 4513 inherited.
493d561d
APB
4514 * verify.c (pop_argument_types): Added missing prototype.
4515
7c01b2b5
BM
45162001-01-23 Bryce McKinlay <bryce@albatross.co.nz>
4517
4518 * config-lang.in: Disable java by default.
4519
80261b56
TT
45202001-01-23 Tom Tromey <tromey@redhat.com>
4521
4522 * gcj.texi (Copying): New node.
4523 Added copyright information.
4524
a4796c80
PB
45252001-01-21 Per Bothner <per@bothner.com>
4526
4527 Various fixes to allow compiling a compressed .jar/.zip archive.
4528 * zipfile.h (struct ZipFileCache): Replace by struct ZipFile.
4529 (struct ZipFile): Add fields name and next (from ZipFileCache).
4530 (struct ZipDirectory): New field zipf points to owning ZipFile.
4531 * jcf.h (struct ZipDirectory): Add forward declaration.
4532 (struct JCF): Declare zipd field to have type struct ZipDirectory.
4533 Remove seen_in_zip and zip_offset fields.
4534 (JCF_SEEN_IN_ZIP): New macro.
4535 * zextract.c (read_zip_archive): Set ZipDirectory's zipf field.
4536 * jcf-io.c: Change all ZipFileCache to ZipFile.
4537 (read_zip_member): New function.
4538 (open_in_zip): Call read_zip_member.
4539 * jcf-parse.c (find_in_current_zip): Remove function.
4540 (read_class): Merge in find_in_current_zip functionality.
4541 Call read_zip_member if needed.
4542 (parse_zip_file_entries): Use read_zip_member.
4543 (process_zip_dir): Update for removed and added JCF fields.
4544 (jcf_figure_file_type): Re-use, don't copy initial ZipFile struct.
4545
b5c4fed9
PB
45462001-01-21 Per Bothner <per@bothner.com>
4547
4548 Minor optimization of static ggc roots.
4549 * jcf-parse.c (parse_roots): New static field.
4550 (current_field, current_method, current_file_list): Replace by macros
4551 naming fields of parse_roots.
4552 (init_jcf_parse): Combine 3 ggc_add_tree_root calls to 1.
4553 * class.c (class_roots): New static field.
4554 (registered_class, fields_ident, info_ident, class_list):
4555 New macros naming fields of parse_roots.
4556 (build_static_field_ref): Don't register roots here.
4557 (layout_class): Static field list replaced by macro class_list.
4558 (init_class_processing): Call ggc_add_tree_root for 4 roots.
4559 Initialize fields_ident and info_ident here.
4560
3432b91b
PB
45612001-01-21 Per Bothner <per@bothner.com>
4562
4563 * jcf-parse.c (ggc_mark_jcf): New function.
4564 (init_jcf_parse): Register current_jcf as ggc root.
4565
2c36c7fd
PB
45662001-01-21 Per Bothner <per@bothner.com>
4567
4568 * lang.c (put_decl_node): Print method's name.
4569
9c0c88ac
PB
45702001-01-21 Per Bothner <per@bothner.com>
4571
4572 * verify.c (VERIFICATION_ERROR_WITH_INDEX): New macro.
4573 (verify_jvm_instructions): Use it, for better error messages on loads.
4574
230cbd5f
PB
45752001-01-21 Per Bothner <per@bothner.com>
4576
c4faeb92 4577 * verify.c (merge_type_state): Still may have to merge even if
230cbd5f
PB
4578 LABEL_VERIFIED (label).
4579
e6b6db0d
PB
45802001-01-21 Per Bothner <per@bothner.com>
4581
4582 * parse.y (method_header): Don't set the DECL_NAME of a FUNCTION_DECL
4583 to a EXPR_WITH_FILE_LOCATION - that is just too fragile and wrong.
4584
b57300bc
PB
45852001-01-19 Per Bothner <per@bothner.com>
4586
4587 * expr.c (pop_type_0): Only return object_ptr_type_node on mismatch
4588 if expeting an interface type. Refines Tom's change of 2000-09-12.
4589
ee08d4cc
PB
45902001-01-18 Per Bothner <per@bothner.com>
4591
4592 * gcj.texi (Input Options): Mention .java files.
4593
b1117741
APB
45942001-01-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
4595
4596 * lang-options.h (-Wunsupported-jdk11): Removed.
4597 * lang.c (flag_not_overriding): Deleted.
4598 (flag_static_local_jdk1_1): Likewise.
4599 (lang_W_options): Removed "unsupported-jdk11" entry.
4600 * parse.y (java_check_methods): Removed dead code.
4601
2dc73168
TT
46022001-01-17 Tom Tromey <tromey@redhat.com>
4603
4604 Changes suggested by Per Bothner:
4605 * gcj.texi (Input Options): Don't mention input files.
4606 (Code Generation): Updated --main information.
4607 (Invoking jcf-dump): Mention that --javap is incomplete.
4608 From Alexandre Petit-Bianco:
4609 (Warnings): Don't mention -Wunsupported-jdk11.
4610 My stuff:
4611 (Compatibility): Mention JDK 1.2-ness of libraries.
4612 (Resources): Mention resources used when writing gcj.
4613
bc65b5ec
TT
46142001-01-17 Tom Tromey <tromey@redhat.com>
4615
4616 * gcj.texi: New file.
4617 * Make-lang.in ($(srcdir)/java/gcj.info): New target.
4618 (java.info): Depend on gcj.info.
4619 (java/gcj.dvi): New target.
4620 (java.dvi): Depend on gcj.dvi.
4621 (java.install-info): Wrote.
4622
930f6690
JS
46232001-01-16 Jeff Sturm <jeff.sturm@appnet.com>
4624
4625 * expr.c (java_lang_expand_expr): Use TREE_SYMBOL_REFERENCED after
4626 having called make_decl_rtl.
4627
00b4575d
PB
46282001-01-14 Per Bothner <per@bothner.com>
4629
984ad2c6
PB
4630 Various patches to emit better messages on verification errors.
4631 * expr.c (push_type_0): Return error indication on stack overflow,
4632 instead of callinfg fatal.
4633 (push_type): Now just call push_type_0 (nd fatal on overflow).
4634 (pop_type_0): Return detailed error message (in a char** argument).
4635 (pop_type): If pop_type_0 fails, print error message.
4636 (pop_argument_types): Moved to verify.c.
4637 * verify.c (pop_argument_types): Moved from expr.c.
4638 Return a (possible) error message, rather than void.
4639 (POP_TYPE, POP_TYPE_CONV, PUSH_TYPE, PUSH_PENDING): New macros.
4640 (verify_jvm_instruction): Use new macros, improving error messages.
4641 For case OPCODE_astore use object_ptr_type_node.
4642 * java-tree.h (TYPE_UNDERFLOW, TYPE_UNEXPECTED): New macros.
4643 (pop_type_0, push_type_0, pop_argument_types): Update accordingly.
4644
00b4575d
PB
4645 * parse.y (java_complete_lhs case EXPR_WITH_FILE_LOCATION): If body is
4646 constant, return body without wrapper. (Improves constant folding.)
4647 * lex.c (build_wfl_node): Clear TREE_TYPE from returned node.
4648
d9da31dd
PB
46492001-01-13 Per Bothner <per@bothner.com>
4650
4651 * expr.c (expand_java_field_op): Assigning to a final field outside
4652 an initializer does not violate JVM spec, so should be warning, not
4653 error. (Sun's verifier does not complain - though MicroSoft's does.)
e64c46ce 4654
a67a383a
JM
46552001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
4656
4657 * gjavah.c (version), jcf-dump.c (version): Update copyright year
4658 to 2001.
4659
7e1376a1
BM
46602001-01-11 Bryce McKinlay <bryce@albatross.co.nz>
4661
4662 * parse.y (resolve_expression_name): Permit instance variables from
4663 enclosing context in super constructor call.
4664 (resolve_qualified_expression_name): Permit enclosing class's qualified
4665 "this" in super constructor call.
4666
6c418184
MM
46672001-01-10 Mark Mitchell <mark@codesourcery.com>
4668
4669 * class.c (build_utf8_ref): Remove last argument in call to
4670 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
4671 (build_class_ref): Likewise.
4672 (build_static_field_ref): Likewise.
4673 (get_dispatch_table): Likewise.
4674 (layout_class_method): Likewise.
4675 (emit_register_classes): Likewise.
4676 * constants.c (build_constant_data_ref): Likewise.
4677 * decl.c (builtin_function): Likewise.
4678 (create_primitive_vtable): Likewise.
4679 * expr.c (build_known_method_def): Likewise.
4680 (build_jni_stub): Likewise.
4681 (java_lang_expand_expr): Likewise.
e64c46ce 4682
0adc3d8a
TT
46832001-01-10 Tom Tromey <tromey@redhat.com>
4684
4685 * jvspec.c (jvgenmain_spec): Omit -fencoding from cc1 invocation.
4686
761491c8
APB
46872001-01-08 Alexandre Petit-Bianco <apbianco@cygnus.com>
4688
4689 * java-tree.h (lang_printable_name_wls): New prototype.
4690 * lang.c (put_decl_name): Removed dead code. Use DECL_CONTEXT
4691 rather than `current_class' to print type name. Don't prepend type
4692 names when printing constructor names.
4693 (lang_printable_name_wls): New function.
4694 * jcf-parse.c (jcf_parse_source): Pass NULL `file' argument to
4695 `build_expr_wfl', alway set EXPR_WFL_FILENAME_NODE.
4696 * parse.y (patch_method_invocation): Message tuned for constructors.
4697 (not_accessible_p): Grant `private' access from within
4698 enclosing contexts.
e64c46ce 4699
dc08e603
APB
47002001-01-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
4701
4702 All files with updated copyright when applicable.
4703 * Make-lang.in (JVGENMAIN_OBS): Removed java/mangle.o.
4704 * class.c (mangle_class_field): Function removed.
4705 (append_gpp_mangled_type, mangle_static_field, mangle_field): Likewise.
4706 (utf8_cmp, cxx_keyword_p): Moved to lex.c.
4707 (build_class_ref): Call `java_mangle_class_field' instead of
4708 `mangle_class_field.'
4709 (build_dtable_decl): Rewritten to call `java_mangle_vtable.'
e64c46ce 4710 (layout_class): Call `java_mangle_decl' instead of
dc08e603
APB
4711 `mangle_static_field.'
4712 (cxx_keywords): Initialized static array moved to `lex.c.'
4713 (layout_class_method): Changed leading comment. Simplified to
4714 call `java_mangle_decl.' Local `ptr' moved in for loop body.
4715 * decl.c (lang_mark_tree): Mark field `package_list.'
4716 * java-tree.h (TYPE_PACKAGE_LIST): New macro.
4717 (struct lang_type): New field `package_list.'
4718 (unicode_mangling_length): Prototype removed.
4719 (append_gpp_mangled_name, append_gpp_mangled_classtype,
4720 emit_unicode_mangled_name): Likewise.
4721 (cxx_keyword_p): New prototype.
4722 (java_mangle_decl, java_mangle_class_field,
4723 java_mangle_class_field_from_string, java_mangle_vtable): Likewise.
4724 * jcf-parse.c (jcf_parse_source): Constify `file' argument to
4725 `build_expr_wfl.'
4726 * jvgenmain.c (main_method_prefix): Global variable removed.
4727 (main_method_suffix): Likewise.
4728 (do_mangle_classname): New function.
a83f01f0 4729 (main): Call it. Format changed to accommodate new mangling scheme.
dc08e603
APB
4730 * lex.c: (utf8_cmp): Conditionally prototyped.
4731 (cxx_keywords): Moved from class.c, conditionally defined.
4732 (utf8_cmp, cxx_keyword_p): Likewise.
4733 * mangle.c (obstack.h, ggc.h): Included.
4734 (mangle_field_decl): New function.
4735 (mangle_method_decl, mangle_type, mangle_pointer_type,
4736 mangle_array_type, mangle_record_type,
4737 find_compression_pointer_match, find_compression_array_match,
4738 find_compression_record_match,
4739 find_compression_array_template_match, set_type_package_list,
4740 entry_match_pointer_p, emit_compression_string, init_mangling,
4741 finish_mangling, compression_table_add, mangle_member_name): Likewise.
4742 (mangle_obstack): New global.
4743 (MANGLE_RAW_STRING): New macro.
4744 (unicode_mangling_length): Turned static.
4745 (append_unicode_mangled_name): Renamed from
4746 `emit_unicode_mangled_name.' Turned static. `mangle_obstack'
4747 replaces `obstack', removed from the parameter list.
4748 (append_gpp_mangled_name): Turned static. `mangle_obstack'
e64c46ce 4749 replaces parameter `obstack', removed from the parameter list. Call
dc08e603
APB
4750 `append_unicode_mangled_name' instead of `emit_unicode_mangled_name.
4751 (append_gpp_mangled_classtype): Removed.
4752 (compression_table, compression_next): New static variables.
4753 * parse.y (temporary_obstack): Extern declaration removed.
4754
761491c8
APB
47552001-01-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
4756
4757 * parse.y (patch_binop): Compute missing type in error situations.
4758
5bb11b2e
BM
47592001-01-05 Bryce McKinlay <bryce@albatross.co.nz>
4760
4761 * class.c (make_class_data): Push initial value for "arrayclass".
4762 * decl.c (init_decl_processing): Add new class field "arrayclass".
4763
ac39dac0
BM
47642001-01-05 Bryce McKinlay <bryce@albatross.co.nz>
4765
4766 From patha@softlab.ericsson.se:
e64c46ce 4767 * parse.y (switch_label): Use build, not build1, to construct
ac39dac0
BM
4768 DEFAULT_EXPR.
4769
a5a4ce3c
NB
47702001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
4771
4772 * lang.c (lang_decode_option): Change -MA to -MP.
4773 * jcf-depend.c (jcf_dependency_add_target, jcf_dependency_set_target):
4774 Update to new prototype; do quote targets.
4775 (jcf_dependency_write): Update.
4776
d27fd99a
BM
47772000-12-22 Bryce McKinlay <bryce@albatross.co.nz>
4778
4779 Shorten primitive array allocation path:
4780 * decl.c (init_decl_processing): Use _Jv_NewPrimArray not _Jv_NewArray
4781 to create new primitive arrays.
e64c46ce 4782 * expr.c (build_newarray): If generating native code, call
d27fd99a
BM
4783 soft_newarray_node with a reference to the primitive TYPE identifier
4784 instead of type_value.
e64c46ce 4785
c1eacb70
BM
47862000-12-17 Bryce McKinlay <bryce@albatross.co.nz>
4787
4788 Fix for PRs gcj/312 and gcj/253:
4789 * parse.y (valid_ref_assignconv_cast_p): Load classes for source and
4790 dest if they arn't already.
e64c46ce 4791 * class.c (layout_class): Call maybe_layout_super_class on
c1eacb70
BM
4792 superinterfaces also, but only if compiling from bytecode.
4793
6d003d5c
BM
4794 Fix for PR gcj/373:
4795 * parse.y (create_class): Set ACC_STATIC if class is declared in an
4796 interface.
4797
325de66c
TT
47982000-12-15 Tom Tromey <tromey@redhat.com>
4799
4800 * jcf-parse.c (jcf_parse_source): Set wfl_operator if not already
4801 set.
4802
e35990c4
AH
48032000-12-14 Andrew Haley <aph@redhat.com>
4804
4805 * boehm.c (mark_reference_fields): Change test to correctly detect
4806 bitmap overflow.
4807
53714cda
AJ
48082000-12-15 Andreas Jaeger <aj@suse.de>
4809
4810 * config-lang.in (lang_dirs): Added.
4811
1e0cdc10
APB
48122000-12-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
4813
4814 * parse.y (end_artificial_method_body): Fixed undefined behavior.
4815 Credits go to rth for finding it.
4816
e9e42530
MS
48172000-12-13 Mike Stump <mrs@wrs.com>
4818
4819 * parse.y (check_static_final_variable_assignment_flag): Fix spelling.
4820
3f27e3f8
TT
48212000-11-07 Tom Tromey <tromey@cygnus.com>
4822
4823 * Make-lang.in (JAVA_LEX_C): Added chartables.h.
4824 * lex.c (java_ignorable_control_p): Removed.
4825 (java_letter_or_digit_p): Removed.
4826 (java_start_char_p): New function.
4827 (java_read_char): Return `int', not `unicode_t'. Changed
4828 callers.
4829 (java_read_unicode): Likewise.
4830 (java_read_unicode_collapsing_terminators): Likewise.
4831 (java_get_unicode): Likewise.
4832 (java_new_lexer): Initialize hit_eof.
4833 (java_parse_end_comment): Take `int' argument.
4834 (java_parse_doc_section): Likewise.
4835 (java_parse_escape_sequence): Don't allow backlash-newline.
4836 Return `int'.
4837 * lex.h (JAVA_DIGIT_P): Removed.
4838 (_JAVA_LETTER_OR_DIGIT_P): Removed.
4839 (_JAVA_IDENTIFIER_IGNORABLE): Removed.
4840 (JAVA_START_CHAR_P): Renamed from JAVA_ID_CHAR_P.
4841 (JAVA_PART_CHAR_P): New macro.
4842 (UEOF): Now -1.
4843 (JAVA_CHAR_ERROR): Now -2.
4844 (java_lexer): New field `hit_eof'.
4845 * chartables.h: New file.
4846 * gen-table.pl: new file.
4847
568aac9c 48482000-11-20 Tom Tromey <tromey@cygnus.com>
9a07cfaf 4849 Alexandre Petit-Bianco <apbianco@cygnus.com>
568aac9c
TT
4850
4851 * parse.y (java_complete_lhs): Only allow compound assignment of
4852 reference type if type is String.
4853
f34ff6d6
APB
48542000-12-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
4855
4856 * Make-lang.in (java/jcf-path.o:): libgcj.jar replaces libgcj.zip.
4857 jcf-path.c: Likewise.
4858
6e5589e8
AG
48592000-12-09 Anthony Green <green@redhat.com>
4860
4861 * zipfile.h (ZipDirectory): Declare size, uncompressed_size,
4862 filestart and filename_length as int values.
4863
8000caee
MD
48642000-12-07 Mo DeJong <mdejong@redhat.com>
4865
4866 * jcf-io.c (find_class): Correct the logic that tests to see if a
4867 .java file is newer than its .class file. The compiler was
4868 incorrectly printing a warning when file mod times were equal.
4869
f6bbde28
ZW
48702000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
4871
4872 * jvgenmain.c: Use ISPRINT not isascii.
4873
46142b26
APB
48742000-12-06 Alexandre Petit-Bianco <apbianco@cygnus.com>
4875
4876 * parse.y (end_artificial_method_body): Fixed typo.
4877
f8b93ea7
APB
48782000-12-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
4879
4880 * parse.y (patch_method_invocation): Pick the correct enclosing
4881 context when creating inner class instances.
4882 Fixes gcj/332.
4883
45441c5b
JM
48842000-11-26 Joseph S. Myers <jsm28@cam.ac.uk>
4885
4886 * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
4887 Update copyright year to 2000.
4888
1510057a
AG
48892000-11-23 Anthony Green <green@redhat.com>
4890
4891 * jcf-parse.c (init_jcf_parse): Register current_file_list root.
4892 Move current_file_list out of yyparse and make it static.
4893
4894 * expr.c: Declare quick_stack and tree_list_free_list as static
4895 (init_expr_processing): Register quick_stack and
4896 tree_list_free_list roots.
4897
5e18f6d6
APB
48982000-11-22 Alexandre Petit-Bianco <apbianco@cygnus.com>
4899
4900 * parse.y (build_outer_field_access): New local `decl_ctx', use
4901 it. Check for field's context and current class immediate outer
4902 context inheritance.
4903 (outer_field_access_p): Consider fields inherited from the last
4904 enclosing context.
4905 (build_access_to_thisn): Stop at the last enclosing context if
4906 necessary.
4907 Fixes gcj/367.
4908
62c9aa5f 49092000-11-23 J"orn Rennecke <amylaar@redhat.com>
9196ece5
R
4910
4911 * Make-lang.in (jvspec.o): Depend on $(CONFIG_H).
4912
c385cdf6
BM
49132000-11-22 Bryce McKinlay <bryce@albatross.co.nz>
4914
4915 * jcf-parse.c (get_constant): Call UT8_CHAR_LENGTH on `utf8', not the
4916 scratch buffer.
4917
1535cc88
TT
49182000-11-20 Tom Tromey <tromey@cygnus.com>
4919
4920 * jv-scan.c (help): Document --complexity.
4921 (options): Added --complexity.
4922 (flag_complexity): New global.
4923 (main): Call `report'.
4924 * parse-scan.y (complexity): New global.
4925 (if_then_statement, if_then_else_statement,
4926 if_then_else_statement_nsi, switch_block_statement_group,
4927 while_expression, do_statement, for_begin, continue_statement,
4928 throw_statement, catch_clause, finally, method_invocation,
4929 conditional_and_expression, conditional_or_expression,
4930 conditional_expression): Update complexity.
4931 (reset_report): Reset complexity.
4932 (report): New function.
4933
d828bc42
TT
49342000-11-20 Tom Tromey <tromey@cygnus.com>
4935
4936 * lex.c (yylex): Added STRICT_TK case.
4937 * parse.y (STRICT_TK): Added.
4938 * parse-scan.y (STRICT_TK): Added.
4939 * Make-lang.in ($(srcdir)/java/keyword.h): Added missing `\' and
4940 `;'. Use 4, not 3, with -k option. Correctly rename resulting
4941 file.
4942 * keyword.h: Rebuilt.
4943 * keyword.gperf (strictfp): Added.
4944
4e7842a0
TT
49452000-11-20 Tom Tromey <tromey@cygnus.com>
4946
4947 * lex.c (yylex): Recognize floating point constants with leading
4948 0.
4949
7e9355c6
KG
49502000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4951
4952 * java-tree.h (cyclic_inheritance_report): Constify.
4953 * parse.y (cyclic_inheritance_report): Likewise.
4954
a8a05998
ZW
49552000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
4956
4957 * parse.y (goal): Remove call to ggc_add_string_root.
4958
520a57c8
ZW
49592000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
4960
4961 * jcf-parse.c (get_constant), parse.y (do_merge_string_cste):
4962 Create string in scratch buffer, then pass to build_string.
4963
88f3c477
JM
49642000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
4965
4966 * parse.y (issue_warning_error_from_context): Add
4967 ATTRIBUTE_PRINTF.
4968
ac51395d
AG
49692000-11-11 Anthony Green <green@redhat.com>
4970
4971 * jcf-parse.c (process_zip_dir): Add finput parameter.
4972 (jcf_figure_file_type): Call process_zip_dir with appropriate
4973 argument.
4974
4e135bdd
KG
49752000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4976
4977 * decl.c (copy_lang_decl): Use memcpy, not bcopy.
4978 * jcf-parse.c (jcf_figure_file_type): Likewise.
4979
2e09e75a
JM
49802000-11-09 Joseph S. Myers <jsm28@cam.ac.uk>
4981
4982 * parse.y (create_new_parser_context): Use memset () instead of
4983 bzero ().
4984
136c35df
TT
49852000-11-08 Tom Tromey <tromey@cygnus.com>
4986
4987 * gjavah.c (process_file): Only include gcj/cni.h when generating
4988 CNI stubs.
4989
961192e1
JM
49902000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
4991
4992 * expr.c (note_instructions), jcf-io.c (find_class), jcf-parse.c
4993 (init_outgoing_cpool), lex.c (java_init_lex): Use memset ()
4994 instead of bzero ().
4995
099a5150
TT
49962000-11-05 Tom Tromey <tromey@cygnus.com>
4997
4998 * lex.h (JAVA_FLOAT_RANGE_ERROR): Typo fix.
4999 * lex.c (IS_ZERO): New define.
5000 (java_perform_atof): Error on floating point underflow.
5001
cbf53a1d
TT
50022000-11-04 Tom Tromey <tromey@cygnus.com>
5003
5004 * lex.c (java_parse_escape_sequence): Only read two octal
5005 characters if the first one is greater than 3. Don't allow
5006 "octal" numbers to include the digits 8 or 9.
5007
436a88a6
JM
50082000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
5009
5010 * Make-lang.in (java.distdir): Remove.
5011
747800ee
TT
50122000-11-03 Tom Tromey <tromey@cygnus.com>
5013
4e2c8d44
TT
5014 * Make-lang.in (java.dvi): New target.
5015 Partial fix for PR other/567.
5016
b7436b72
TT
5017 * lang-options.h: Mention -Wout-of-date.
5018 * jcf-dump.c (flag_newer): New global.
5019 * gjavah.c (flag_newer): New global.
5020 * jcf-io.c (find_class): Only warn when flag_newer set.
5021 * lang.c (flag_newer): New global.
5022 (struct string_option): New declaration.
5023 (lang_W_options): New global.
5024 (process_option_with_no): New function.
5025 (lang_decode_option): Use it.
5026
0160fbe1
TT
5027 * class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
5028 * gjavah.c (cxx_keyword_subst): Handle any number of trailing
5029 `$'.
5030
747800ee
TT
5031 * lex.h (_JAVA_IDENTIFIER_IGNORABLE): New macro.
5032 (JAVA_ID_CHAR_P): Also try java_ignorable_control_p.
5033 * lex.c (java_read_unicode): Removed `term_context' argument.
5034 Recognize any number of `u' in `\u'.
5035 (java_read_unicode_collapsing_terminators): New function.
5036 (java_get_unicode): Use it.
5037 (java_lineterminator): Removed.
5038 (yylex): Produce error if character literal is newline or single
5039 quote. Return if eof found in middle of `//' comment. EOF in
5040 `//' comment is only an error if pedantic.
5041 (java_ignorable_control_p): New function.
5042 (java_parse_end_comment): Return if eof found in middle of
5043 comment.
5044 Include flags.h.
5045 * jv-scan.c (pedantic): New global.
5046
ee5f86dc
APB
50472000-10-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
5048
5049 * parse.y (outer_field_access_p): Inherited fields aren't
5050 consider outer fields.
5051 (maybe_build_thisn_access_method): Use
5052 PURE_INNER_CLASS_TYPE_P instead of INNER_CLASS_TYPE_P.
5053 (resolve_expression_name): Trigger an error if a static field
5054 is being accessed as an outer field.
5055
7ccd2fc9 50562000-10-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
f6bbde28 5057
7ccd2fc9
APB
5058 * Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
5059 Fixes gcj/365.
5060
b8dad04b
ZW
50612000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
5062
5063 * Make-lang.in: Move all build rules here from Makefile.in,
5064 adapt to new context. Wrap all rules that change the current
5065 directory in parentheses. Expunge all references to $(P).
5066 When one command depends on another and they're run all at
5067 once, use && to separate them, not ;. Add OUTPUT_OPTION to
5068 all object-file generation rules. Delete obsolete variables.
5069
5070 * Makefile.in: Delete.
5071 * config-lang.in: Delete outputs= line.
5072
2cb3951d
APB
50732000-10-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
5074
5075 * parse.y (patch_method_invocation): NULLify this_arg when already
5076 inserted.
5077 (maybe_use_access_method): Handle call to methods unrelated to the
5078 current class. Fixed comment.
5079 Fixes gcj/361.
5080
ee5f86dc
APB
50812000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
5082
5083 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Check inherited type in
5084 scope.
5085
07b5e470
TT
50862000-10-24 Tom Tromey <tromey@cygnus.com>
5087
5088 * lex.c (java_new_lexer): Initialize new fields. Work around
5089 broken iconv() implementations.
5090 (java_read_char): Swap bytes if required. Use fallback decoder if
5091 required.
5092 (byteswap_init, need_byteswap): New globals.
5093 (java_destroy_lexer): Only close iconv handle if it is in use.
5094 * lex.h (java_lexer): New fields read_anything, byte_swap,
5095 use_fallback.
5096 Made out_buffer unsigned.
5097
8ac1de05
APB
50982000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
5099
5100 * parse.y (register_incomplete_type): Include JDEP_FIELD as a case
5101 where an enclosing context can be set on the jdep.
5102 (do_resolve_class): Fixed identation.
5103
80393943
KG
51042000-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5105
5106 * gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define
f6bbde28 5107
80393943
KG
5108 * jcf-reader.c (peek_attribute, skip_attribute): Only define
5109 when requested.
5110
5111 * parse.h (yyerror): If JC1_LITE, mark with ATTRIBUTE_NORETURN.
5112
5113 * verify.c (CHECK_PC_IN_RANGE): Cast result of stmt-expr to void.
5114
c7303e41
APB
51152000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
5116
5117 * jcf-write.c (OP1): Update `last_bc'.
5118 (struct jcf_block): Fixed indentation and typo in comments. New
5119 field `last_bc'.
5120 (generate_bytecode_insns): Insert `nop' if `jsr' immediately
5121 follows `monitorenter'.
5122 * parse.y (patch_synchronized_statement): New local `tmp'. Call
5123 `patch_string'.
5124 Fixes gcj/232.
5125
316a06a1
TT
51262000-10-16 Tom Tromey <tromey@cygnus.com>
5127
5128 * jvspec.c (lang_specific_driver): Recognize -MF and -MT.
5129 * lang-specs.h: Added %{MA}, %{MF*}, %{MT*}.
5130 * lang-options.h: Added -MA, -MT, -MF..
5131 * lang.c (lang_decode_option): Recognize -MA, -MT, -MF.
5132 (DEPEND_TARGET_SET): New macro.
5133 (DEPEND_FILE_ALREADY_SET): Likewise.
5134 (init_parse): Handle new flags.
5135 * jcf.h (jcf_dependency_print_dummies): Declare.
5136 * Make-lang.in (s-java): Added mkdeps.o.
5137 * Makefile.in (BACKEND): Added mkdeps.o.
5138 (../gcjh$(exeext)): Added mkdeps.o.
5139 (../jcf-dump$(exeext)): Added mkdeps.o.
5140 * jcf-depend.c: Include mkdeps.h.
5141 (struct entry, dependencies, targets, MAX_OUTPUT_COLUMNS,
5142 add_entry): Removed.
5143 (jcf_dependency_reset): Rewrote.
5144 (dependencies): New global.
5145 (jcf_dependency_set_target): Rewrote.
5146 (jcf_dependency_add_target): Likewise.
5147 (jcf_dependency_add_file): Likewise.
5148 (munge): Removed.
5149 (print_ents): Removed.
5150 (jcf_dependency_write): Rewrote.
5151 (print_dummies): New global.
5152 (jcf_dependency_print_dummies): New function
5153 (jcf_dependency_write): Call deps_dummy_targets if required.
5154
dba41d30
APB
51552000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
5156
5157 * gjavah.c (add_class_decl): Removed unused variables `tname',
5158 `tlen' and `name_index'.
5159 * java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): New macro.
5160 * jcf-parse.c (jcf_parse_source): Use it and set EXPR_WFL_FILENAME
5161 in `wfl_operator' with value.
5162 (yyparse): Use BUILD_FILENAME_IDENTIFIER_NODE.
5163 (jcf_figure_file_type): Fixed identation.
5164 * lex.c (java_get_line_col): Use EOF. Tuned `^' placement.
5165 * parse.y (analyze_clinit_body): New function.
5166 (static_initializer:): Reset `current_static_block'.
5167 (java_parser_context_restore_global): Set EXPR_WFL_FIILENAME_NODE in
5168 `wfl_operator' with new value.
5169 (lookup_cl): Use EXPR_WFL_FILENAME.
5170 (maybe_yank_clinit): Handle bogus <clinit> bodies, call
5171 analyze_clinit_body.
5172 (build_outer_field_access): Access to this$<n> built from
5173 current_class, not its outer context.
5174 (build_access_to_thisn): Fixed leading comment. Tidied things up.
f6bbde28 5175 (resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'.
dba41d30
APB
5176 (patch_method_invocation): Use `is_static_flag' when already
5177 initialized.
5178 (patch_newarray): Removed assignment in ternary operator.
5179
1a2ebe6d
APB
51802000-10-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
5181
dba41d30 5182 * except.c (free_eh_ranges): Don't free `whole_range'.
1a2ebe6d 5183
8e7ab3ff
AG
51842000-10-15 Anthony Green <green@redhat.com>
5185
5186 * decl.c (init_decl_processing): Call init_class_processing before
5187 anything else.
5188
c7303e41
APB
51892000-10-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
5190
5191 * check-init.c (check_init): Fixed leading comment. Use
5192 LOCAL_FINAL_P.
5193 * decl.c (push_jvm_slot): Use MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC.
5194 (give_name_to_locals): Likewise.
5195 (lang_mark_tree): Handle FIELD_DECL. Register `am' and `wfl'
5196 fields in lang_decl_var.
5197 * java-tree.h (DECL_FUNCTION_SYNTHETIC_CTOR,
5198 DECL_FUNCTION_ALL_FINAL_INITIALIZED): New macros.
5199 (FIELD_INNER_ACCESS): Removed ugly cast, macro rewritten.
5200 (FIELD_INNER_ACCESS_P, DECL_FIELD_FINAL_IUD, DECL_FIELD_FINAL_LIIC,
5201 DECL_FIELD_FINAL_IERR, DECL_FIELD_FINAL_WFL): New macros.
5202 (LOCAL_FINAL): Rewritten.
5203 (LOCAL_FINAL_P, FINAL_VARIABLE_P, CLASS_FINAL_VARIABLE_P
5204 MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): New macros.
5205 (struct lang_decl): Fixed comments. Added `synthetic_ctor' and
5206 `init_final' fields.
5207 (struct lang_decl_var): Fixed leading comment. Added `am', `wfl',
5208 `final_uid', `final_liic', `final_ierr' and `local_final' fields.
5209 (TYPE_HAS_FINAL_VARIABLE): New macro.
5210 (struct lang_type): Added `afv' field.
5211 * parse.y (check_static_final_variable_assignment_flag): New function.
5212 (reset_static_final_variable_assignment_flag): Likewise.
5213 (check_final_variable_local_assignment_flag): Likewise.
5214 (reset_final_variable_local_assignment_flag): Likewise.
5215 (check_final_variable_indirect_assignment): Likewise.
5216 (check_final_variable_global_assignment_flag): Likewise.
5217 (add_inner_class_fields): Use LOCAL_FINAL_P.
5218 (register_fields): Handle local finals and final variables.
5219 (craft_constructor): Set DECL_FUNCTION_SYNTHETIC_CTOR.
5220 (declare_local_variables): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC.
5221 (source_start_java_method): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC
5222 on local finals.
5223 (java_complete_expand_methods): Loop to set
5224 TYPE_HAS_FINAL_VARIABLE. Call
f6bbde28 5225 `reset_final_variable_local_assignment_flag' and
c7303e41
APB
5226 `check_final_variable_local_assignment_flag' accordingly before
5227 and after constructor expansion. Call
5228 `reset_static_final_variable_assignment_flag'
f6bbde28 5229 before expanding <clinit> and after call
c7303e41
APB
5230 `check_static_final_variable_assignment_flag' if the
5231 current_class isn't an interface. After all methods have been
5232 expanded, call `check_final_variable_global_assignment_flag' and
5233 `check_static_final_variable_assignment_flag' if the current class
f6bbde28 5234 is an interface.
c7303e41
APB
5235 (maybe_yank_clinit): Fixed typo in comment.
5236 (build_outer_field_access_methods): Removed old sanity check. Use
5237 FIELD_INNER_ACCESS_P. Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC.
5238 Don't create access methods for finals.
5239 (resolve_field_access): Use `CLASS_FINAL_VARIABLE_P'.
5240 (java_complete_tree): Likewise. Reset DECL_FIELD_FINAL_IUD if
f6bbde28 5241 existing DECL_INIT has been processed.
c7303e41
APB
5242 (java_complete_lhs): Likewise.
5243 (check_final_assignment): Filter input on `lvalue''s TREE_CODE.
5244 Test for COMPONENT_REF to get to the FIELD_DECL. Implemented new
5245 logic.
5246 (patch_assignment): Use LOCAL_FINAL_P.
5247 (fold_constant_for_init): Reset DECL_FIELD_FINAL_IUD if
5248 DECL_INITIAL is nullified.
5249 Fixes gcj/163.
5250
4b945402
KG
52512000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5252
5253 * Make-lang.in (parse.c, parse-scan.c): Create atomically.
f6bbde28 5254
4b945402
KG
5255 * Makefile.in (parse.c, parse-scan.c): Likewise.
5256
1f8f4a0b
MM
52572000-10-12 Mark Mitchell <mark@codesourcery.com>
5258
5259 * class.c (temporary_obstack): Remove.
5260 (make_class): Don't mess with obstascks.
5261 (push_class): Likewise.
5262 (set_super_info): Likewise.
5263 (add_method_1): Likewise.
5264 (add_method): Likewise.
5265 (add_field): Likewise.
5266 (build_utf8_ref): Likewise.
5267 (build_class_ref): Likewise.
5268 (build_static_field_ref): Likewise.
5269 (finish_class): Likewise.
5270 (push_super_field): Likewise.
5271 (layout_class): Likewise.
5272 (layout_class_methods): Likewise.
5273 (init_class_processing): Likewise.
5274 * constants.c (get_tag_node): Likewise.
5275 (build_constant_data_ref): Likewise.
5276 * decl.c (ggc_p): Remove.
5277 (copy_lang_decl): Use ggc_alloc.
5278 (complete_start_java_method): Don't mess with obstacks.
5279 (start_java_method): Likewise.
5280 (end_java_method): Likewise.
5281 * except.c (link_handler): Use xmalloc.
5282 (free_eh_ranges): New function.
5283 (method_init_exceptions): Use it.
5284 (add_handler): Use xmalloc.
5285 (expand_start_java_handler): Don't mess with obstacks.
5286 (prepare_eh_table_type): Likewise.
5287 (expand_end_java_handler): Likewise.
5288 * expr.c (push_value): Likewise.
5289 (create_label_decl): Likewise.
5290 (build_jni_stub): Likewise.
5291 (java_lang_expand_expr): Likewise.
5292 (note_instructions): Use xrealloc.
5293 (java_push_constant_from_pool): Don't mess with obstacks.
5294 (process_jvm_instruction): Likewise.
5295 * java-tree.h (cyclic_inheritance_report): Remove duplicate
5296 declaration.
5297 * jcf-parse.c (get_constant): Don't mess with obstacks.
5298 (read_class): Likewise.
5299 (jcf_parse): Likewise.
a83f01f0 5300 * lex.c (expression_obstack): Remove.
1f8f4a0b
MM
5301 (java_lex): Don't use obstack_free.
5302 * parse.h (exit_java_complete_class): Don't mess with obstacks.
5303 (MANGLE_OUTER_LOCAL_VARIABLE_NAME): Adjust.
5304 (MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID): Likewise.
5305 (MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING): Likewise.
5306 * parse.y (gaol): Add more GC roots.
5307 (add_inner_class_fields): Adjust calls to MANGLE_* macros.
5308 (lookup_field_wrapper): Likewise.
5309 (obtain_incomplete_type): Don't mess with obstacks.
a83f01f0 5310 (build_alias_initializer_parameter_list): Adjust calls to MANGLE_*
1f8f4a0b
MM
5311 macros.
5312 (craft_constructor): Don't mess with obstacks.
5313 (safe_layout_class): Likewise.
5314 (java_complete_class): Likewise.
5315 (source_end_java_method): Likewise.
5316 (build_outer_field_access_methods): Likewise.
5317 (build_outer_method_access_method): Likewise.
5318 (maybe_build_thisn_access_method): Likewise.
5319 (build_dot_class_method_invocation): Likewise.
5320 (java_complete_tree): Likewise.
5321 (java_complete_lhs): Likewise.
5322 (do_merge_string_cste): Likewise.
5323 (patch_string_cst): Likewise.
5324 (array_constructor_check_entry): Likewise.
5325 * typeck.c (build_java_array_type): Likewise.
5326 (parse_signature_string): Likewise.
5327 (build_java_signature): Likewise.
f6bbde28 5328
3c1d1e7b
TT
53292000-10-12 Tom Tromey <tromey@cygnus.com>
5330
5331 Fix for PR gcj/356:
5332 * gjavah.c (add_class_decl): Don't special-case inner classes.
5333 (add_namelet): Likewise.
5334
a93eddcf
APB
53352000-10-11 Rodney Brown <RodneyBrown@mynd.com>
5336
5337 * java-tree.h: Constify current_encoding.
5338 * lang.c: Constify current_encoding.
5339
53402000-10-10 Jeff Sturm <jeff.sturm@appnet.com>
5341
5342 * jvgenmain.c (class_mangling_suffix): Omit `.'.
5343 (main): Use `$' when NO_DOLLAR_IN_LABEL is not set, otherwise `.'.
5344
53452000-10-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
5346
5347 * expr.c (java_lang_expand_expr): Reinstall 1999-08-14 Anthony's
5348 patch. Fixes gcj/340.
5349
2e165c53
TT
53502000-10-10 Tom Tromey <tromey@cygnus.com>
5351
5352 * lex.c (java_new_lexer): Initialize out_first and out_last
5353 fields.
5354 * lex.h (java_lexer): Added out_buffer, out_first, out_last.
5355
c7303e41
APB
53562000-10-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
5357
5358 * parse.y (pop_current_osb): New function.
5359 (array_type:): Use `dims:', changed actions
5360 accordingly. Suggested by Anthony Green.
5361 (array_creation_expression:): Used pop_current_osb.
5362 (cast_expression:): Likewise.
5363 (search_applicable_method_list): Fixed indentation.
5364
53652000-10-08 Anthony Green <green@redhat.com>
5366
5367 * parse.y (array_type_literal): Remove production.
5368 (type_literals): Refer to array_type, not array_type_literal.
5369
29f8b718
APB
53702000-10-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
5371
5372 Patch contributed by Corey Minyard.
5373 * decl.c (check_local_named_variable): New function.
5374 (tree check_local_unnamed_variable): Likewise.
5375 (find_local_variable): Splitted. Call check_local_{un}named_variable.
5376
7fd9a516
AG
53772000-10-07 Anthony Green <green@redhat.com>
5378
5379 * class.c (layout_class): Handle case where superclass can't be
5380 layed out yet.
5381
20d431c9
JM
53822000-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5383
5384 * Makefile.in (keyword.h): Refer to GNU FTP site for updated
5385 gperf.
5386
e0a0c416
TT
53872000-10-05 Tom Tromey <tromey@cygnus.com>
5388
5389 * jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
5390 * jvgenmain.c (class_mangling_prefix): Removed.
5391 (class_mangling_suffix): New global.
5392 (main): Use it.
5393 * gjavah.c (cxx_keyword_subst): Mangle C++ keywords by appending
5394 `$'.
5395 (print_method_info): Handle overrides for static and final
5396 methods.
5397 (process_file): Generate declaration for class object field.
5398 * class.c (cxx_keywords): New array.
5399 (utf8_cmp): New function.
5400 (cxx_keyword_p): New function.
5401 (layout_class_method): Mangle C++ keywords by appending `$'.
5402 (mangle_field): New function.
5403 (mangle_class_field): Use mangle_field. Mangle class name as
5404 `class$'.
5405 (mangle_static_field): Use mangle_field.
5406
62c9aa5f 54072000-10-03 Alexandre Petit-Bianco <apbianco@cygnus.com>
6e22695a
APB
5408
5409 * decl.c (find_local_variable): Removed uncessary type check and
5410 fixed range check typo. From Corey Minyard.
5411
62c9aa5f 54122000-09-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
6e22695a
APB
5413
5414 * decl.c (give_name_to_locals): New local `code_offset'. Call
e64c46ce 5415 `maybe_adjust_start_pc'.
6e22695a
APB
5416 * expr.c (note_instructions): New function.
5417 (expand_byte_code): Don't collect insn starts here.
5418 (peek_opcode_at_pc): New function.
5419 (maybe_adjust_start_pc): Likewise.
5420 * java-tree.h (maybe_adjust_start_pc): Declare.
5421 (note_instructions): Likewise.
dba41d30 5422 * jcf-parse.c (parse_class_file): Call `note_instructions'.
6e22695a 5423
62c9aa5f 54242000-09-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
6e22695a
APB
5425
5426 * parse.y (field_access:): Fixed indentation.
5427 (qualify_ambiguous_name): Properly qualify `this.a[b].c'.
5428
7e51098e
TT
54292000-09-07 Tom Tromey <tromey@cygnus.com>
5430
5431 Fix for PR gcj/307:
5432 * parse.y (patch_binop): Use JNUMERIC_TYPE_P, not
5433 JPRIMITIVE_TYPE_P, for arithmetic operators.
5434 (patch_method_invocation): Indentation fix.
5435 (try_builtin_assignconv): Handle boolean specially. Fixed typo.
5436 (valid_builtin_assignconv_identity_widening_p): Handle boolean.
5437 (do_unary_numeric_promotion): Cleaned up code.
5438 (valid_cast_to_p): Handle boolean correctly.
5439
5beededc
TT
54402000-09-27 Tom Tromey <tromey@cygnus.com>
5441
5442 * lex.c (java_read_unicode): Reset bs_count when finished with
5443 `\u' sequence.
5444
f15b9af9
MM
54452000-10-01 Mark Mitchell <mark@codesourcery.com>
5446
5447 Convert to GC.
5448 * Make-lang.in (s-java): Don't depend on ggc-callbacks.o.
5449 * Makefile.in (BACKEND): Don't include ggc-callbacks.o.
5450 (typeck.o): Depend on ggc.h.
5451 * class.c (add_method_1): Use GC functions for allocation.
5452 (init_class_processing): Register roots.
5453 * decl.c (ggc_p): Set to 1.
5454 (pending_local_decls): Make it static.
5455 (push_jvm_slot): Use GC functions for allocation.
5456 (init_decl_processing): Register roots.
5457 (give_name_to_locals): Use GC functions for allocation.
5458 (lang_mark_tree): New function.
5459 * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Use GC
5460 functions for allocation.
5461 * jcf-parse.c (jcf_parse_source): Use ggc_strdup.
5462 * lex.c (java_lex): Use build_string, rather than replicating it
5463 inline.
5464 * parse.y (goal): Add more roots.
5465 (mark_parser_ctxt): New function.
5466 * typeck.c: Include ggc.h.
f6bbde28 5467
99eaf8d4
APB
54682000-09-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
5469
5470 * parse.y (maybe_yank_clinit): Also keep <clinit> if its body
5471 contains something else than MODIFY_EXPR.
5472
19e223db
MM
54732000-09-23 Mark Mitchell <mark@codesourcery.com>
5474
5475 * Make-lang.in (JAVA_SRCS): Include java-tree.h.
5476 * Makefile.in (parse.o): Depend on ggc.h.
5477 (class.o): Likewise.
5478 (constants.o): Likewise.
5479 (decl.o): Likewise.
5480 (expr.o): Likewise.
5481 (jcf-parse.o): Likewise.
5482 (jcf-write.o): Likewise.
5483 (mangle.o): Likewise.
5484 * class.c: Include ggc.h.
5485 (build_static_field_ref): Register GC roots.
5486 (layout_class): Likewise.
5487 (init_class_processing): Likewise.
5488 * constants.c: Include ggc.h.
5489 (current_constant_pool_data_ref): Remove.
5490 (tag_nodes): Move it to ...
5491 (get_tag_node): ... here. Register GC roots.
5492 * decl.c: Include ggc.h. Remove many global tree definitions.
5493 (throw_node): Define.
5494 (java_global_trees): Likewise.
5495 (predef_filenames): Make the size a constant.
5496 (init_decl_processing): Adjust accordingly.
5497 (init_decl_processing): Call init_jcf_parse. Register GC roots.
5498 * expr.c: Include ggc.h.
5499 (init_expr_processing): Register GC roots.
5500 (build_invokeinterface): Likewise.
5501 * java-tree.h: Replace extern tree declarations with macros.
5502 (java_global_trees): New variable.
5503 (java_tree_index): New enumeration.
5504 (init_jcf_parse): Declare.
5505 * jcf-parse.c: Include ggc.h.
5506 (current_class): Remove declaration.
5507 (main_class): Likewise.
5508 (all_class_list): Likewise.
5509 (predefined_filename_p): Adjust for constant size of
5510 predef_filenames.
5511 (init_jcf_parse): New function.
5512 * jcf-write.c: Include ggc.h.
5513 (generate_classfile): Register GC roots.
5514 (append_synthetic_attribute): Likewise.
5515 (append_innerclass_attribute_entry): Likewise.
5516 * lang.c: Include ggc.h.
5517 (lang_print_error): Register GC roots.
5518 * parse.h (struct parser_ctxt): Rename fields to avoid conflicts
5519 with macros.
5520 * parse.y: Include ggc.h.
5521 (wfl_operator): Remove.
5522 (goal): Register GC roots.
5523 (java_pop_parser_context): Adjust for new field names.
5524 (java_parser_context_save_global): Likewse.
5525 (java_parser_context_restore_global): Likewise.
5526 (java_parser_context_suspend): Likewise.
5527 (java_parser_context_resume): Likewise.
5528 (verify_constructor_circularity): Register GC roots.
5529 (lookup_cl): Likewise.
5530 (java_reorder_fields): Likewise.
5531 (build_current_this): Likewise.
5532 (class_in_current_package): Likewise.
5533 (argument_types_convertible): Likewise.
5534 (patch_cast): Rename wfl_op parameter to avoid macro conflicts.
f6bbde28 5535
4c4b521a
TT
55362000-09-14 Tom Tromey <tromey@cygnus.com>
5537
5538 * lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
5539
6b8a24cd
TT
55402000-09-13 Tom Tromey <tromey@cygnus.com>
5541
5542 * jcf-parse.c: Include <locale.h>.
5543 * jv-scan.c: Include <locale.h>.
5544
86e4b1e4
TT
55452000-09-12 Tom Tromey <tromey@cygnus.com>
5546
5547 * expr.c (pop_type_0): Return `Object' if trying to merge two
5548 interface types.
5549 * verify.c (merge_types): Don't return `TYPE_UNKNOWN' for
5550 interface types; `Object' is always a valid supertype.
5551
d19cbcb5
TT
55522000-09-12 Tom Tromey <tromey@cygnus.com>
5553
5554 Fix for PR gcj/33:
5555 * jv-scan.c (help): Document --encoding.
5556 (options): Added `encoding' entry.
5557 (OPT_ENCODING): New define.
5558 (main): Handle --encoding.
5559 Include <langinfo.h> if nl_langinfo exists.
5560 * lang-options.h: Document --classpath, --CLASSPATH, --main, and
5561 --encoding.
5562 * jcf-parse.c Include <langinfo.h> if we have nl_langinfo.
5563 (parse_source_file): Correctly call java_init_lex. Added `finput'
5564 argument. Use nl_langinfo to determine default encoding.
5565 * java-tree.h (current_encoding): Declare.
5566 * parse.y (java_parser_context_restore_global): Don't restore
5567 `finput'.
5568 (java_parser_context_save_global): Don't set `finput' field.
5569 (java_pop_parser_context): Don't restore `finput'. Free old lexer
5570 if required.
5571 * lang.c (current_encoding): New global.
5572 (lang_decode_option): Recognize `-fencoding='.
5573 (finish_parse): Don't close finput.
5574 * parse.h (struct parser_ctxt): Removed `finput' and
5575 `unget_utf8_value' fields. Added `lexer' field.
5576 (java_init_lex): Fixed declaration.
5577 * lex.c (java_new_lexer): New function.
5578 (java_destroy_lexer): Likewise.
5579 (java_read_char): Added `lex' argument. Handle iconv case.
5580 (java_read_unicode): Added `lex' argument. Count backslashes in
5581 lexer structure.
5582 (java_init_lex): Added `finput' and `encoding' arguments. Set
5583 `lexer' field in ctxp.
5584 (BAD_UTF8_VALUE): Removed.
5585 (java_lex): Handle seeing UEOF in the middle of a string literal.
5586 * lex.h: Include <iconv.h> if HAVE_ICONV defined.
5587 (java_lexer): New structure.
5588 (UNGETC): Removed.
5589 (GETC): Removed.
5590 (DEFAULT_ENCODING): New define.
5591 (java_destroy_lexer): Declare.
5592
ee17a290
TT
55932000-09-12 Tom Tromey <tromey@cygnus.com>
5594
5595 Fix for PR gcj/343:
5596 * lex.c (java_init_lex): Initialize java_io_serializable.
5597 * parse.y (java_io_serializable): New global.
5598 (valid_ref_assignconv_cast_p): An array can be cast to
5599 serializable.
5600
d8ea8f28
ZW
56012000-09-10 Zack Weinberg <zack@wolery.cumb.org>
5602
5603 * decl.c, expr.c: Include defaults.h if not already included.
5604 Don't define the *_TYPE_SIZE macros.
5605
0caae6dd
GK
56062000-09-09 Geoffrey Keating <geoffk@cygnus.com>
5607
5608 * typeck.c (build_java_array_type): Correct first parameter
5609 in ADJUST_FIELD_ALIGN invocation.
5610
f0bee8b3
TT
56112000-09-06 Tom Tromey <tromey@cygnus.com>
5612
5613 * lang-specs.h: Also recognize `-femit-class-files'.
5614
3e99f50c
APB
56152000-09-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
5616
5617 * verify.c (merge_types): Load the types to merge if necessary.
5618
3ca8c9ae
AG
56192000-09-02 Anthony Green <green@redhat.com>
5620
5621 * jcf-io.c: Include zlib.h.
5622 (open_in_zip): Read compressed class file archives.
5623 * zipfile.h (ZipDirectory): Add uncompressed_size and
5624 compression_method fields.
5625 * zextract.c (read_zip_archive): Collect file compression info.
5626
e1d565ab
BM
56272000-08-15 Bryce McKinlay <bryce@albatross.co.nz>
5628
f6bbde28 5629 * parse.y (do_resolve_class): Also explore superclasses of
e1d565ab
BM
5630 intermediate enclosing contexts when searching for inner classes.
5631
29f8b718
APB
56322000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
5633
5634 * parse.y (variable_declarator_id:): Better error message.
5635 (expression_statement:): Use YYNOT_TWICE.
5636 (cast_expression:): Likewise.
5637 (assignment:): Likewise.
5638
354e99ce
APB
56392000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
5640
5641 * parse.y (do_merge_string_cste): New locals. Create new
5642 STRING_CSTs each time, use memcpy. Fixes gcj/311.
5643
7c097ee9
HB
56442000-08-07 Hans Boehm <boehm@acm.org>
5645
5646 * boehm.c (mark_reference_fields): Set marking bits for all words in
5647 a multiple-word record.
5648 (get_boehm_type_descriptor): Use the procedure marking descriptor for
5649 java.lang.Class.
f6bbde28 5650
3d919a0e
MS
56512000-08-31 Mike Stump <mrs@wrs.com>
5652
5653 * Make-lang.in (jc1$(exeext), gcjh$(exeext), jv-scan$(exeext),
5654 jcf-dump$(exeext)): Make parallel safe.
5655
63ad61ed
ZW
56562000-08-29 Zack Weinberg <zack@wolery.cumb.org>
5657
5658 * jcf-parse.c (set_source_filename): Constify a char *.
5659 * jcf-write.c (append_innerclasses_attribute,
5660 make_class_file_name): Constify a char *. Don't recycle a
5661 variable for an unrelated purpose.
5662 * parse.y: (build_alias_initializer_parameter_list): Constify a char *.
5663 (breakdown_qualified): Do not modify IDENTIFIER_POINTER strings.
5664
c00f0fb2
APB
56652000-08-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
5666
5667 * expr.c (can_widen_reference_to): Fixed indentation.
5668 * java-tree.h (CLASS_METHOD_CHECKED_P): Added leading comment.
5669 * parse.y: `finit$' replaces `$finit$' in comments.
5670 (try_builtin_assignconv): Fixed leading comment.
5671
94574545
GM
56722000-08-25 Greg McGary <greg@mcgary.org>
5673
5674 * gjavah.c (cxx_keyword_subst): Use ARRAY_SIZE.
5675
6e2aa220
GM
56762000-08-24 Greg McGary <greg@mcgary.org>
5677
5678 * lang.c (lang_decode_option): Use ARRAY_SIZE.
5679 * parse.y (BINOP_LOOKUP): Likewise.
5680
9b1ee05b
AH
56812000-08-22 Andrew Haley <aph@cygnus.com>
5682
5683 * javaop.h (WORD_TO_INT): Mask lower 32 bits of a jword before
5684 sign extending. Fixes gcj/321.
5685 * jcf-parse.c (get_constant): Mask lower 32 bits of a jint before
5686 combining to make a jlong. Fixes gcj/321.
5687
05a3d06e 56882000-08-21 Nix <nix@esperi.demon.co.uk>
f6bbde28 5689
05a3d06e
N
5690 * lang-specs.h: Do not process -o or run the assembler if
5691 -fsyntax-only.
5692
65f69237
AH
56932000-08-16 Andrew Haley <aph@cygnus.com>
5694
5695 * typeck.c (build_java_array_type): Rewrite code to do array
5696 alignment. Take into account back-end macros when aligning array
5697 data. Remove setting of TYPE_USER_ALIGN; Java doesn't allow the
5698 user to set alignment. Fixes gcj/252 and 160.
5699
2e0f0aff
TT
57002000-08-09 Tom Tromey <tromey@cygnus.com>
5701
1175b9b4
TT
5702 * parse.y (check_abstract_method_definitions): Now return `int'.
5703 Check implemented interfaces. Fixes PR gcj/305.
5704
2e0f0aff
TT
5705 * parse.y (patch_switch_statement): Disallow `long' in switch
5706 expressions. Fixes PR gcj/310.
5707
25bdcbc5
APB
57082000-08-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
5709
5710 * decl.c (finit_leg_identifier_node): New global.
5711 (init_decl_processing): Use `finit$' to initialize
5712 finit_identifier_node. Use `$finit$' to initialize
5713 finit_leg_identifier_node.
5714 * expr.c (expand_java_field_op): Use ID_FINIT_P.
5715 * java-tree.h (finit_identifier_node): Changed attached comment.
5716 (finit_leg_identifier_node): New declaration.
5717 (ID_FINIT_P): Take finit_identifier_node and
5718 finit_leg_identifier_node into account. This is a backward
5719 compatibility hack.
5720
81baa09a
APB
57212000-08-14 Alexandre Petit-Bianco <apbianco@cygnus.com>
5722
5723 * jcf-write.c (generate_bytecode_conditional): Re-installed lost
5724 Jan 6 2000 patch.
5725 (generate_bytecode_insns): Check `nargs' before emitting it.
5726 * verify.c (merge_type_state): Fixed typo.
5727 * ChangeLog: Fixed typo in some jcf-write.c entries mentioning
5728 generate_bytecode_{conditional,insns}.
5729
62c9aa5f 57302000-08-13 Anthony Green <green@redhat.com>
458530ee
AG
5731
5732 * check-init.c (check_init): Add case for BIT_FIELD_REF (required
5733 for -pg builds).
5734
34d4df06
APB
57352000-08-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
5736
5737 * class.c (maybe_layout_super_class): Fixed indentation.
5738 * java-tree.h (CLASS_METHOD_CHECKED_P): New macro.
5739 (java_check_methods): New function declaration.
5740 * jcf-parse.c (get_constant): Let `char_len' go up to 3. Use `str'
5741 instead of `str_ptr'.
5742 * jcf-write.c (generate_bytecode_insns): Emit number the of args
5743 of a `invokeinterface' at the right time.
5744 * parse.h (WFL_STRIP_BRACKET): New macro.
5745 (SET_TYPE_FOR_RESOLUTION): Use it.
dba41d30 5746 * parse.y (build_unresolved_array_type): Reuse `type_or_wfl'.
34d4df06
APB
5747 (check_class_interface_creation): Don't check for cross package
5748 innerclass name clashes.
dba41d30 5749 (method_header): Behave properly if MDECL is `error_mark_node'.
34d4df06
APB
5750 (method_declarator): Return `error_mark_node' if bogus current
5751 class.
5752 (resolve_class): Apply WFL_STRIP_BRACKET on `cl' if necessary.
5753 (resolve_and_layout): New local `decl_type', set and used. Call
5754 java_check_methods.
5755 (java_check_methods): New method.
5756 (java_layout_classes): Use it.
5757 (resolve_qualified_expression_name): No EH check necessary in
5758 access$<n>.
5759 (java_complete_lhs): Use VAR_DECL's DECL_INITIAL when evaluating
5760 `case' statement.
5761 (patch_assignment): Set DECL_INITIAL on integral final local.
5762
5f1c312a
APB
57632000-08-08 Alexandre Petit-Bianco <apbianco@cygnus.com>
5764
5765 * java-tree.h (flag_extraneous_semicolon): New extern.
5766 * lang-options.h: (-Wextraneous-semicolon): New option.
5767 * lang.c (flag_redundant): Fixed typo in leading comment.
5768 (flag_extraneous_semicolon): New global.
5769 (lang_decode_option): Set `flag_extraneous_semicolon' when
5770 -Wall. Decode `-Wextraneous-semicolon'.
5771 * parse.y (type_declaration:): Removed `SC_TK' hack, added
5772 `empty_statement' rule.
5773 (class_body_declaration): Likewise.
5774 (method_body:): Accept `;' as a method body.
5775 (static_initializer:): Removed `SC_TK' hack.
5776 (constructor_block_end:): Likewise.
5777 (empty_statement:): Report deprecated empty declaration. Fixes
5778 gcj/295
5779
25bdcbc5 57802000-08-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
f0f3a777
APB
5781
5782 * parse.y (build_dot_class_method_invocation): Changed parameter
dba41d30 5783 name to `type'. Build signature from `type' and convert it to a
f0f3a777
APB
5784 STRING_CST if it's an array.
5785 (patch_incomplete_class_ref): `build_dot_class_method_invocation'
5786 to use `ref_type' directly.
5787
62c9aa5f 57882000-08-06 Ovidiu Predescu <ovidiu@cup.hp.com>
64c04091
OP
5789
5790 * lang-options.h: Added a comma after the last element to avoid
5791 syntax errors when other languages define additional options.
5792
a36556a8
ZW
57932000-08-04 Zack Weinberg <zack@wolery.cumb.org>
5794
5795 * Make-lang.in (jc1, jv-scan): Depend on $(BACKEND), not stamp-objlist.
5796 * Makefile.in: Add BACKEND; delete OBJS, OBJDEPS.
5797 (jc1): Link with $(BACKEND).
5798 (jv-scan): Depend on version.o, not all of $(OBJS) or $(BACKEND).
5799
50e60bc3
ZW
58002000-08-02 Zack Weinberg <zack@wolery.cumb.org>
5801
37620334
ZW
5802 * jvspec.c: Adjust type of second argument to
5803 lang_specific_driver, and update code as necessary.
5804
50e60bc3
ZW
5805 * class.c (build_dtable_decl): Initialize dummy.
5806
f0f3a777
APB
58072000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
5808
5809 * parse.y (maybe_yank_clinit): When generating bytecode: non empty
5810 method bodies not to rule out discarding `<clinit>'; don't use
5811 <clinit> to initialize static fields with constant initializers.
5812
58132000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
5814
5815 * gjavah.c (print_method_info): Added `synth' parameter. Skip
5816 synthetic methods.
5817 (method_synthetic): New global.
5818 (HANDLE_METHOD): Recognize synthetic method and tell
5819 `print_method_info' about it.
5820 (HANDLE_END_METHOD): Do not issue an additional `;\n' if we're
5821 processing a synthetic method.
5822 * jcf-reader.c (skip_attribute): New function.
5823 ( skip_attribute): Likewise.
5824
58252000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
5826
5827 * parse.y (build_outer_field_access): Fixed comments.
5828 (fix_constructors): Emit the initialization of this$<n> before
5829 calling $finit$.
5830 (resolve_qualified_expression_name): Build an access to `decl' if
5831 necessary.
5832
58332000-07-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
5834
5835 * parse-scan.y (curent_class): Non longer const.
5836 (inner_qualifier, inner_qualifier_length): Deleted.
5837 (current_class_length): New global.
5838 (bracket_count): Fixed typo in leading comment.
5839 (anonymous_count): New global.
5840 (class_instance_creation_expression:): Handle anonymous classes.
5841 (anonymous_class_creation:): New rule.
5842 (push_class_context): Rewritten.
5843 (pop_class_context): Likewise.
5844 (INNER_QUALIFIER): Macro deleted.
5845 (report_class_declaration): call `push_class_context' when
5846 entering the function. `fprintf' format modified not to use
5847 INNER_QUALIFIER.
5848 (report_class_declaration): Assign `package_name' and
a83f01f0 5849 `current_class' to NULL separately.
f0f3a777
APB
5850
58512000-07-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
5852
5853 * expr.c (build_invokeinterface): Call layout_class_methods on
5854 target interface.
5855
13107ec0 58562000-07-27 Tom Tromey <tromey@cygnus.com>
f6bbde28 5857 Anthony Green <green@cygnus.com>
13107ec0
TT
5858 Alexandre Petit-Bianco <apbianco@cygnus.com>
5859
5860 * class.c (make_class_data): Create vtable for abstract classes.
5861 (get_dispatch_table): Changed to cope with abstract classes.
5862
da632f2c
APB
58632000-07-27 Tom Tromey <tromey@cygnus.com>
5864
5865 * parse.y (patch_method_invocation): Don't reverse the argument
5866 list when dealing with anonymous class constructors. Fixed typo in
5867 comment.
5868
58692000-07-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
5870
5871 * parse.y (build_alias_initializer_parameter_list): Reverse
5872 crafted list when building aliases for anonymous class
5873 constructors.
5874
1e12ab9b
APB
58752000-07-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
5876
5877 * parse.y (jdep_resolve_class): Don't bother checking potential
5878 innerclass access if `decl' is NULL.
5879 (find_in_imports_on_demand): TREE_PURPOSE of `import' contains the
5880 WFL.
5881
4c31fe99
APB
58822000-07-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
5883
5884 * parse.c: Remove (again.)
5885
1e12ab9b
APB
58862000-07-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
5887
5888 * parse.y (find_as_inner_class): Removed 2000-07-19 patches.
5889 * jcf-parse.c (HANDLE_INNERCLASSES_ATTRIBUTE): Local `decl' moved
5890 outside the `if' statement, alias to innerclass removed, `decl'
5891 used to mark the class complete.
5892
f4530f43
APB
58932000-07-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
5894
5895 * parse.y (simple_name:): Fixed typo in error message.
5896
e7c7bcef
APB
58972000-07-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
5898
5899 * parse.y (java_complete_lhs): LOOP_EXPR:, SWITCH_EXPR: the node
5900 or its first operand can be error marks.
5901
59022000-07-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
5903
5904 * parse.h (SET_TYPE_FOR_RESOLUTION): Use GET_CPC.
5905 * parse.y (method_header): Likewise.
5906
02ae6e2e
APB
59072000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
5908
5909 * parse.y (process_imports): Consider that one might be trying to
5910 import an innerclass. Fixes gcj/254
5911
e7c7bcef
APB
59122000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
5913
5914 * parse.y (find_as_inner_class): Handle the case where the
5915 enclosing context of an innerclass has been loaded as bytecode.
5916
4142b247
APB
59172000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
5918
f6bbde28 5919 * parse.y (simple_name:): Reject `$' in type names.
4142b247
APB
5920 (resolve_type_during_patch): Use `type' as a second
5921 argument to resolve_no_layout. Fixes gcj/257.
5922
cab8e2bd
BM
59232000-07-18 Bryce McKinlay <bryce@albatross.co.nz>
5924
f6bbde28 5925 * parse.y (find_most_specific_methods_list): Select the only
cab8e2bd
BM
5926 non-abstract method even if max has been set.
5927 Fixes gcj/285, gcj/298.
5928
ca2875c4
JS
59292000-07-18 Jeff Sturm <jeff.sturm@appnet.com>
5930
5931 * lang-specs.h: Added %(jc1) to java compiler options.
5932
bfbbc080
ZW
59332000-07-14 Zack Weinberg <zack@wolery.cumb.org>
5934
5935 * .cvsignore: New file.
5936
11b26d72
APB
59372000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
5938
5939 * parse.y (not_accessible_p): Access granted to innerclasses
5940 (indirectly) extending the reference type. Fixes gcj/249.
5941
59422000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
5943
5944 * parse.y (patch_method_invocation): Fixed comment.
5945 (maybe_use_access_method): Build this$<n>s to the context of the
5946 target method, or a type that extends it. Fixes gcj/242.
5947
649c9142
MM
59482000-07-13 Mark Mitchell <mark@codesourcery.com>
5949
5950 * parse.c: Remove.
5951
ee97d354
APB
59522000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
5953
5954 * parse.y (fold_constant_for_init): Avoid bullish conversion.
5955
44fadf1e
TT
59562000-07-13 Tom Tromey <tromey@cygnus.com>
5957
5958 * lang-specs.h: Added %{I*}.
5959
ea414c97
ZW
59602000-07-13 Zack Weinberg <zack@wolery.cumb.org>
5961
5962 * lang-specs.h: Use the new named specs. Remove unnecessary braces.
5963
792abd35
MM
59642000-07-12 Mark Mitchell <mark@codesourcery.com>
5965
5966 * parse-scan.c: Remove.
5967
11b26d72
APB
59682000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
5969
5970 * class.c (set_super_info): Handled protected inner classes.
5971 (common_enclosing_context_p): Bail early if arguments aren't both
5972 inner classes.
5973 (get_access_flags_from_decl): Handle private and protected inner
5974 classes.
5975 * java-tree.h (TYPE_PROTECTED_INNER_CLASS): New macro.
5976 (CLASS_PROTECTED): Likewise.
dba41d30 5977 (struct lang_type): New bitfield `poic'.
11b26d72
APB
5978 * parse.y (jdep_resolve_class): Call check_inner_class_access on
5979 inner classes only.
5980 (check_inner_class_access): Renamed arguments, added
5981 comments. Handles protected inner classes (fixes gcj/225)
5982 (not_accessible_p): Fixed comments. Avoid handling inner classes.
5983
59842000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
5985
5986 * parse.y (resolve_qualified_expression_name): Verify qualified
dba41d30 5987 access to `this'. Fixes gcj/239.
11b26d72 5988
e67eb1a0 59892000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
2f2bd00a 5990
e67eb1a0
APB
5991 * jcf-write.c (generate_classfile): Don't install ConstantValue
5992 for null pointers.
2f2bd00a 5993
11b26d72
APB
59942000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
5995
5996 * parse.y (resolve_qualified_expression_name): Handle inner class
5997 access. Fixes gcj/256.
5998
629d4b4d
APB
59992000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
6000
6001 * jcf-write.c (generate_classfile): Properly install the
6002 ConstantValue attribute and the initial value constant pool index
6003 on string constants.
6004 * parse.y (java_complete_lhs): Keep DECL_INITIAL when emitting
6005 class files.
6006
0c2b8145
APB
60072000-07-06 Alexandre Petit-Bianco <apbianco@cygnus.com>
6008
6009 * parse.h (BUILD_PTR_FROM_NAME): Surround with a do/while
6010 construct.
6011 * parse.y (find_as_inner_class): Fixed typo.
6012 (do_resolve_class): Explore enclosing contexts when searching for
6013 innerclasses. Removed curly brackets around BUILD_PTR_FROM_NAME.
6014 (check_inner_class_access): Check `decl' which can be null in case
6015 of previous errors.
6016
60172000-07-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
6018
dba41d30 6019 * java-tree.h (java_debug_context): Declared `extern'.
0c2b8145
APB
6020 (safe_layout_class): Likewise.
6021 * parse.y (resolve_field_access): Field must be `static' in order
6022 to be replaced by its initial value. Added comments.
6023 (find_applicable_accessible_methods_list): Fixed typo.
6024 (find_most_specific_methods_list): Methods found in innerclasses
6025 take over methods founds in the enclosing contexts.
6026 (java_complete_tree): Loosen restrictions on the type of DECLs
6027 that can be replaced by their initialization values.
dba41d30 6028 (valid_ref_assignconv_cast_p): Removed call to `enclosing_context_p'.
0c2b8145 6029
0267da64
TT
60302000-07-05 Tom Tromey <tromey@cygnus.com>
6031
6032 * Make-lang.in (PARSE_DIR): New macro.
6033 (PARSE_RELDIR): Likewise.
6034 (PARSE_C): Likewise.
6035 (PARSE_SCAN_C): Likewise.
6036 ($(PARSE_C)): New target.
6037 ($(PARSE_SCAN_C)): Likewise.
6038 (SET_BISON): New macro.
6039 (BISONFLAGS): Likewise.
6040 (JAVABISONFLAGS): Likewise.
6041
1bbee75b
BM
60422000-07-02 Bryce McKinlay <bryce@albatross.co.nz>
6043
f6bbde28
ZW
6044 * gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream
6045 argument on the first pass for CNI as well as JNI.
6046 (print_method_info): Set up method name on the first pass only.
6047
98a52c2c
APB
60482000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
6049
6050 * parse.y (parser_qualified_classname): Removed parameter
6051 `is_static'.
6052 (create_interface): Removed first passed parameter to
6053 parser_qualified_classname.
6054 (create_class): Likewise. Don't install alias on static
6055 innerclasses. Fixes gcj/275.
6056
60572000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
6058
6059 * parse.y (maybe_generate_pre_expand_clinit): Don't build a
6060 debugable statement with empty_stmt_node. Fixes gcj/272
6061
60622000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
6063
6064 * expr.c (build_instanceof): Layout type after it's loaded. Fixes
6065 gcj/271.
6066
c1c8f8cc
APB
60672000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
6068
6069 * jcf-write.c (push_long_const): Appropriately cast short negative
6070 constant to jword.
6071
cf1b2274
APB
60722000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
6073
6074 * parse.y (verify_constructor_super): Use loop variable
6075 `m_arg_type' initialized with `mdecl_arg_type'.
6076
6eaeeb55
TT
60772000-06-29 Tom Tromey <tromey@cygnus.com>
6078
6079 * parse.y (resolve_field_access): Handle case where `type_found'
6080 is NULL.
6081
18ee3d5e
APB
60822000-06-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
6083
6084 * expr.c (lookup_field): The same field can be found through two
6085 different interface. Don't declare it ambiguous in that case.
6086
61d5c158
TT
60872000-06-27 Tom Tromey <tromey@cygnus.com>
6088
6089 * lex.c (java_lineterminator): Don't recognize \r after \n. If \r
6090 follows \r, then unget it at a lower level.
6091
70541f45
TT
60922000-06-26 Tom Tromey <tromey@cygnus.com>
6093
6094 * parse.y (resolve_field_access): Pass decl, not DECL_INITIAL, to
6095 java_complete_tree.
6096
774d2baf
TT
60972000-06-25 Tom Tromey <tromey@cygnus.com>
6098
6099 * parse.y (for_statement): Wrap expression in a WFL if it is a
6100 constant. For PR gcj/268.
6101
d6baf6f5
APB
61022000-06-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
6103
6104 * parse.y (do_resolve_class): Minor optimiztion in the package
17126208 6105 list search. Removed unnecessary test and return statement.
d6baf6f5
APB
6106 (valid_ref_assignconv_cast_p): Order of arguments to
6107 enclosing_context_p fixed.
6108
120f0c10
TT
61092000-06-24 Tom Tromey <tromey@cygnus.com>
6110
ae4a4c88
TT
6111 * expr.c (lookup_field): Print error and return error_mark_node if
6112 field reference is ambiguous.
6113
120f0c10
TT
6114 * parse.y (check_abstract_method_definitions): Also check if
6115 `other_method' is abstract.
6116
cf1748bf
APB
61172000-06-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
6118
6119 * class.c (set_super_info): Handle ACC_PRIVATE for (inner)
6120 classes.
6121 * java-tree.h (TYPE_PRIVATE_INNER_CLASS): New macro.
dba41d30 6122 (struct lang_type): New field `pic'.
cf1748bf
APB
6123 (CLASS_PRIVATE): New macro.
6124 * parse.y (check_inner_class_access): New function.
6125 (jdep_resolve_class): Call it.
6126
f1ff439a
TT
61272000-06-23 Tom Tromey <tromey@cygnus.com>
6128
6129 * parse.y (patch_incomplete_class_ref): Initialize the returned
6130 class. For PR gcj/260.
6131
9a7ab4b3
APB
61322000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
6133
6134 * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'.
6135
61362000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
6137
6138 * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
6139 Java specific checks.
6140 * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage
6141 screened by DECL_P.
6142 * java-tree.def (CASE_EXPR): Marked 'e'.
6143 (DEFAULT_EXPR): Likewise.
6144 * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage
6145 screened by DECL_P.
6146 * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
6147 Java specific checks.
6148 (generate_bytecode_insns): Test try_block for BLOCK before using
6149 BLOCK_EXPR_BODY.
6150 * parse.y (build_wfl_wrap): Added `location' argument. Set
6151 EXPR_WFL_LINECOL accordingly.
6152 (dim_expr:): Wrap constants with WFLs.
6153 (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC.
6154 (resolve_package): Check for `stmt' not being a BLOCK before
6155 building a debuggable statement with it.
6156 (make_qualified_primary): Added extra parameter to build_wfl_wrap
6157 invocation.
6158 (resolve_field_access): Make sure `decl' is a DECL before treating
6159 it as such.
6160 (maybe_build_primttype_type_ref): Make sure `wfl''s node is an
6161 IDENTIFIER_NODE before treating it as such.
6162 (patch_new_array_init): Make sure `elt' is a TREE_LIST before
6163 treating it as such.
6164 (find_applicable_accessible_methods_list): CLASS_INTERFACE macro
6165 to be applied only on non array types.
6166
61672000-06-16 Per Bothner <per@bothner.com>
6168
6169 * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't
6170 define in terms of DECL_RESULT, as that fails when --enable-checking.
f6bbde28 6171
ffb1f63d
KG
61722000-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6173
6174 * jcf-write.c (CHECK_PUT): Add static prototype. Make pointer
6175 types the same in comparison.
6176 (CHECK_OP): Add static prototype.
6177
11cf4d18
JJ
61782000-06-13 Jakub Jelinek <jakub@redhat.com>
6179
6180 * typeck.c (build_java_array_type): Set TYPE_USER_ALIGN.
6181 * parse.y (java_complete_class): Set DECL_USER_ALIGN.
6182 * parse.c: Rebuilt.
6183
5ac9118e
KG
61842000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6185
6186 * decl.c (create_primitive_vtable): Prototype.
6187
6188 * jcf-write.c (generate_bytecode_insns): Initialize variable
6189 `saved_context'.
6190
6191 * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
6192
ad69b5b6
BM
61932000-06-09 Bryce McKinlay <bryce@albatross.co.nz>
6194
6195 * parse.y (find_applicable_accessible_methods_list): Use a hashtable
6196 to track searched classes, and do not search the same class more than
6197 once. Call find_applicable_accessible_methods_list on immediate
6198 superclass, instead of search_applicable_method_list on all ancestors.
6199 Fix for PR gcj/238.
6200
cf1748bf
APB
62012000-06-09 Bryce McKinlay <bryce@albatross.co.nz>
6202
6203 * parse.y (register_fields): Permit static fields in inner classes
6204 if they are final. Fix for PR gcj/255.
6205
9a7ab4b3
APB
62062000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com>
6207
6208 * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries.
6209 * parse.y (find_in_imports): Returned type changed to void,
6210 leading comment fixed.
6211 (register_package): New function.
6212 (qualify_and_find): Likewise.
6213 (package_declaration:): Use `register_package'.
6214 (single_type_import_declaration:): Removed local variable
6215 `node'. Added missing `;' for consistency.
6216 (type_import_on_demand_declaration:): Use `chainon' to link new
6217 entries.
6218 (lookup_field_wrapper): Lookup local variables defined in outer
6219 contexts first.
6220 (java_complete_class): Don't reverse the list of imported on demand.
6221 (do_resolve_class): Reorganized. Removed local variable
6222 `original_name'. Call `qualify_and_find' with the current package
6223 name, invoke `find_in_imports_on_demand' right after. Call
6224 `qualify_and_find' with the packages we've seen so far. Fixed
6225 operations numbering in comments.
6226 (java_expand_class): Don't reverse `package_list'.
6227 (find_most_specific_methods_list): New local variables `abstract'
6228 and `candidates'. Use them to pick the right method.
6229
62c9aa5f 62302000-06-06 Tom Tromey <tromey@ferrule.cygnus.com>
14d075d8
TT
6231
6232 * parse.y (check_modifiers_consistency): Don't subtract out
6233 `PUBLIC_TK' from argument to THIS_MODIFIER_ONLY.
6234
603832a0
PT
62352000-06-04 Philipp Thomas <pthomas@suse.de>
6236
6237 * Makefile.in (INTLLIBS): New.
6238 (LIBS): Add above.
6239 (DEPLIBS): Ditto.
6240
62c9aa5f 62412000-06-02 Alexandre Petit-Bianco <apbianco@cygnus.com>
8f975c18
APB
6242
6243 * class.c (get_dispatch_table): Build the vtable dummy entry list
e64c46ce 6244 element with a null purpose. Fixed leading comment.
8f975c18 6245 (build_dtable_decl): Build an accurate dtable type when appropriate
e64c46ce 6246 and use it.
8f975c18 6247
2e761e49
RH
62482000-06-02 Richard Henderson <rth@cygnus.com>
6249
6250 * lang.c (lang_get_alias_set): New.
6251
0f145be8
APB
62522000-05-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
6253
6254 * parse.y (resolve_field_access): Complete the DECL_INITIAL tree
6255 before using it as the accessed field.
6256
2771fe54
TT
62572000-05-31 Tom Tromey <tromey@cygnus.com>
6258
6259 * java-tree.h (boolean_array_vtable, byte_array_vtable,
6260 char_array_vtable, short_array_vtable, int_array_vtable,
6261 long_array_vtable, float_array_vtable, double_array_vtable):
6262 Declare.
6263 * expr.c (get_primitive_array_vtable): New function.
6264 (create_primitive_vtable): New function.
6265 (java_lang_expand_expr): Enable code to statically generate
6266 arrays.
6267 * decl.c (init_decl_processing): Create primitive vtables.
6268 (boolean_array_vtable, byte_array_vtable, char_array_vtable,
6269 short_array_vtable, int_array_vtable, long_array_vtable,
6270 float_array_vtable, double_array_vtable): Define.
6271
30a3caef
ZW
62722000-05-26 Zack Weinberg <zack@wolery.cumb.org>
6273
6274 * java/parse.y (find_applicable_accessible_methods_list):
6275 Don't add an uninitialized value to the list.
6276
b8c5b1c6
TT
62772000-05-25 Tom Tromey <tromey@cygnus.com>
6278
40aaba2b
TT
6279 * parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC
6280 when trying to see if field's class should be initialized. Always
6281 initialize field's declaring class, not qualified class.
6282 For PR gcj/162.
6283
b8c5b1c6
TT
6284 * parse.y (array_constructor_check_entry): Pass `wfl_value', not
6285 `wfl_operator', to maybe_build_primttype_type_ref.
6286 Fixes PR gcj/235.
6287
6518c7b5
BM
62882000-05-23 Bryce McKinlay <bryce@albatross.co.nz>
6289
6290 * parse.y (patch_method_invocation): Don't try to lookup methods
6291 in primitive types.
6292
611a4b87
APB
62932000-05-02 Alexandre Petit-Bianco <apbianco@cygnus.com>
6294
6295 * parse.y (resolve_field_access): Call the appropriate <clinit>
6296 before accessing the length of a static array. Craft a decl for
6297 the field while its time. Fixes PR gcj/129.
f6bbde28 6298
6b48deee
APB
62992000-05-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
6300
6301 * parse.y (resolve_package): Correctly set `*next' (was off by
6302 one.)
6303 (resolve_qualified_expression_name): Fixed comment.
6304
62c9aa5f 63052000-04-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
0ba154aa 6306
f6bbde28 6307 * jcf-parse.c (jcf_parse_source): Reset current_class and
e64c46ce 6308 current_function_decl to NULL before parsing a new file.
0ba154aa 6309
62c9aa5f 63102000-04-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
c280e37a
APB
6311
6312 * parse.y (block_end:): If the collected block doesn't feature a
e64c46ce 6313 statement, insert an empty statement.
c280e37a 6314
92d83515
APB
63152000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
6316
f6bbde28
ZW
6317 * parse.y (maybe_yank_clinit): New function.
6318 (maybe_generate_pre_expand_clinit): Always link <clinit> at the
6319 end of the list of methods belonging to a class.
6320 (java_complete_expand_method): Check whether <clinit> is really
6321 necessary and expand it accordingly.
92d83515 6322
ec5bb3cf
APB
63232000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
6324
6325 * parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be
6326 processed by the method's switch statement.
6327
67db0ce7
TT
63282000-05-19 Tom Tromey <tromey@cygnus.com>
6329
6330 * java-tree.h: Added init state enum.
6331 * decl.c (emit_init_test_initialization): Initialize class
6332 initialization check variable by looking at class' state.
6333
43490bec
TT
63342000-05-19 Tom Tromey <tromey@cygnus.com>
6335
6336 * java-tree.h (build_instanceof): Declare.
6337 (build_get_class): Declare.
6338 * parse.y (patch_binop): Use build_instanceof.
6339 * expr.c (build_instanceof): New function. If class is final,
6340 don't make a function call.
6341 (expand_java_INSTANCEOF): Use it.
6342 (build_get_class): New function.
6343
062edaed
AO
63442000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6345
6346 * jcf-write.c (generate_classfile): Scan the source_file for
6347 slashes with the right pointer variable.
6348
62c9aa5f 63492000-05-17 Andrew Cagney <cagney@b1.cygnus.com>
078721e1
AC
6350
6351 * lang.c (lang_decode_option): Update -Wunused flags by calling
e64c46ce 6352 set_Wunused.
078721e1
AC
6353 * decl.c (poplevel): Replace warn_unused with warn_unused_label.
6354
46543024 63552000-05-09 Zack Weinberg <zack@wolery.cumb.org>
3b304f5b
ZW
6356
6357 * check_init.c (check_init): Constify local char *.
6358 * class.c (push_class): Constify local char *.
6359 * java_tree.h: Update prototypes.
6360 * jcf-io.c (open_class): Constify filename parameter and
6361 return value.
6362 (find_class): Remove redundant string copy. Cast return from
6363 open_class.
6364 * jcf-parse.c (read_class, parse_class_file, yyparse):
6365 Constify local char *.
6366 * jcf-write.c (generate_bytecode_insns, generate_classfile):
6367 Constify local char *.
6368 * jcf.h (JCF): Constify filename and classname.
6369 (JCF_FINISH): Cast args to FREE to char * when appropriate.
6370 * lang.c (init_parse): Constify parameter and return value.
6371 * lex.c (java_get_line_col): Constify filename parameter.
6372 * parse.h: Constify parser_ctxt.filename. Update prototypes.
6373 * parse.y (java_parser_context_suspend,
6374 issue_warning_error_from_context, safe_layout_class): Constify
6375 local char *.
6376 * parse.c: Regenerate.
6377
4c6a8973
TT
63782000-05-08 Tom Tromey <tromey@cygnus.com>
6379
6380 * expr.c (build_jni_stub): Cache the result of
6381 _Jv_LookupJNIMethod.
6382
e117276e
APB
63832000-05-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
6384
6385 * decl.c (predef_filenames_size): Now 7.
6386 (predef_filenames): New seventh entry.
6387
652f2504
TT
63882000-05-04 Tom Tromey <tromey@cygnus.com>
6389
6390 * boehm.c (mark_reference_fields): Don't mark RawData fields.
6391 Keep track of when we've seen a reference field after a
6392 non-reference field.
6393 (get_boehm_type_descriptor): Handle case where we see
6394 non-reference fields but no trailing reference field.
6395 * decl.c (rawdata_ptr_type_node): Define.
6396 (init_decl_processing): Initialize rawdata_ptr_type_node.
6397 * java-tree.h (rawdata_ptr_type_node): Declare.
6398
ccedaff3
KG
63992000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6400
6401 * jcf-dump.c (SPECIAL_IINC): Ensure arguments match format
6402 specifiers in calls to fprintf.
6403
dd5d6281
TT
64042000-05-03 Andrew Haley <aph@cygnus.com>
6405
6406 * expr.c (build_java_jsr): Use emit_jump, not expand_goto.
6407
6408 * javaop.h (WORD_TO_INT): New function.
6409 (IMMEDIATE_s4): Use WORD_TO_INT.
6410 * jcf.h (JPOOL_INT): Ditto.
6411
6412 * gjavah.c (decode_signature_piece): Don't treat `$' as namespace
6413 separator.
6414
dd5d6281 64152000-04-19 Tom Tromey <tromey@cygnus.com>
7145d9fe
TT
6416
6417 * class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE
6418 on native function.
6419 * jcf-parse.c (parse_class_file): Call build_jni_stub for native
6420 JNI methods.
6421 * expr.c (build_jni_stub): New function.
6422 * lang-specs.h: -fjni and -femit-class-file are incompatible.
6423 * parse.c: Rebuilt.
6424 * parse.y (java_complete_expand_methods): Expand a native method
6425 and call build_jni_stub if -fjni given.
6426 * lang-options.h: Document -fjni.
6427 * lang.c (flag_jni): New global.
6428 (lang_f_options): Added `jni' entry.
6429 * java-tree.h (soft_lookupjnimethod_node,
6430 soft_getjnienvnewframe_node, soft_jnipopsystemframe_node):
6431 Declare.
6432 (flag_jni): Declare.
6433 (build_jni_stub): Declare.
6434 (struct lang_decl): Added `native' flag.
6435 (METHOD_NATIVE): Redefined to use `native' field of lang specific
6436 structure.
6437 * decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node,
6438 soft_jnipopsystemframe_node): New globals.
6439 (init_decl_processing): Set them. _Jv_InitClass only takes one
6440 argument.
6441
6442 * java-tree.def: Put into `C' mode.
6443
e815887f
TT
64442000-04-27 Tom Tromey <tromey@cygnus.com>
6445
6446 Fix for PR gcj/2:
6447 * expr.c (expand_invoke): Generate check to see if object pointer
6448 is null in nonvirtual invocation case.
6449 * java-tree.h (soft_nullpointer_node): Declare.
6450 * decl.c (soft_nullpointer_node): New global.
6451 (init_decl_processing): Initialize soft_nullpointer_node.
6452 * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final'
6453 or `private' methods.
6454 (patch_invoke): Handle INVOKE_NONVIRTUAL case.
6455
62c9aa5f 64562000-04-26 Alexandre Petit-Bianco <apbianco@cygnus.com>
ad81223c
APB
6457
6458 * decl.c (complete_start_java_method): Don't call _Jv_InitClass
e64c46ce 6459 from <clinit>
ad81223c 6460
f1acc01e
TT
64612000-04-26 Tom Tromey <tromey@cygnus.com>
6462
6463 * zextract.c (find_zip_file_start): New function.
6464 (read_zip_archive): Use it.
6465
e803d3b2
APB
64662000-04-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
6467
6468 * parse.y (register_incomplete_type): Handle JDEP_ANONYMOUS.
6469
152de068
APB
64702000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
6471
6472 * class.c (common_enclosing_context_p): New function.
6473 * java-tree.h (common_enclosing_context_p): Added prototype.
6474 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow
6475 classes sharing an outer context with the current instance.
6476 * parse.y (build_access_to_thisn): Fixed leading comment.
6477 (verify_constructor_super): New local `supper_inner'. Skip
6478 enclosing context argument in the case of inner class constructors.
6479 (patch_method_invocation): Insert proper context as second
6480 parameter to pure inner class constructor super invocations.
6481
62c9aa5f 64822000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
93220702
APB
6483
6484 * parse.y (end_class_declaration): Reset the interface number
e64c46ce 6485 counter.
93220702 6486
dfb99c83
APB
64872000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
6488
17126208 6489 * parse.y (source_start_java_method): Deleted unnecessary code.
f6bbde28 6490 (patch_method_invocation): Fixed comment.
dfb99c83 6491
e60a8c26
RL
64922000-04-24 Robert Lipe <robertlipe@usa.net>
6493
6494 * parse.h (_jdep): Member `kind' now ENUM_BITFIELD.
6495
3c8c10b8
TT
64962000-04-23 Tom Tromey <tromey@cygnus.com>
6497
6498 * boehm.c (mark_reference_fields): Use int_byte_position.
6499
8a008c41
TT
65002000-04-22 Tom Tromey <tromey@cygnus.com>
6501
6502 * boehm.c (mark_reference_fields): Only call byte_position on
6503 non-static fields.
6504
d5f76aba
TT
65052000-04-22 Tom Tromey <tromey@cygnus.com>
6506
6507 * boehm.c (mark_reference_fields): Added `last_view_index'
6508 argument. Use DECL_FIELD_OFFSET to determine field's offset.
6509
62c9aa5f 65102000-04-20 Mo DeJong <mdejong@cygnus.com>
a40d21da
APB
6511
6512 * parse.h (INTERFACE_INNER_MODIFIERS): New macro.
6513 * parse.y (check_class_interface_creation): Fixed comments. Select
e64c46ce
AJ
6514 permitted modifiers for (inner) interfaces. Changed error message
6515 to report rejected modifiers used with local classes.
a40d21da
APB
6516
65172000-04-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
6518
6519 * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Immediate inner classes
6520 of directly inherited type considered in scope.
6521 * parse.y (do_resolve_class): Search inherited classes for inner
6522 classes.
6523
473e7b07
TT
65242000-04-20 Tom Tromey <tromey@cygnus.com>
6525
6526 * parse.y (not_accessible_p): Use member's class, not current
6527 class, when doing inheritance check for protected reference.
6528 Fixes PR gcj/124.
6529
62c9aa5f 65302000-04-20 Jason Schroeder <shrode@subnature.com>
c52fbf0f
JS
6531
6532 * jcf-dump.c (SPECIAL_IINC): Fixed typo printing iinc instruction.
6533
f2760b27
APB
65342000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
6535
6536 * parse.y (lookup_field_wrapper): Search for final local aliases.
6537 (resolve_expression_name): Let lookup_field_wrapper search for
6538 final local aliases. Force the value of `name' if one is found.
6539 (qualify_ambiguous_name): CONVERT_EXPR is enough to now we have
6540 an expression name. Fixed comments.
6541
807bc1db
APB
65422000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
6543
6544 * parse.y (yyerror): `msg' can be null, don't use it in that case.
6545
ecb36604
TT
65462000-04-19 Tom Tromey <tromey@cygnus.com>
6547
6548 * gjavah.c (cxx_keyword_subst): Avoid potential infinite loop.
6549
48a840d9
APB
65502000-04-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
6551
6552 * parse.y (maybe_make_nested_class_name): Use `obstack_grow0'.
6553
83c1f628
TT
65542000-04-18 Tom Tromey <tromey@cygnus.com>
6555
6556 PR gcj/211:
6557 * gjavah.c (utf8_cmp): Changed return value.
6558 (cxx_keyword_subst): Handle all C++ keywords. Allocate new return
6559 result.
6560 (cxx_keywords): New global.
6561 (get_field_name): Handle new result of cxx_keyword_subst.
6562 (print_method_info): Likewise.
6563
a7384840
BM
65642000-04-17 Bryce McKinlay <bryce@albatross.co.nz>
6565
f6bbde28 6566 * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names
a7384840 6567 with a newline, for CNI.
f6bbde28 6568 (print_stub_or_jni): Print a space or newline before method name for
a7384840
BM
6569 CNI as well as JNI.
6570 (print_cxx_classname): Don't write leading "::" in CNI stub method.
f6bbde28 6571 (process_file): Include gcj/cni.h if generating CNI stubs.
a7384840 6572
3e0768f0
TT
65732000-04-16 Tom Tromey <tromey@cygnus.com>
6574
6575 * gjavah.c (decompile_method): Use print_field_name.
6576 Fixes PR gcj/205.
6577
48a840d9
APB
65782000-04-14 Alexandre Petit-Bianco <apbianco@cygnus.com>
6579
6580 * parse.y (java_expand_classes): Reverse the package list once.
6581 (java_complete_lhs): PLUS_EXPR: don't try rhs and lhs at string
6582 reduction.
6583 (patch_binop): New temp `cn'. Call patch_string on LHS/RHS of
6584 the `==' and `!=' operators.
6585
cedea510
APB
65862000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
6587
6588 * jcf-write.c (generate_bytecode_insns): At invokation time,
6589 always relate an interface method to the type of its selector.
f6bbde28 6590
e803d3b2
APB
65912000-04-05 Tom Tromey <tromey@cygnus.com>
6592
6593 Fix for PR gcj/2:
6594 * expr.c (expand_invoke): Generate check to see if object pointer
6595 is null in nonvirtual invocation case.
6596 * java-tree.h (soft_nullpointer_node): Declare.
6597 * decl.c (soft_nullpointer_node): New global.
6598 (init_decl_processing): Initialize soft_nullpointer_node.
6599 * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final'
6600 or `private' methods.
6601 (patch_invoke): Handle INVOKE_NONVIRTUAL case.
6602
bc2874c9
TT
66032000-04-05 Tom Tromey <tromey@cygnus.com>
6604
6605 Fix for PR gcj/140:
6606 * parse.y (check_final_assignment): Recognize assignments to the
6607 `length' field of an array when generating class files.
6608
256172c4
APB
66092000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
6610
6611 * class.c (decl_hash): Prototype removed.
6612 (decl_compare): Likewise.
6613
e0fc4118
TT
66142000-04-05 Tom Tromey <tromey@cygnus.com>
6615
6616 * parse.h (THIS_MODIFIER_ONLY): Changed meaning of `v' parameter.
6617 * parse.y (check_modifiers_consistency): Check for final/volatile
6618 clash. Fixes PR gcj/164.
6619
e0422ed0
APB
66202000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
6621
6622 * class.c: (java_hash_hash_tree_node): Renamed from `decl_hash',
6623 made global.
6624 (java_hash_compare_tree_node): Renamed from `decl_compare, made
6625 global.
6626 (add_method_1): Use `java_hash_hash_tree_node' and
6627 `java_hash_compare_tree_node'.
6628 * java-tree.h: (java_hash_hash_tree_node): Prototyped.
6629 (java_hash_compare_tree_node): Likewise.
6630 * parse.y (find_applicable_accessible_methods_list): Create,
6631 delete and use a hash table to remember already searched interfaces.
6632
4200941b
MW
66332000-04-03 Matt Welsh <mdw@cs.berkeley.edu>
6634
6635 * jcf-depend.c (add_entry): Fixed bug where list was always replaced
6636 with latest entry.
6637
c0b864fc
KG
66382000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6639
6640 * boehm.c (mark_reference_fields, set_bit): Prototype.
6641 (set_bit): Un-ANSI-fy definition.
6642
6643 * class.c (init_test_hash_newfunc, decl_hash, decl_compare):
6644 Prototype.
6645
6646 * decl.c (emit_init_test_initialization): Likewise.
6647
6648 * gjavah.c (jni_print_char): Likewise.
6649
6650 * parse.y (create_new_parser_context): Likewise.
6651
62c9aa5f 66522000-03-30 Alexandre Petit-Bianco <apbianco@cygnus.com>
64ea4a5e
APB
6653
6654 * expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000
6655 patch missing hunk. Fixed indentation.
6656
05411ecf
TT
66572000-03-30 Tom Tromey <tromey@cygnus.com>
6658
6659 * gjavah.c (D_NAN_MASK): Only define as word-reversed when
6660 HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree.
6661
acbedd7c
APB
66622000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com>
6663
6664 * parse-scan.y (pop_class_context): Reset `inner_qualifier_length'
6665 when negative *before* using it as an array index.
6666 * ChangeLog: Fixed typo.
6667
0981a859
APB
66682000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com>
6669
6670 * parse-scan.y (pop_class_context): Reset `inner_qualifier_length'
6671 to 0 when it reaches -1.
6672
66732000-03-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
6674
6675 * jcf-parse.c (get_constant): Properly cast `num' during the
acbedd7c 6676 invocation of `add_double'.
0981a859
APB
6677 * jcf-write.c (push_long_const): Properly cast `lo' before
6678 comparing it to short bounds.
6679 * parse-scan.y (interface_declaration:): Rule re-arrange so that
6680 `interface_body:' is reduced after the current interface is
6681 pushed.
6682
a843e0ce
TT
66832000-03-26 Tom Tromey <tromey@cygnus.com>
6684
6685 * jvspec.c (jvgenmain_spec): Add `%{<...}' construct for each
6686 Java-specific `-f' option.
6687
62c9aa5f 66882000-03-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
ad41cc2a
RK
6689
6690 * decl.c (init_decl_processing): Only call initialize_sizetypes once.
6691 Adjust order of making types.
6692 Make bitsize_*_node values.
6693
62c9aa5f 66942000-03-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
770ae6cc
RK
6695
6696 * class.c (make_field_value): Use byte_position.
6697 * expr.c (JAVA_ARRAY_LENGTH_OFFSET): Use byte_position.
6698 (java_array_data_offset): Likewise.
6699 * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Add case to
6700 bzero call.
6701
165f37bc
APB
67022000-03-22 Alexandre Petit-Bianco <apbianco@cygnus.com>
6703
6704 * parse.y (check_abstract_method_definitions): New local
6705 `end_type_reached'. Make sure we also consider `end_type'.
0981a859
APB
6706 (java_check_abstract_method_definitions): Make sure we eventually
6707 consider `java.lang.Object'.
6708 (maybe_use_access_method): Don't use access method if not in the
6709 context of a pure inner class or if the method's context is right.
6710 (find_applicable_accessible_methods_list): New static flag
165f37bc 6711 `object_done'. Don't search abstract classes as interfaces. Fixed
0981a859
APB
6712 indentation. Fixed the `java.lang.Object' only search. Search
6713 class interface(s) first, then fully search enclosing contexts.
6714 (find_most_specific_methods_list): Pick the closest candidate when
165f37bc
APB
6715 they're all abstract.
6716
62c9aa5f 67172000-03-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
124906f9
APB
6718
6719 * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR:
dba41d30 6720 properly initialize `finished_label'. Don't emit gotos for empty
124906f9
APB
6721 try statements.
6722
c14f7160
ML
6723