OSDN Git Service

ae97ad0b20407580231547838b146acfeacbcb11
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
1 2005-04-18  Andrew Haley  <aph@redhat.com>
2
3         * java-except.h (struct eh_range.handler): Remove unused field.
4         (handle_nested_ranges): Remove function declaration.
5         (sanity_check_exception_range): Add function declaration.       
6         * verify.c (verify_jvm_instructions): Remove call to
7         handle_nested_ranges.
8         * verify-glue.c (verify_jvm_instructions_new): Call
9         sanity_check_exception_range.
10         * except.c (link_handler, eh_range_freelist, link_handler,
11         handle_nested_ranges): Remove.
12         (add_handler): Rewrite.
13         (sanity_check_exception_range): New function.
14         (print_ranges): New function.
15
16 2005-04-13  Julian Brown  <julian@codesourcery.com>
17
18         * decl.c (finish_method): Give methods once-only linkage.
19
20 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
21
22         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
23
24 2005-04-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
25
26         * java-tree.h: Don't use PARAMS().
27
28 2005-04-07  Per Bothner  <per@bothner.com>
29
30         * class.c (push_class): By default, suppress debug output.
31         (finish_class): Enable debug output for classes we're emitting.
32
33 2005-04-07  Andrew Haley  <aph@redhat.com>
34
35         * gcj.texi: Correct gcj-dbtool instructions.
36
37 2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
38
39         * gcj.texi: Fix a typo.
40         * lang.c: Fix a comment typo.
41
42 2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>
43
44         * gcj.texi (Invoking gij): Add descriptions of new -X options.
45         Mention recognized-and-ignored compatibility options.
46         (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
47         JvFree.
48         (About CNI): Add Memory allocation section.
49
50 2005-04-01  Tom Tromey  <tromey@redhat.com>
51
52         * decl.c (java_init_decl_processing): Fix types of
53         _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
54         _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
55         _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
56
57 2005-03-31  Jan Hubicka  <jh@suse.cz>
58
59         * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
60         * class.c: Include cgraph.h
61         (make_local_functoin_alias): Mark aslias as needed.
62         * resource.c: Include cgraph.h
63         (compile_resource_data): Go via cgraph interface.
64
65 2005-03-30  Ian Lance Taylor  <ian@airs.com>
66
67         * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
68
69 2005-03-30  Tom Tromey  <tromey@redhat.com>
70
71         * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
72         inner_class_info_index==0 or outer_class_info_index==0.
73
74 2005-03-29  Tom Tromey  <tromey@redhat.com>
75
76         * gcj.texi (libgcj Runtime Properties): Document
77         gnu.gcj.runtime.endorsed.dirs.
78
79 2005-03-24  Anthony Green  <green@redhat.com>
80
81         * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
82         'gcj-dbtool -p'.
83
84 2005-03-23  Tom Tromey  <tromey@redhat.com>
85
86         * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
87         (parse_version): Use it.
88
89 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
90
91         * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
92
93 2005-03-18  Andrew Haley  <aph@redhat.com>
94
95         PR java/20522
96         * decl.c (update_aliases): Don't update variables that are about
97         to die.
98         (maybe_poplevels): Add comment.
99
100 2005-03-17  Bryce McKinlay  <mckinlay@redhat.com>
101
102         PR java/20502
103         * jcf-parse.c (duplicate_class_warning): New function.
104         (java_parse_file): Call duplicate_class_warning if 
105         CLASS_FROM_CURRENTLY_COMPILED_P is already set.
106         (parse_zip_file_entries): Likewise. Also set
107         CLASS_FROM_CURRENTLY_COMPILED_P.
108
109 2005-03-16  Andrew Haley  <aph@redhat.com>
110
111         * expr.c (expand_java_arrayload): Don't generate a
112         NullPointerException based on the type of the node.
113         (build_java_array_length_access): Likewise.
114
115 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
116
117         * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
118
119 2005-03-11  Tom Tromey  <tromey@redhat.com>
120
121         * gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
122         (libgcj Runtime Properties): Document the default .db.
123
124 2005-03-10  Ranjit Mathew  <rmathew@hotmail.com>
125
126         PR java/20312
127         * parse.y (checks_throws_clauses): Check exceptions list even when
128         the base class does not come from a source file being compiled.
129         (java_complete_lhs): Remove unused variable 'wfl'.
130
131 2005-03-09  Ranjit Mathew  <rmathew@hotmail.com>
132
133         PR java/20338
134         * decl.c (finish_method): Emit _Jv_InitClass for private static
135         methods inside inner classes as well.
136
137 2005-03-08  Julian Brown  <julian@codesourcery.com>
138         * Revert patch from 2005-03-08 for causing bootstrap failure on
139         ppc-darwin.
140
141 2005-03-08  Julian Brown  <julian@codesourcery.com>
142
143         * decl.c (finish_method): Give methods once-only linkage.
144
145 2005-03-07  Ranjit Mathew  <rmathew@hotmail.com>
146
147         * lang.c (flag_new_verifier): Enable by default, regardless of ABI.
148
149 2005-03-07  Bryce McKinlay  <mckinlay@redhat.com>
150
151         * verify-glue.c (vfy_is_assignable_from): Perform static check using
152         can_widen_reference_to if the C++ ABI is in use.
153         (vfy_get_interface_count, vfy_get_interface): Remove unused functions.
154         * verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
155         type_isresolved, init_state, set_pc, state_get_pc,
156         _Jv_BytecodeVerifier): Clean up unused and disabled functions.
157         (verify_fail): Report the current PC from the verifier context.
158         (free_state): Remove #if 0 block to enable this function.
159         (free_verifier_context): Call free_state on state_list iterator
160         values before freeing them.
161         * expr.c (pop_type_0): Pop correct type for error message when stack
162         contains a multi-word type.
163
164 2005-03-07  Ranjit Mathew  <rmathew@hotmail.com>
165
166         * expr.c (build_java_array_length_access): Remove !flag_new_verifier
167         for known NULL array length access.
168
169 2005-03-07  Tom Tromey  <tromey@redhat.com>
170
171         * gcj.texi (Invoking gcj-dbtool): Document '-f'.
172
173 2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
174
175         * jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
176         typeck.c: Update copyright.
177
178 2005-03-06  Ranjit Mathew  <rmathew@hotmail.com>
179
180         Remove xref code.
181         * xref.c, xref.h: Remove file.
182         * Make-lang.in (java/xref.o): Remove.
183         * java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
184         * lang.c (flag_emit_xref): Remove definition.
185         * parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
186         * typeck.c (convert): Remove use of do_not_fold.
187         * parse.y (do_not_fold): Remove definition.
188         (parser grammar): Remove xref code.
189         (maybe_create_class_interface_decl, create_class): Likewise.
190         (register_fields, method_header, finish_method_declaration): Likewise.
191         (declare_local_variables, source_end_java_method): Likewise.
192         (java_complete_expand_classes): Do not set do_not_fold.
193         (java_complete_expand_method): Remove xref code.
194         (java_expand_classes, resolve_field_access, patch_invoke): Likewise.
195         (java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
196         (patch_binop, build_string_concatenation, patch_array_ref): Likewise.
197         (patch_synchronized_statement, patch_throw_statement): Likewise.
198         (maybe_build_class_init_for_field): Likewise.
199
200 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
201
202         * expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
203         instead of IS_NON_TYPE_CODE_CLASS.
204
205 2005-03-04  Andrew Haley  <aph@redhat.com>
206
207         PR java/18362
208         * class.c (set_method_index): Don't set method_index if it is
209         NULL_TREE.
210         (layout_class_method): Don't complain about "non-static method foo
211         overrides static method" in the case of indirect dispatch.
212
213 2005-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
214
215         * jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
216         warning.
217         * Make-lang.in: Don't elide warnings in jcf-io.c.
218
219 2005-03-01  Per Bothner  <per@bothner.com>
220
221         PR java/8608
222         * check-init.c (wfl): Remove static.
223         (final_assign_error, check_init): Replace calls to parse_error_context
224         by plain error.
225         (check_init): Save, set, and restore input_location for each exp.
226
227 2005-03-01  Per Bothner  <per@bothner.com>
228
229         * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
230         if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
231         * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
232
233 2005-03-01  Per Bothner  <per@bothner.com>
234
235         * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
236
237 2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>
238
239         PR libgcj/16923
240         * gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
241         JvVMOption.
242
243 2005-02-22  Tom Tromey  <tromey@redhat.com>
244
245         PR java/20056:
246         * verify-impl.c (EITHER): New define.
247         (types_compatible): Handle it.
248         (check_field_constant): Use it.
249
250 2005-02-18  Tom Tromey  <tromey@redhat.com>
251
252         PR java/20056:
253         * verify-impl.c (types_equal): Fixed test.
254
255         PR java/20056:
256         * verify-glue.c (vfy_class_has_field): New function.
257         * verify.h (vfy_class_has_field): Declare.
258         * verify-impl.c (check_field_constant): Added 'putfield'
259         argument.
260         (verify_instructions_0): Updated.
261         (types_equal): New function.
262
263 2005-02-14  Tom Tromey  <tromey@redhat.com>
264
265         PR java/19921:
266         * jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
267         stack effect of multianewarray.
268
269 2005-02-14  Andrew Haley  <aph@redhat.com>
270
271         PR java/19907
272         * expr.c (expand_byte_code): Call promote_arguments().
273         (promote_arguments): New function.
274         * decl.c (check_local_unnamed_variable): Remove special case for
275         new verifier.
276         (find_local_variable): Promote all boolean types to int
277         when searching for local variable decls.
278
279 2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
280
281         * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
282         parse-scan.y: Update copyright.
283
284 2005-02-11  Per Bothner  <per@bothner.com>
285
286         PR java/15543
287         * parse-scan.y (input_location): Remove variable.
288         (main_input_filename): New - replaces input_filename, which isn't
289         settable if USE_MAPPED_LOCATION.
290         * lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
291         so we don't reference input_location or wfl_operator in that case.
292         * jv-scan.c (expand_location): Remove - no longer used.
293         (main): Set main_input_filename rather than input_filename.
294
295 2005-02-09  Richard Henderson  <rth@redhat.com>
296
297         * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
298         * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
299
300 2005-02-08  Marcin Dalecki  <martin@dalecki.de>
301
302         * expr.c (add_type_assertion): Use the proper enumeration type,
303         since this is what htab_find_slot() is expecting.
304
305 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
306
307         * gcj.texi: Update copyright dates.
308
309 2005-02-02  Tom Tromey  <tromey@redhat.com>
310
311         * gcj.texi (libgcj Runtime Properties): Default library_control
312         to 'cache'.
313
314 2005-02-02  Ranjit Mathew  <rmathew@hotmail.com>
315
316         PR java/15543
317         * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
318         (modifiers) when square brackets are present in a declaration for
319         a final paramter.
320         * jv-scan.c (main): Set input_filename and input_line.
321
322 2005-02-01  Tom Tromey  <tromey@redhat.com>
323
324         PR java/19742:
325         * gjavah.c (get_field_name): Don't override name for JNI header.
326
327 2005-02-01  Roger Sayle  <roger@eyesopen.com>
328
329         * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
330         of unsigned types using iushr and lushr JVM bytecodes.
331
332 2005-02-01  Ranjit Mathew  <rmathew@hotmail.com>
333
334         PR java/19738
335         * gjavah.c (jni_print_float): Do not emit floating-point
336         initialiser for a static final field.
337         (jni_print_double): Likewise.
338
339 2005-02-01  Mark Mitchell  <mark@codesourcery.com>
340
341         Revert:
342         2005-01-31  Mark Mitchell  <mark@codesourcery.com>
343         * gjavah.c (print_field_info): Mark static data members of
344         floating-point type with "__extension__".
345
346 2005-01-31  Mark Mitchell  <mark@codesourcery.com>
347
348         * gjavah.c (print_field_info): Mark static data members of
349         floating-point type with "__extension__".
350
351 2005-02-01  Ranjit Mathew  <rmathew@hotmail.com>
352
353         PR java/9157
354         * parse.y (build_string_concatenation): Remove redundant if.
355         (patch_conditional_expr): Attempt to patch_string() the condition
356         of a ?: as well, in addition to its other operands.
357
358 2005-01-25  Tom Tromey  <tromey@redhat.com>
359
360         * Make-lang.in (java/java-tree-inline.o): Removed.
361
362 2005-01-25  Ranjit Mathew  <rmathew@hotmail.com>
363
364         PR java/19070
365         * parse.y (patch_binop): Allow comparisons against NULL only
366         if the other operand is of a reference type.
367
368 2005-01-24  Tom Tromey  <tromey@redhat.com>
369
370         * java-tree.h (gcj_abi_version): Declare.
371         * class.c (make_class_data): Push gcj_abi_version into "next"
372         field.  Renamed field.
373         * decl.c (gcj_abi_version): New global.
374         (parse_version): New function.
375         (java_init_decl_processing): Call it.  Renamed 'next' field.
376         Include version.h.
377         (GCJ_BINARYCOMPAT_ADDITION): New define.
378
379 2005-01-24  Roger Sayle  <roger@eyesopen.com>
380
381         PR java/19295
382         * jcf-write.c (generate_bytecode_insns): Conversions between
383         integer types of the same precision shouldn't generate widening
384         or narrowing conversion bytecodes.
385
386 2005-01-22  Kazu Hirata  <kazu@cs.umass.edu>
387
388         * java-except.h, java-tree.h: Remove unused prototypes.
389
390 2005-01-20  Andrew Pinski  <pinskia@gcc.gnu.org>
391
392         PR java/18091:
393         * jcf-write.c (perform_relocations): Don't call memcpy if source
394         and destination are the same.
395
396 2005-01-17  Tom Tromey  <tromey@redhat.com>
397
398         * verify-impl.c (get_short): Sign extend.
399         (get_int): Likewise.
400
401 2005-01-12  Ranjit Mathew  <rmathew@hotmail.com>
402
403         * expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
404         with TYPE_SIZE.
405
406 2005-01-10  Ranjit Mathew  <rmathew@hotmail.com>
407
408         * verify.c: Revert to the version before the BC-ABI merge.
409
410 2005-01-10  Ranjit Mathew  <rmathew@hotmail.com>
411
412         PR java/19277
413         * check-init.c (check_init): Take care of references that do not
414         have an explicit final variable declaration (e.g. array length
415         access) for pre/post in/de-crement operators.
416
417 2005-01-08  Mark Wielaard  <mark@klomp.org>
418
419         * parse.y (process_imports): Allocate (and free) original_name only
420         when not already defined.
421         * jcf-parse.c (read_class): Free results of find_class() and
422         lrealpath().
423         (java_parse_file): Keep pointer to head of file_list and free when
424         done. Free result of lrealpath().
425
426 2005-01-05  Tom Tromey  <tromey@redhat.com>
427
428         * gcj.texi (Standard Properties): java.ext.dirs is now used.
429
430 2004-12-20  Andrew Haley  <aph@redhat.com>
431
432         * typeck.c: Use fold_convert for ints and booleans.
433
434 2004-12-17  Andrew Haley  <aph@redhat.com>
435
436         PR java/18931
437         * typeck.c (convert): Use a CONVERT_EXPR when converting to
438         BOOLEAN_TYPE or CHAR_TYPE.
439         (convert_to_boolean, convert_to_char) : Remove.
440         * convert.h (convert_to_boolean, convert_to_char) : Remove.
441         * expr.c (expand_load_internal): Do type conversion if type is not
442         as required.
443
444 2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
445
446         PR target/18459
447         * class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
448         Update comment.
449
450 2004-12-07  Andrew Haley  <aph@redhat.com>
451
452         PR java/18811:
453         * jcf-parse.c (load_class): Remove sanity test for missing inner
454         class file.
455
456 2004-12-06  Tom Tromey  <tromey@redhat.com>
457
458         * Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
459         (java.uninstall): Likewise.
460         (java.maintainer-clean): Likewise.
461         (.INTERMEDIATE): Likewise.
462         (java.install-man): Likewise.
463         (gcj-dbtool.pod): New target.
464         * gcj.texi (Code Generation): Document -findirect-dispatch.
465         (libgcj Runtime Properties): Document
466         gnu.gcj.precompiled.db.path.
467         (Top): Link to "Invoking gcj-dbtool".
468
469 2004-12-06  Tom Tromey  <tromey@redhat.com>
470
471         PR java/14853:
472         * java-tree.h (extract_field_decl): Declare.
473         * parse.y (extract_field_decl): Renamed from
474         strip_out_static_field_access_decl.  No longer static.
475         * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.
476
477 2004-12-03  Tom Tromey  <tromey@redhat.com>
478
479         * lang.c (flag_new_verifier): Define.
480         (java_post_options): Set flag_new_verifier if indirect dispatch
481         is being used.
482         * lang.opt (fnew-verifier): Removed.
483
484 2004-12-03  Tom Tromey  <tromey@redhat.com>
485
486         PR bootstrap/14614:
487         * Make-lang.in (java.install-common): Only install transformed
488         gcjh if gcj-cross exists.
489
490 2004-12-03  Andrew Haley  <aph@redhat.com>
491
492         PR java/18812
493         * except.c (link_handler): Patch 'outer' field of siblings of the
494         range we're demoting.
495
496 2004-12-03  Andrew Haley  <aph@redhat.com>
497
498         PR java/18697
499         * class.c (layout_class_method): Don't fail to override a method
500         simply because it has DECL_ARTIFICIAL set.
501
502 2004-12-02  Tom Tromey  <tromey@redhat.com>
503
504         PR java/16675:
505         * parse.y (craft_constructor): Special case null_pointer_node.
506
507 2004-12-02  Tom Tromey  <tromey@redhat.com>
508
509         PR java/18741:
510         * java-gimplify.c (java_gimplify_expr): Don't call
511         SET_EXPR_LOCATION unless wrapped tree is an expression.
512
513 2004-11-27  Per Bothner  <per@bothner.com>
514
515         * jcf-parse.c (set_source_filename):  Improvement to Andrew's fix:
516         Fix fencepost error in 'i', which got executed one too many times.
517         Also, fold memcpy into explicit loop, as originally intended.
518         Also, free temporary 'buf' which otherwise leaks.
519
520 2004-11-27  Per Bothner  <per@bothner.com>
521
522         * expr.c (build_expr_wfl): Only declare last_file and last_filenode
523         local static variables if not USE_MAPPED_LOCATION.
524
525 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
526
527         * class.c, decl.c, expr.c: Fix comment typos.
528
529 2004-11-26  Andrew Pinski  <pinskia@physics.uc.edu>
530
531         PR java/18305
532         * decl.c (end_java_method): Call
533         attach_init_test_initialization_flags on all the init_decls.
534         * parse.y (attach_init_test_initialization_flags): Move to ...
535         * expr.c (attach_init_test_initialization_flags): here and
536         support BIND_EXPR also.
537         * java-tree.h (attach_init_test_initialization_flags): Prototype.
538         * jcf-parse.c (parse_class_file): Don't disable class init
539         optimization.
540
541 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
542
543         * gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
544         in diagnostics.
545
546 2004-11-24  Richard Henderson  <rth@redhat.com>
547
548         * verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
549         vfy_string_type, vfy_throwable_type): Use ANSI declaration form.
550
551 2004-11-24  Tom Tromey  <tromey@redhat.com>
552
553         * verify.c (defer_merging): Don't use C++-style comment.
554         * verify.h (java_opcode): Added java_opcode_end.
555         * class.c (build_class_ref): Remove C++ comment and old FIXME.
556
557         * verify-impl.c (vfy_push_type): Removed bogus "return".
558         (initialize_stack): Use vfy_alloc and vfy_free.
559         (verify_instructions_0): Likewise.
560
561         * Merged gcj-abi-2-dev-branch to trunk.
562
563 2004-11-24  Andrew Haley  <aph@redhat.com>
564
565         * jcf-parse.c (parse_class_file): Set file_start_location.
566
567 2004-11-10  Tom Tromey  <tromey@redhat.com>
568
569         * class.c (make_field_value): Don't call build_static_field_ref.
570         (build_static_field_ref): Don't emit direct references when using
571         indirect dispatch.
572
573         * gcj.texi (Invoking gij): Document -verbose.  Put -verbose and
574         -verbose:class into man page synopsis.
575
576 2004-11-09  Tom Tromey  <tromey@redhat.com>
577
578         * expr.c (build_java_arraystore_check): Still generate check if
579         element type is itself an array.
580
581 2004-11-08  Tom Tromey  <tromey@redhat.com>
582
583         * java-tree.h (soft_check_assignment_node): Removed.
584         (enum java_tree_index): Removed JTI_SOFT_CHECK_ASSIGNMENT_NODE.
585         * decl.c (java_init_decl_processing): Don't initialize
586         soft_check_assignment_node.
587
588 2004-11-05  Tom Tromey  <tromey@redhat.com>
589
590         * class.c (layout_class_methods): Don't add Miranda methods when
591         using indirect dispatch.
592
593 2004-11-05  Bryce McKinlay  <mckinlay@redhat.com>
594
595         * class.c (make_class_data): Call emit_assertion_table to set the
596         'assertion_table' field.
597         (build_signature_for_libgcj): Move here from expr.c.
598         (add_assertion_table_entry): New function. Callback for assertion
599         hashtable traversal.
600         (emit_assertion_table): New. Take class argument, and generate
601         assertion table DECL based on the TYPE_ASSERTIONS hashtable.
602         * decl.c (init_decl_processing): Define assertion_entry_type record.
603         Push 'assertion_table' class field instead of 'verify'.
604         * expr.c (type_assertion_eq): Compare 'assertion_code' field.
605         (type_assertion_hash): Include 'assertion_code' in hash.
606         (add_type_assertion): Rewritten. Take class and assertion_code
607         arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
608         (can_widen_reference_to): Use new add_type_assertion() arguments.
609         * java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
610         JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
611         (verify_identifier_node): Removed.
612         (assertion_entry_type, assertion_table_type): New.
613         (ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
614         assertion code definitions.
615         (struct type_assertion): Add assertion_code. Rename 'source_type' and
616         'target_type' to 'op1' and 'op2'.
617         (add_type_assertion): Declare.
618         (lang_printable_name_wls): Remove unused definition.
619         * verify-glue.c: (vfy_is_assignable_from): New. Call add_type_assertion
620         to emit runtime assertion.
621         (vfy_note_stack_type): Clean up non-C90 declarations.
622         (vfy_note_local_type): Likewise.
623         * verify.h (vfy_is_assignable_from): Declare.
624         * verify-impl.c (is_assignable_from_slow): Remove unused function.
625         (ref_compatible): Rename arguments. Call vfy_is_assignable_from()
626         instead of is_assignable_from_slow().
627         (types_compatible): Reinstate ref_compatible() call.
628
629 2004-11-04  Tom Tromey  <tromey@redhat.com>
630
631         * class.c (build_static_field_ref): Reverted previous patch.
632
633         * class.c (build_static_field_ref): Don't emit direct references
634         when using indirect dispatch.
635
636 2004-11-03  Tom Tromey  <tromey@redhat.com>
637
638         * expr.c (expand_java_arrayload): Set lhs_type_node.
639         (expand_java_arraystore): Set rhs_type_node.
640
641 2004-11-02  Tom Tromey  <tromey@redhat.com>
642
643         * jcf-parse.c (compute_class_name): Use filename length from zip
644         directory, not strlen.
645
646         * expr.c (expand_invoke): Mark new interface methods as abstract.
647
648 2004-11-01  Tom Tromey  <tromey@redhat.com>
649
650         * verify-impl.c (push_jump): Removed check for uninitialized
651         objects.
652         (push_exception_jump): Likewise.
653         (handle_ret_insn): Likewise.
654         (handle_jsr_insn): Likewise.
655         (state_check_no_uninitialized_objects): Removed.
656
657         * decl.c (check_local_unnamed_variable): Recognize
658         promoted-to-int parameters when using the new verifier.
659         * expr.c (expand_java_arraystore): Explicitly request array type
660         when using new verifier.
661         (expand_java_arrayload): Likewise.
662         (invoke_build_dtable): Don't pass object_type_node as
663         expression argument to build_java_indirect_ref.
664         (build_java_check_indexed_type): Do nothing.
665         (build_java_arraystore_check): Handle case where array doesn't
666         have array type.
667         (build_java_array_length_access): Likewise.
668         (expand_invoke): Handle case where interface overrides a method
669         from Object.
670         (pop_type_0): Always succeed for reference types.
671         (process_jvm_instruction): Don't pop a value in a dead
672         exception handler.
673         (pop_arguments): Convert arguments to correct types.
674
675 2004-10-29  Andrew Haley  <aph@redhat.com>
676
677         * jcf-parse.c (give_name_to_class): Remove line that was
678         incorrectly merged.
679
680 2004-10-29  Andrew Haley  <aph@redhat.com>
681
682         * jcf-parse.c (set_source_filename): Add code to build new sfname.
683
684 2004-10-20  Andrew Haley  <aph@redhat.com>
685
686         * decl.c (end_java_method): Don't expand if flag_syntax_only.
687
688 2004-10-26  Tom Tromey  <tromey@redhat.com>
689
690         * verify.h (vfy_notify_verified): Removed.
691         * verify-glue.c (vfy_notify_verified): Removed.
692
693 2004-10-26  Tom Tromey  <tromey@redhat.com>
694
695         * verify-impl.c (debug_print_state): Declare `i' before code.
696         (merge_types): Modify `t' when it is null_type.
697
698 2004-10-26  Tom Tromey  <tromey@redhat.com>
699
700         * verify-impl.c (type_print): Renamed from print.  Now static and
701         takes an argument.
702         (debug_print_state): Use type_print.
703
704 2004-10-25  Tom Tromey  <tromey@redhat.com>
705
706         * expr.c (build_invokeinterface): Compute correct offset for
707         index into interface methods.
708
709 2004-10-20  Tom Tromey  <tromey@redhat.com>
710
711         * java-tree.h (verify_jvm_instructions_new): Declare.
712
713         * jvspec.c (jvgenmain_spec): Remove -fnew-verifier from cc1
714         command line.
715
716         * verify-impl.c (verify_instructions): Correctly handle wide
717         types on the stack.
718         * verify-glue.c (vfy_get_class_name): Use DECL_NAME.
719         (vfy_get_component_type): Strip pointer types.
720         (vfy_find_class): Use get_type_from_signature.  Strip pointer
721         types.
722         Include java-except.h.
723
724 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
725
726         * verify-impl.c (type_array_elementpop_raw, vfy_pop_type_t,
727         vfy_push_type_t, set_variable, add_new_state, merge_into,
728         handle_jsr_insn, branch_prepass, check_class_constant,
729         check_wide_constant, get_one_type, compute_static_types,
730         verify_instructions_0): Clean up C99 declarations after statements.
731
732 2004-10-20  Tom Tromey  <tromey@redhat.com>
733
734         * verify-impl.c (merge_refs): Compare reference against iterator,
735         not ref2.
736
737         * verify-glue.c (vfy_tag): Mask off resolved flag.
738
739 2004-10-19  Tom Tromey  <tromey@redhat.com>
740
741         * verify-impl.c (verify_instructions): Call vfy_note_local_type.
742         (init_state_with_stack): Initialize `this_type' in state.
743         (verify_method): Use debug_print.
744         * verify-glue.c (vfy_is_primitive): Removed debugging print.
745         (vfy_note_stack_depth): Reverted last patch.
746         (vfy_note_stack_type): Note pointer to Object, not Object.
747         (vfy_note_local_type): Likewise.
748
749         * verify.h (vfy_note_instruction_seen): Declare.
750         * verify-glue.c (verify_jvm_instructions_new): Set
751         BCODE_EXCEPTION_TARGET on target instruction.
752         (vfy_note_instruction_seen): New function.
753         * verify-impl.c (FLAG_INSN_SEEN): New define.
754         (verify_instructions_0): Set flag on instruction.  Save state for
755         PC=0 later.
756         (verify_instructions): Call vfy_note_instruction_seen.
757
758         * verify-glue.c (vfy_note_stack_depth): Fix off-by-one error.
759         (verify_jvm_instructions_new): Call method_init_exceptions,
760         add_handler, and handle_nested_ranges.
761         * verify-impl.c (verify_method): Return 1 on success.
762         (verify_instructions_0): Save the state at PC=0.
763
764         * verify-impl.c (init_type_from_class): Set is_resolved and
765         ref_next on new ref_intersection.
766         (init_type_from_string): Likewise.
767
768 2004-10-15  Bryce McKinlay  <mckinlay@redhat.com>
769
770         * expr.c (expand_bytecode): Use verify_jvm_instructions_new
771         if flag_new_verifier is set.
772         * java-tree.h (flag_new_verifier): Declare.
773         * lang.opt (fnew-verifier): New option.
774         * verify-impl.c: Work around namespace pollution by undef'ing
775         'current_class'.
776         (struct verifier_context): Make 'bytecode' const.
777         (verify_fail_pc): Pass -1 PC argument to vfy_fail.
778         (types_compatible): For the BC-ABI, always consider reference types
779         compatible.
780         (check_class_constant): Use vfr->current_class.
781         (check_constant): Likewise.
782         (check_wide_constant): Likewise.
783         (check_field_constant): Check for 'L' at start of type name.
784         (get_one_type): Return pointer instead of type. Set type result in
785         caller via passed type pointer.
786         (compute_argument_types): Update to use new get_one_type arguments.
787         (compute_return_type): Likewise.
788         (make_verifier_context): New. Allocate and initialize 'vfr'.
789         (free_verifier_context): New. Free 'vfr' and its contents.
790         (verify_method): Remove ATTRIBUTE_UNUSED. Call make_verifier_context
791         and free_verifier_context.
792
793 2004-10-15  Tom Tromey  <tromey@redhat.com>
794
795         * verify-glue.c (vfy_note_local_type): Mark argument as unused.
796         * verify.h (vfy_fail): Fixed formatting.
797
798         * verify-impl.c (vfr): Fixed comment formatting.
799         (collapse_type): New function.
800         (verify_instructions): Notify compiler about type map.
801         * verify.h (vfy_note_stack_depth): Updated.
802         (vfy_note_stack_type): Likewise.
803         (vfy_note_local_type): Likewise.
804         (vfy_unsuitable_type, vfy_return_address_type, vfy_null_type):
805         Declare.
806         * verify-glue.c (vfy_note_stack_depth): Correctly size type
807         state.  Added `method' argument.
808         (vfy_note_stack_type): Renamed from vfy_note_type.  Added `method'
809         argument.
810         (vfy_note_local_type): New function.
811         (vfy_unsuitable_type): Likewise.
812         (vfy_return_address_type): Likewise.
813         (vfy_null_type): Likewise.
814
815         * verify.h (VFY_IN_GCC): Removed.
816         (VFY_WANT_TYPEMAP): Removed.
817         * verify-impl.c (verify_instructions_0): Removed useless "\".
818         (struct state) <next>: Uncomment.
819
820 2004-10-13  Bryce McKinlay  <mckinlay@redhat.com>
821
822         * verify-impl.c: Formatting fixes. Reformat C++-style comments to
823         C-style.
824
825 2004-10-06  Bryce McKinlay  <mckinlay@redhat.com>
826
827         * Make-lang.in (verify.o): Re-enabled this target.
828         * verify-glue.c (vfy_get_interface_count): Add ATTRIBUTE_UNUSED.
829         (vfy_get_interface): Likewise.
830         (verify_jvm_instructions_new): Renamed from verify_jvm_instructions.
831         * verify.h (verify_jvm_instructions_new): Declare.
832         * verify-impl.c (free_state): Temporarily comment out unused
833         function.
834
835 2004-10-06  Tom Tromey  <tromey@redhat.com>
836
837         * java-tree.h (JV_STATE_READ): New enum value.
838
839 2004-10-06  Bryce McKinlay  <mckinlay@redhat.com>
840
841         * verify.h: New file.
842
843 2004-10-05  Bryce McKinlay  <mckinlay@redhat.com>
844
845         * verify-impl.c, verify-glue.c, verify.h: New files.
846         * Make-lang.in: Add rules for verify-impl.o and verify-glue.o.
847
848 2004-09-24  Andrew Haley  <aph@redhat.com>
849
850         * decl.c (check_local_unnamed_variable): Always use the PARM_DECL
851         for a slot if it's of pointer type.
852
853 2004-09-14  Tom Tromey  <tromey@redhat.com>
854
855         * class.c (make_class_data): Correctly initialize "state" field.
856         Initialize "engine" field.
857         * decl.c (java_init_decl_processing): Add "engine" field.
858
859 2004-09-10  Andrew Haley  <aph@redhat.com>
860
861         PR java/12760
862         * expr.c (build_invokeinterface): Use fast method for interface
863         dispatch.
864         * java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
865         JTI_ITABLE_PTR_TYPE.
866         (struct lang_type): Add  itable_methods, itable_decl, itable_syms_decl.
867         (emit_symbol_table): Add new arg, element_size.
868         * decl.c (java_init_decl_processing): Initialize Class.itable.
869         * class.c (GEN_TABLE): New macro.
870         (gen_indirect_dispatch_tables): Use it.  Add itable.
871         (make_class_data): Add new arg for emit_symbol_table().
872         Emit itable.
873         (add_miranda_methods): Make sure search_class has been parsed.
874         (emit_symbol_table): Add new arg, element_size.
875
876 2004-09-06  Andrew Haley  <aph@redhat.com>
877
878         * verify.c (merge_types): Return Object for all merges of
879         interfaces.
880         * expr.c (add_type_assertion): Don't generate assertions when
881         source type is array of Object.
882
883 2004-09-03  Andrew Haley  <aph@redhat.com>
884
885         * class.c (finish_class): Nullify TYPE_VERIFY_METHOD.
886
887         * lang.c (java_post_options): Force flag_verify_invocations if
888         we're not using indirect dispatch.
889
890         * expr.c (pop_type_0): Move test for interfaces before call to
891         can_widen_reference_to().
892         (build_signature_for_libgcj): Remove generation of canonical array
893         type.
894         (add_type_assertion): Canonicalize both arrays.
895         Don't assert that type X can be assigned to Object.
896         Don't assert that type X an be assigned to type X.
897         Don't assert that Object can be assigned to type X.
898         (can_widen_reference_to): Warn whenever we generate an assertion.
899         (process_jvm_instruction): Use throwable_type_node for the type of
900         an exception class.
901
902 2004-09-01  Andrew Haley  <aph@redhat.com>
903
904         * decl.c (java_init_decl_processing): Change
905         verify_identifier_node to "__verify".
906         * expr.c (add_type_assertion): Use verify_identifier_node for name.
907         * java-tree.h (verify_identifier_node): Change to "__verify".
908
909         * expr.c (build_signature_for_libgcj): New function.
910         (add_type_assertion): Use it to construct signatures for
911         source_type and target_type.
912
913 2004-08-27  Andrew Haley  <aph@redhat.com>
914
915         * java-tree.h (enum java_tree_index): Add JTI_VERIFY_IDENTIFIER_NODE.
916         (verify_identifier_node): New.
917         (TYPE_VERIFY_METHOD): New.
918         (struct type_assertion): New type.
919         * expr.c (type_assertion_eq): New function.
920         (type_assertion_hash): New function.
921         (add_type_assertion): New function.
922         (can_widen_reference_to): Call add_type_assertion().
923         * decl.c (java_init_decl_processing): Add verify_identifier_node.
924         * class.c (make_class_data): Initialize TYPE_VERIFY_METHOD (type).
925         (finish_class): Output TYPE_VERIFY_METHOD (type).
926
927         * decl.c (end_java_method): Nullify unused fields.
928
929 2004-08-17  Andrew Haley  <aph@redhat.com>
930
931         * verify.c (defer_merging): Quieten.
932         * jcf-parse.c (load_class): Only try to open a class file if it's
933         java.lang.Object or if it's part of the current compilation.
934         Check that the class we just tried to load is the class we just
935         loaded.  Quieten.
936         (java_parse_file): Set flag_verify_invocations off if we're
937         compiling from .class.
938         (parse_zip_file_entries): Abort if we try to read a dummy class.
939         * expr.c (can_widen_reference_to): Quieten.
940         (build_invokevirtual): Abort if we try to invokevirtual an
941         interface.
942         (expand_invoke): Don't build a non-interface call to an interface.
943         (build_instanceof): Don't do premature optimization if
944         flag_verify_invocations is not set.
945         * class.c (set_super_info): Disable code that inherits TYPE_DUMMY
946         from superclass.
947         (build_static_field_ref): Add correct type conversion for
948         field_address.
949         (add_miranda_methods): Disable generation of Miranda methods for
950         dummy classes.
951         (layout_class_method): Don't complain about non-static method
952         overrides static method with dummy classes.
953
954 2004-08-13  Tom Tromey  <tromey@redhat.com>
955
956         * class.c (build_static_field_ref): Re-enable atable lookups for
957         static fields.
958
959         * parse.y (strip_out_static_field_access_decl): Indentation fix.
960
961 2004-08-11  Tom Tromey  <tromey@redhat.com>
962
963         * gcj.texi (libgcj Runtime Properties): Document new properties.
964
965 2004-08-06  Andrew Haley  <aph@redhat.com>
966
967         * jcf-parse.c (load_class): Check that we really have loaded the
968         class we're looking for.
969
970 2004-07-19  Andrew Haley  <aph@redhat.com>
971
972         * verify.c (verify_jvm_instructions): Comment change only.
973
974         * typeck.c (build_java_array_type): Add size field to array name.
975
976         * java-tree.h (LOCAL_SLOT_P): New.
977         (update_aliases): Add PC argument.
978         (pushdecl_function_level): New function.
979
980         * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
981         MODIFY_EXPR, and SAVE_EXPR.
982         (java_gimplify_modify_expr): New function.
983
984         * expr.c (push_type_0): Call find_stack_slot() to create temporary.
985         (expand_iinc): Pass PC to update_aliases().
986         (STORE_INTERNAL): Likewise.
987         (process_jvm_instruction): Likewise.
988
989         * decl.c (base_decl_map): New variable.
990         (uniq): New variable.
991         (update_aliases): Rewrite with more thorough checking.
992         (debug_variable_p): New function.
993         (push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
994         (check_local_named_variable): Delete whole function.
995         (initialize_local_variable): New function.
996         (check_local_unnamed_variable): Add checks and comments.
997         (find_local_variable): Rewrite.
998         (java_replace_reference): New function.
999         (function_binding_level): New variable.
1000         (pushdecl_function_level): New function.
1001         (maybe_pushlevels): Set DECL_LOCAL_END_PC.
1002         (maybe_pushlevels): Call pushdecl() on each of the new decls.
1003         (start_java_method): Reset uniq.  Create base_decl_map.  Set
1004         function_binding_level.
1005         (end_java_method): Null unused fields to save memory.
1006
1007 2004-06-29  Andrew Haley  <aph@redhat.com>
1008
1009         * except.c (expand_start_java_handler): Push a new binding level.
1010         Don't build a TRY_CATCH_EXPR now, we'll do it later.  Call
1011         register_exception_range() to register where we'll do it.
1012         (expand_end_java_handler): Remove old bogus code.  Replace with
1013         new logic that simply builds TRY_CATCH_EXPRs and inserts them at
1014         the top of the expression we're curently building.
1015         (maybe_end_try): Delete.
1016         * decl.c (binding_level.exception_range): New field.
1017         (clear_binding_level): Add field exception_range.  Reformat.
1018         (poplevel): Call expand_end_java_handler().
1019         (poplevel): Call java_add_stmt only if functionbody is false.
1020         (maybe_poplevels): Don't call maybe_end_try() from here.
1021         (end_java_method): Clear no longer used trees in function decl.
1022         (register_exception_range): New function.
1023         * java-tree.h (register_exception_range, struct eh_range): Declare.
1024
1025 2004-06-22  Andrew Haley  <aph@redhat.com>
1026
1027         * class.c (gen_indirect_dispatch_tables): Set the DECL_OWNER of
1028         the otable.
1029         * check-init.c (get_variable_decl): Teach check-init about
1030         FIELD_DECLs addressed via the otable.
1031         * jcf-parse.c (load_class): Check CLASS_LOADED_P, not
1032         CLASS_PARSED_P.
1033
1034 2004-05-28  Andrew Haley  <aph@redhat.com>
1035
1036         * jcf-parse.c (load_class): Don't try to read a class that we've
1037         already read.
1038
1039         * expr.c (build_invokeinterface): Use the old-fashioned way of
1040         doing indirect dispatch: look up interfaces by name.
1041         * java-tree.h (enum java_tree_index): Add
1042         JTI_SOFT_LOOKUPINTERFACEMETHODBYNAME_NODE
1043         * decl.c (java_init_decl_processing): Add
1044         soft_lookupinterfacemethodbyname_node.
1045
1046         * gjavah.c (print_method_info): Final methods have vtable entries,
1047         so gjavah needs to output them.
1048         * class.c (layout_class_method): Generate vtable entries for final
1049         methods.
1050         * parse.y (invocation_mode): Use INVOKE_VIRTUAL for indirect
1051         dispatch, even if a method is final.
1052
1053 2004-05-25  Andrew Haley  <aph@redhat.com>
1054
1055         * class.c (build_symbol_entry): Convert the names of constructors
1056         to init_identifier_node when generating an entry for the indirect
1057         dispatch table.
1058
1059         * expr.c (build_known_method_ref): Generate indirect calls for
1060         all methods marked DECL_EXTERNAL or TREE_PUBLIC.
1061
1062 2004-05-24  Andrew Haley  <aph@redhat.com>
1063
1064         * expr.c (build_known_method_ref): Make sure ARRAY_REF access to
1065         atable element is of the right type.
1066
1067         * class.c (build_static_field_ref): Cast pointer to correct type
1068         for field.
1069
1070 2004-04-20  Bryce McKinlay  <mckinlay@redhat.com>
1071
1072         * Merged with HEAD as of 20040514. Diff against
1073         gcj-abi-2-merge-20040514.
1074
1075 2004-04-16  Andrew Haley  <aph@redhat.com>
1076
1077         * verify.c (check_pending_block): Disable subroutine checks.
1078         (defer_merging): New function.
1079         (merge_types): If types are dummy, use defer_merging to combine them.
1080         (verify_jvm_instructions): If invocation is invokeinterface and
1081         target is dummy, assume target really is an interface.
1082
1083         * parse.y (patch_invoke): Break out call to java_create_object.
1084
1085         * lang.c (flag_verify_invocations): New.
1086
1087         * jcf-parse.c (load_class): If we've already failed to load a
1088         class, don't try again.
1089         (load_class): If we can't find a .class file, don't fail, but emit
1090         a warning.
1091         (parse_class_file): Don't act on dummy methods.
1092
1093         * java-tree.h (flag_verify_invocations): New.
1094         (TYPE_DUMMY): New.
1095         (lang_type.dummy_class): New field.
1096         (java_create_object): New function.
1097         (METHOD_DUMMY): New.
1098
1099         * expr.c (build_field_ref): Widen field offset.
1100         (pop_type_0): If the type in stack_type_map is a TREE_LIST, check
1101         that each of its elements is compatible with the one we're
1102         popping.
1103         (pop_type_0): Issue a warning to say that we need to generate a
1104         runtime check.
1105         (java_create_object): New function.
1106         (build_field_ref): Only generate hard refs if we're not using
1107         indirect dispatch.
1108         (expand_java_field_op): If we're using !verify_invocations and we
1109         see a missing field, generate a decl for it.
1110
1111         (expand_invoke): If a class doesn't have the method we seek and
1112         we're using !flag_verify_invocations, generate a decl for the
1113         method now.
1114
1115         (build_known_method_ref): Always use indirect dispatch via the
1116         atable for static methods.
1117
1118         (expand_java_NEW): Break out object creation into new function,
1119         java_create_object.
1120
1121         (can_widen_reference_to): Issue a warning to say that we need to
1122         generate a runtime check.
1123
1124         * class.c (set_super_info): Inherit TYPE_DUMMY from sureclass.
1125         (make_method_value): Also use index for interfaces.
1126         (make_class_data): Skip dummy field for inherited data.
1127         Don't build method array for dummy methods.
1128         Set size_in_byte to -1 when using inirect dispatch
1129         Don't build a hard class ref if we don't have a hard ref to our
1130         superclass, or if we're using inirect dispatch.
1131         Null out dispatch tables.
1132
1133         (layout_class_method): Don't complain about non-static method
1134         overrides static method is method is artificial.
1135
1136         (build_static_field_ref): Disable atable references to static
1137         fields for the time being.
1138
1139         (layout_class_methods): Check for CLASS_INTERFACE as
1140         well as CLASS_ABSTRACT.
1141
1142 2004-11-24  Steven Bosscher  <stevenb@suse.de>
1143
1144         * class.c (make_class_data): Don't check flag_inline_functions.
1145         * lang.c (flag_really_inline): Remove unused flag.
1146         (java_handle_option): Don't set it here.  Remove special handling
1147         of flag_inline_functions for Java.
1148         (java_init): Don't set flag_inline_trees here.  Already done...
1149         (java_post_options): ...here.  Don't clear flag_inline_functions.
1150
1151 2004-11-24  Steven Bosscher  <stevenb@suse.de>
1152
1153         * java-gimplify.c (java_gimplify_labeled_block_expr): New function.
1154         (java_gimplify_exit_block_expr): New function.
1155         (java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
1156         LABELED_BLOCK_EXPR.
1157         * java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
1158         (EXIT_BLOCK_EXPR): Likewise.
1159         * java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
1160         (LABELED_BLOCK_BODY): Likewise.
1161         (EXIT_BLOCK_LABELED_BLOCK): Likewise.
1162         * jcf-write.c (generate_bytecode_insns): Don't handle the unused
1163         EXIT_BLOCK_RETURN operand.  Use EXIT_BLOCK_LABELED_BLOCK instead of
1164         TREE_OPERAND.
1165         * lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
1166         (java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
1167         EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND.  Don't handle the
1168         second operand of EXIT_BLOCK_EXPR.
1169         * parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
1170         TREE_OPERAND.
1171         (build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
1172
1173 2004-11-23  Ben Elliston  <bje@au.ibm.com>
1174
1175         * xref.h (xref_flag_value): Remove.
1176         (xref_set_data, xref_get_data): Likewise.
1177         (xref_set_current_fp): Likewise.
1178         (XREF_NONE): Likewise.
1179         (XREF_GET_DATA): Likewise.
1180         * xref.c (xref_flag_value): Remove.
1181         (xref_set_data, xref_get_data): Likewise.
1182         (xref_set_current_fp): Likewise.
1183
1184 2004-11-23  Ben Elliston  <bje@au.ibm.com>
1185
1186         * gjavah.c (output_directory): Make static.
1187         (temp_directory): Likewise.
1188
1189 2004-11-15  Tom Tromey  <tromey@redhat.com>
1190
1191         * decl.c (instn_ptr_type_node): Removed.
1192         (lineNumbers_ptr_type_node): Removed.
1193         (jint_type): Removed.
1194         (jint_ptr_type): Removed.
1195
1196 2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
1197
1198         PR java/15576
1199         * check-init.c (check_init): Ignore DECL_EXPR.
1200         * expr.c (always_initialize_class_p): Reenable.
1201         (build_class_init): Use a variable to store the decl.  Also use
1202         boolean_false_node instead of integer_zero_node.
1203         * parse.y (attach_init_test_initialization_flags): Add a decl_expr
1204         to the block.
1205
1206 2004-11-08  Tom Tromey  <tromey@redhat.com>
1207
1208         PR java/16843:
1209         * gjavah.c (HANDLE_END_FIELD): Call print_field_info when
1210         generating a JNI header.
1211         (print_field_info): Handle JNI headers.
1212         (jni_print_float): Likewise.
1213         (jni_print_double): Likewise.
1214
1215 2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
1216
1217         * decl.c (end_java_method): Remove duplicated code.
1218
1219 2004-11-06  Zack Weinberg  <zack@codesourcery.com>
1220             Gerald Pfeifer  <gerald@pfeifer.com>
1221
1222         * lex.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
1223         as well.
1224
1225 2004-11-02  Bryce McKinlay  <mckinlay@redhat.com>
1226
1227         PR java/17265
1228         * class.c: Reinstate 2004-08-18 patch.
1229         (make_local_function_alias): Don't create an alias for extern (native)
1230         functions.
1231
1232 2004-10-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
1233
1234         PR java/17265
1235         * class.c (make_local_function_alias): Revert 2004-08-18 change.
1236         (make_method_value): Likewise.
1237
1238 2004-10-21  Andrew Haley  <aph@redhat.com>
1239
1240         PR java/18091:
1241         * jcf-parse.c (set_source_filename): Add code to build new sfname.
1242
1243 2004-10-20  Andrew Haley  <aph@redhat.com>
1244
1245         * decl.c (end_java_method): Don't expand if flag_syntax_only.
1246         Remove duplicated code block.
1247
1248 2004-10-18  Steven Bosscher  <stevenb@suse.de>
1249
1250         * Make-lang.in (java/parse.o-warn, java/parse-scan.o-warn):
1251         New rules to work around old Bison warnings.
1252
1253 2004-10-17  Steven Bosscher  <stevenb@suse.de>
1254
1255         * class.c (ident_subst): Always alloca buffer.
1256         * java-opcodes.h (LAST_AND_UNUSED_JAVA_OPCODE): Add this dummy
1257         opcode after including javaop.def.
1258         * jcf-dump.c (CHECK_PC_IN_RANGE): Return 0 from the arm of the
1259         conditional expression that exits, to avoid warnings.
1260         * verify.c (CHECK_PC_IN_RANGE): Mark the __GNUC__ definition as
1261         a user of an extension.
1262         * win32-host.c: Move check down to have non-empty file when
1263         WIN32 is not defined.
1264
1265         * Make-lang.in (java-warn): Add STRICT_WARN.
1266         (java/jcf-io.o-warn): Don't have Werror for this file.
1267         * jcf-io.c (caching_stat): Add FIXME for non-POSIX scandir use.
1268
1269 2004-10-16  Hans-Peter Nilsson  <hp@bitrange.com>
1270
1271         * expr.c (expr_add_location): Move declaration to before all
1272         statements.
1273         * parse.y (java_expand_classes): Ditto.
1274         * lex.c (java_peek_unicode): Ditto.
1275
1276 2004-10-16  Ranjit Mathew  <rmathew@hotmail.com>
1277
1278         * check-init.c: Use %<, %> and %q for quoting in diagnostics,
1279         if possible, else convert `foo' to 'foo'.
1280         * class.c: Likewise.
1281         * decl.c: Likewise.
1282         * expr.c: Likewise.
1283         * jcf-io.c: Likewise.
1284         * jcf-parse.c: Likewise.
1285         * lang.c: Likewise.
1286         * lex.c: Likewise.
1287         * parse.h: Likewise.
1288
1289 2004-10-16  Ranjit Mathew  <rmathew@hotmail.com>
1290
1291         * parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and
1292         rename parameter 'msg' to 'msgid' in function declaration.
1293         (issue_warning_error_from_context): Likewise.
1294         (yyerror): Rename parameter 'msg' to 'msgid'.
1295         (all over): Use new quoting style for diagnostics.
1296
1297 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1298
1299         * boehm.c, builtins.c, java-except.h, jcf-io.c, jcf-path.c,
1300         jcf.h, lang-specs.h, lex.c, lex.h, resource.c, win32-host.c:
1301         Update copyright.
1302
1303 2004-10-14  Matt Austern  <austern@apple.com>
1304
1305         * lang.c (java_tree_inlining_walk_subtrees): Last arg is struct
1306         pointer_set_t* now.
1307
1308 2004-10-13  Tom Tromey  <tromey@redhat.com>
1309
1310         PR java/15578:
1311         * lang.opt (--extdirs): Document.
1312         * jvspec.c (lang_specific_driver): Recognize -encoding and
1313         -extdirs.
1314
1315 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
1316
1317         * parse.y (issue_warning_error_from_context): Use va_list *
1318         instead of va_list parameter.
1319         (parse_error_context): Update call.
1320         (parse_warning_context): Likewise.
1321
1322 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
1323
1324         * parse.y, parse-scan.y: Add list of diagnostic messages to
1325         insulate translation template from version of yacc/bison used
1326         to compile the grammar.
1327
1328 2004-10-05  Ranjit Mathew  <rmathew@hotmail.com>
1329
1330         Prepare for %q, %< and %> in diagnostic message strings.
1331         * java-tree.h (parse_error_context): remove ATTRIBUTE_PRINTF_2.
1332         Name second parameter 'msgid'.
1333         * parse.y: Additionally include pretty-print.h and diagnostic.h.
1334         (issue_warning_error_from_context): Use pretty-printer functions
1335         instead of vsprintf for constructing formatted messages. Rename
1336         parameter 'msg' to 'msgid'.
1337         (parse_error_context): Rename parameter 'msg' to 'msgid'.
1338         (parse_warning_context): Likewise.
1339
1340 2004-10-05  Andrew Haley  <aph@redhat.com>
1341
1342         PR java/17779
1343         * jcf-parse.c (parse_zip_file_entries): If a class has a
1344         superclass and a TYPE_SIZE of zero, lay it out.
1345
1346 2004-09-30  Andrew Haley  <aph@redhat.com>
1347
1348         PR java/17733
1349         * jcf-parse.c (compute_class_name): Rewrite.
1350
1351 2004-10-01  Jan Hubicka  <jh@suse.cz>
1352
1353         * java.c (java_expand_body): Update call of tree_rest_of_compilation.
1354
1355 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
1356
1357         * lex.c: Fix a comment typo.
1358
1359 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
1360
1361         * java-tree.h: Fix a comment typo.
1362
1363 2004-09-30  Per Bothner  <per@bothner.com>
1364
1365         Simplify lexer.  Implement --enable-mapped-location support.
1366         * jcf-parse.c (parse_class_file):  Use linemap_line_start.
1367         (parse_source_file_1): Pass filename as extra parameter, so we can call
1368         linemap_add and set input_location here, rather than in both callers.
1369         (read_class): Pass copied filename to parse_source_file_1.
1370         Don't initialize wfl_operator - only needed for source compilation.
1371         (read_class, jcf_parse):  Call linemap_add with LC_LEAVE.
1372         * lex.h:  Remove a bunch of debugging macros.
1373         * lex.h (struct_java_line, struct java_error):  Remove types.
1374         (JAVA_COLUMN_DELTA):  Remove - use java_lexer.next_colums instead.
1375         (struct java_lc_s):  Remove prev_col field.
1376         (struct java_lexer):  New fields next_unicode, next_columns, and
1377         avail_unicode.  New position field, and maybe token_start field.
1378         Don't need hit_eof field - use next_unicode == -1 instead.
1379         (JAVA_INTEGERAL_RANGE_ERROR):  Rename to JAVA_RANGE_ERROR.
1380         (JAVA_RANGE_ERROR, JAVA_FLOAT_ANGE_ERROR):  Update accordingly.
1381         * parse.h:  Various changes for USE_MAPPED_LOCATION.
1382         (EXPR_WFL_EMIT_LINE_NOTE): XXX
1383         (BUILD_EXPR_WFL, EXPR_WFL_ADD_COL): Remove no-longer-used macros.
1384         (struct parser_ctxt):  New file_start_location field.
1385         Remove p_line, c_line fields since we no longer save lines.
1386         Remove elc, lineno, and current_jcf fields - no longer used.
1387         * parse.y:  Updates for USE_MAPPED_LOCATION and new lexer.
1388         Don't use EXPR_WFL_ADD_COL since that isn't trivial with
1389         source_location and is probably not needed anymore anyway.
1390         Use new expr_add_Location function.
1391         (SET_EXPR_LOCATION_FROM_TOKEN):  New convenience macro.
1392         (java_pop_parser_context):  Minor cleanup.
1393         (java_parser_context_save_global, java_parser_context_restore_global,
1394         java_pop_parser_context):  Save/restore input_location as a unit.
1395         (issue_warning_error_from_context):  If USE_MAPPED_LOCATION take
1396         a source_location instead of a wfl context node.
1397         (check_class_interface_creation):  input_filename is not addressable.
1398         (create_artificial_method):  Calling java_parser_context_save_global
1399         and java_parser_context_restore_global is overkill.  Instead,
1400         temporarily set input_location from class decl.
1401         (java_layout_seen_class_methods): Set input_location from method decl.
1402         (fix_constructors): Make more robust if no EXPR_WITH_FILE_LOCATION.
1403         (finish_loop_body):  Likewise.
1404         * lex.c: Updates for USE_MAPPED_LOCATION.  Use build_unknwon_wfl.
1405         (java_sprint_unicode):  Take a character, not index in line.
1406         (java_sneak_uncode):  Replaced by java_peek_unicode.
1407         (java_unget_unicode):  No longer used.
1408         (java_allocate_new_line. java_store_unicode):  Removed, since we
1409         no longer remember "lines".
1410         (java_new_lexer):  Update for new data structures.
1411         (java_read_char):  Move unget_value checking to java_read_unicode.
1412         (java_get_unicode, java_peek_unicode, java_next_unicode): New more
1413         efficient functions that are used directly when lexing.
1414         (java_read_unicode_collapsing_terminators):  No longer needed.
1415         (java_parse_end_comment, java_parse_escape_sequence, do_java_lex):
1416         Re-organize to use java_peek_unicode to avoid java_unget_unicode.
1417         (java_parse_escape_sequence):  Rewrite to be simpler / more efficient.
1418         (do_java_lex):  Lots of movings around to avoid java_unget_unicode,
1419         combine switch branches, and test for common token kinds earlier.
1420         (java_lex_error):  Rewrite.
1421         * jv-scan.c (expand_location): New function, copied from tree.c.
1422         (main): Set ctxp->filename instead of setting input_filename directly.
1423
1424 2004-09-30  Per Bothner  <per@bothner.com>
1425
1426         More cleanup for --enable-mapped-location.
1427         * class.c (push_class):  If USE_MAPPED_LOCATION don't set
1428         input_location here.  Instead do it in give_name_to_class.
1429         (build_class_ref):  Set DECL_ARTIFICIAL, for the sake of dwarf2out.
1430         * expr.c (expand_byte_code): Call linemap_line_start.
1431         * expr.c (build_expr_wfl):  If USE_MAPPED_LOCATION, change final
1432         parameters to a source_location.  Don't need EXPR_WFL_FILENAME_NODE.
1433         (expr_add_location):  New function, if USE_MAPPED_LOCATION.
1434         * class.c (maybe_layout_super_class):  Adjust build_expr_wfl call
1435         to USE_MAPPED_LOCATION case.
1436
1437         * java-tree.h (JAVA_FILE_P, ZIP_FILE_P):  Remove unused macros.
1438         * jcf-parse.c (java_parse_file): Don't set input_filename.
1439         Use IS_A_COMMAND_LINE_FILENAME_P to check for duplicate filenames.
1440         Create a list of TRANSLATION_UNIT_DECL.
1441         (current_file_list):  Is now a TRANSLATION_UNIT_DECL chain.  The
1442         reason is so we can set a DECL_SOURCE_LOCATION for each file.
1443         (java_parse_file):  Don't set unused ZIP_FILE_P, JAVA_FILE_P..
1444         Create line-map LC_ENTER/LC_LEAVE entries for archive itself.
1445         (file_start_location):  New static.
1446         (set_source_filename):  Avoid extra access to input_filename macro.
1447         Concatenate new name with class's package prefix.
1448         (set_source_filename, give_name_to_class): Update.
1449         (give_name_to_class):  Set class's "line 0" input_location here.
1450         (parse_class_file):  Set input_location as a unit.
1451
1452         * jcf-parse.c (load_class): Sanity test if missing inner class file.
1453
1454 2004-09-29  Per Bothner  <per@bothner.com>
1455
1456         * java-tree.h:  Redefine some macros and add some declaration
1457         to handle the USE_MAPPED_LOCATION case.
1458         * parse.h (EXPR_WFL_QUALIFICATION):  Use operand 1, not 2.
1459         * java-tree.h (EXPR_WFL_FILENAME_NODE):  Use operand 2, not 1.
1460         * java-tree.def (EXPR_WITH_FILE_LOCATION): Only need two operands in
1461         USE_MAPPED_LOCATION case, since EXPR_WFL_FILENAME_NODE is gone.
1462
1463         * check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
1464         * decl.c (finish_method, java_add_stmt): Likewise.
1465         * java-gimplify.c (java-gimplify.c):  Likewise.
1466         * jcf-write.c (generate_bytecode_insns):  Likewise.
1467         * lang.c (java_post_options): Likewise - call linemap_add.
1468
1469 2004-09-29  Andrew Haley  <aph@redhat.com>
1470
1471         PR java/17007
1472         * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
1473         result of TRUNC_MOD_EXPR.
1474         (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
1475         * decl.c (java_init_decl_processing): Mark
1476         soft_lookupinterfacemethod_node and soft_instanceof_node pure.
1477
1478 2004-09-28  Tom Tromey  <tromey@redhat.com>
1479
1480         PR java/15710:
1481         * class.c (add_miranda_methods): Load superinterface if not
1482         already loaded.
1483
1484 2004-09-28  Andrew Haley  <aph@redhat.com>
1485
1486         PR java/17586
1487         * jcf-parse.c (load_class): Don't try to read a class that we've
1488         already read.
1489
1490 2004-09-28  Andrew Haley  <aph@redhat.com>
1491
1492         * jcf-parse.c (load_class): Back out previous broken patch.
1493
1494 2004-09-28  Andrew Haley  <aph@redhat.com>
1495
1496         PR java/17586
1497         * jcf-parse.c (load_class): Don't try to read a class that we've
1498         already read.
1499         Check that we really did read the right class.
1500
1501 2004-09-25  Tom Tromey  <tromey@redhat.com>
1502
1503         PR java/17500:
1504         * parse.y (create_artificial_method): Use add_method_1.
1505
1506 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
1507
1508         * expr.c, jcf-dump.c, parse-scan.y, parse.y: Fix
1509         comment typos.
1510         * gcj.texi: Fix typos.
1511
1512 2004-09-24  Tom Tromey  <tromey@redhat.com>
1513
1514         PR java/15656:
1515         * parse.y (class_instance_creation_expression): Set `$$' to NULL
1516         in error parts of rule.
1517         (unary_expression): Don't call error_if_numeric_overflow when $1
1518         is NULL.
1519
1520 2004-09-24  Tom Tromey  <tromey@redhat.com>
1521
1522         PR java/16789:
1523         * parse.y (resolve_qualified_expression_name): Set
1524         CAN_COMPLETE_NORMALLY on first call when chaining static calls.
1525         * expr.c (force_evaluation_order): Check for empty argument list
1526         after stripping COMPOUND_EXPR.
1527
1528 2004-09-23  Andrew Haley  <aph@redhat.com>
1529
1530         PR java/16927:
1531         * parse.y (java_complete_lhs): Call patch_string() on Operand 1 of
1532         COND_EXPRs.
1533
1534 2004-09-23  Tom Tromey  <tromey@redhat.com>
1535
1536         PR java/17329:
1537         * java-gimplify.c (java_gimplify_expr) <SAVE_EXPR>: Ignore case
1538         where operand is null.
1539
1540 2004-09-23  Tom Tromey  <tromey@redhat.com>
1541
1542         PR java/17380:
1543         * parse.y (not_accessible_p): Allow access to protected members
1544         even when class is not static.
1545
1546 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
1547
1548         * Make-lang.in: Revert the gcc-none.o change.
1549
1550 2004-09-22  Nathan Sidwell  <nathan@codesourcery.com>
1551
1552         * parse.y (patch_anonymous_class): VEC_space returns true if there
1553         is space.
1554
1555 2004-09-21  Matt Austern  <austern@apple.com>
1556
1557         Fix bootstrap.
1558         * gjavah.c (free_method_name_list): Fix function definition so
1559         it's a proper C prototype.
1560
1561 2004-09-21  Tom Tromey  <tromey@redhat.com>
1562
1563         PR java/17575:
1564         * gjavah.c (free_method_name_list): New method.
1565         (main): Call it.
1566
1567 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
1568             Zack Weinberg  <zack@codesourcery.com>
1569
1570         * java-tree.def: Use tree_code_class enumeration constants
1571         instead of code letters.
1572         * java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
1573         new tree-class enumeration constants.
1574
1575 2004-09-13  Tom Tromey  <tromey@redhat.com>
1576
1577         PR java/17216:
1578         * class.c (layout_class_method): Put synthetic methods into the
1579         vtable.
1580
1581 2004-09-11  Andrew Pinski  <apinski@apple.com>
1582
1583         * Make-lang.in (java/ggc-none.c): Change dependency
1584         for ggc.h into $(GGC_H).
1585
1586 2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
1587
1588         * Make-lang.in (java/win32-host.o): Add dependency on
1589         coretypes.h.
1590         * win32-host.c: Add includes for coretypes.h, jcf.h
1591
1592 2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
1593
1594         * Make-lang.in (GCJH_OBJS): Change dependency from
1595         ggc-none.o to java/ggc-none.o
1596         (JCFDUMP_OBJS): Likewise.
1597         (java/ggc-none.o): New target.
1598
1599 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
1600
1601         * boehm.c (get_boehm_type_descriptor):  Adjust build_int_cst calls.
1602         * class.c (build_utf8_ref, build_static_field_ref,
1603         make_field_value, make_method_value, get_dispatch_table,
1604         make_class_data, emit_symbol_table, emit_catch_table): Likewise.
1605         * constants.c (get_tag_node, build_ref_from_constant_pool,
1606         build_constants_constructor): Likewise.
1607         * decl.c (java_init_decl_processing): Likewise.
1608         * expr.c (build_java_array_length_access, build_newarray,
1609         expand_java_multianewarray, expand_java_pushc, expand_iinc,
1610         build_java_binop, build_field_ref, expand_java_add_case,
1611         expand_java_call, build_known_method_ref, build_invokevirtual,
1612         build_invokeinterface, build_jni_stub): Likewise.
1613         * java-gimplify.c (java_gimplify_new_array_init): Likewise.
1614         * jcf-parse.c (get_constant): Likewise.
1615         * lex.c (do_java_lex): Likewise.
1616         * parse.y (patch_binop, patch_unaryop, patch_cast,
1617         build_newarray_node, patch_newarray): Likewise.
1618         * resource.c (compile_resource_data): Likewise.
1619         * typeck.c (build_prim_array_type): Likewise.
1620
1621 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
1622
1623         * decl.c (java_init_decl_processing): Adjust
1624         initialize_sizetypes call.
1625
1626 2004-08-23  Nathan Sidwell  <nathan@codesourcery.com>
1627
1628         * jv-scan.c (fancy_abort): Add.
1629
1630 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
1631
1632         * expr.c (build_java_arrayaccess): Use convert to change
1633         len's type.
1634
1635 2004-08-19  Bryce McKinlay  <mckinlay@redhat.com>
1636
1637         * class.c (make_local_function_alias): Allocate extra space for 'L'
1638         in name buffer. Reported by Thomas Neumann.
1639
1640 2004-08-19  Nathan Sidwell  <nathan@codesourcery.com>
1641
1642         * parse.h (JAVA_RADIX10_FLAG): Rename to ...
1643         (JAVA_NOT_RADIX10_FLAG): ... here.  Invert meaning.
1644         * lex.c (do_java_lex): Adjust.
1645         (error_if_numeric_overflow): Likewise.
1646
1647 2004-08-18  Andrew Pinski  <apinski@apple.com>
1648
1649         * class.c (make_local_function_alias): Only make a new decl if we
1650         support alias attribute on all decls.
1651
1652 2004-08-18  Bryce McKinlay  <mckinlay@redhat.com>
1653
1654         * class.c (make_local_function_alias): New function. Create local
1655         alias for public method DECL.
1656         (make_method_value): Use make_local_function_alias.
1657         * parse.y (craft_constructor): Don't special-case anonymous classes.
1658         Always set ctor_name to init_identifier_node.
1659         (lookup_method_invoke): Call layout_class_method when creating
1660         anonymous class constructor.
1661
1662 2004-08-18  Richard Henderson  <rth@redhat.com>
1663
1664         * java-gimplify.c (java_gimplify_expr): Move '2' handling into
1665         default case.  Treat '<' similarly.  Update for
1666         is_gimple_formal_tmp_var name change.
1667
1668 2004-08-17  Andrew Haley  <aph@redhat.com>
1669
1670         * lang.c (lang_printable_name): Obey verbose flag.
1671         * parse.y (constructor_circularity_msg): Set VERBOSE arg for
1672         lang_printable_name().
1673         (verify_constructor_circularity, get_printable_method_name,
1674         check_abstract_method_definitions, java_check_regular_methods,
1675         java_check_abstract_methods, check_inner_class_access,
1676         fix_constructors, patch_method_invocation, patch_return):
1677         Likewise.
1678         * expr.c (pop_type_0): Likewise.
1679
1680         * java-tree.h (lang_printable_name_wls): Delete.
1681
1682 2004-08-16  Tom Tromey  <tromey@redhat.com>
1683
1684         PR java/8473:
1685         * parse.y (primary): Changed for initialized and uninitialized
1686         array creations.
1687         (array_access): Handle array_creation_initialized.
1688         (array_creation_expression): Split into
1689         array_creation_initialized and array_creation_uninitialized.
1690
1691 2004-08-16  Andrew Haley  <aph@redhat.com>
1692
1693         * jcf-write.c (find_constant_index): Canonicalize NaNs when
1694         generating bytecode.
1695
1696 2004-08-16  Elliot Lee <sopwith@redhat.com>
1697
1698         PR java/9677
1699         * jcf-parse.c (java_parse_file): Handle filenames with embedded
1700         spaces, and quoted filelists.
1701
1702 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
1703
1704         * boehm.c (get_boehm_type_descriptor): Use build_int_cst.
1705         * class.c (build_utf8_ref, build_static_field_ref,
1706         make_field_value, make_method_value, get_dispatch_table,
1707         make_class_data, emit_symbol_table, emit_catch_table): Likewise.
1708         * constants.c (get_tag_node,  build_ref_from_constant_pool,
1709         build_constants_constructor): Likewise.
1710         * decl.c (java_init_decl_processing): Likewise.
1711         * expr.c (build_java_array_length_access, build_newarray,
1712         expand_java_multianewarray, expand_java_pushc, expand_iinc,
1713         build_java_binop, build_field_ref, expand_java_add_case,
1714         expand_java_call, build_known_method_ref, build_invokevirtual,
1715         build_invokeinterface, build_jni_stub): Likewise.
1716         * java-gimplify.c (java_gimplify_new_array_init): Likewise.
1717         * jcf-parse.c (get_constant): Likewise.
1718         * lex.c (do_java_lex): Likewise.
1719         * parse.y (patch_binop, patch_unaryop, patch_cast,
1720         build_null_of_type, patch_newarray): Likewise.
1721         * resource.c (compile_resource_data): Likewise.
1722         * typeck.c (build_prim_array_type): Likewise.
1723
1724 2004-08-10  Bryce McKinlay  <mckinlay@redhat.com>
1725
1726         * java-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var.
1727         Don't create BLOCK here or call java_gimplify_block.
1728
1729 2004-08-09  H.J. Lu  <hongjiu.lu@intel.com>
1730
1731         * java-tree.h (flag_deprecated): Removed.
1732         * lang.opt (Wdeprecated): Use existing Var(warn_deprecated).
1733         * parse.y (check_deprecation): Check warn_deprecated instead of
1734         flag_deprecated.
1735
1736 2004-08-06  Kelley Cook  <kcook@gcc.gnu.org>
1737
1738         * lang.c (flag_emit_class_files, flag_filelist_file, flag_redundant,
1739         flag_use_divide_subroutine, flag_use_boehm_gc, flag_store_check,
1740         flag_hash_synchronization, flag_assert, flag_jni, flag_newer,
1741         flag_check_references, flag_extraneous_semicolon, flag_deprecated,
1742         flag_force_classes_archive_check, flag_optimize_sci,
1743         flag_indirect_dispatch): Remove explicit declarations.
1744         * lang.opt: Add implicit declare/define/assign.  Remove obsolete
1745         final comment.
1746
1747 2004-08-05  Michael Chastain  <mec.gnu@mindspring.com>
1748
1749         PR bootstrap/14893
1750         * Make-lang.in (java.install-man): Install from either build
1751         tree or source tree, whichever has the file first.
1752
1753 2004-08-05  Nathan Sidwell  <nathan@codesourcery.com>
1754
1755         * jcf-parse.c (get_constant): Adjust force_fit_type call.
1756         * lex.h (SET_LVAL_NODE_TYPE): Remove.
1757         * lex.c (java_perform_atof): Use SET_LVAL_NODE directly.
1758         (do_java_lex): Likewise. Adjust force_fit_type call.
1759
1760 2004-08-04  Roger Sayle  <roger@eyesopen.com>
1761             Andrew Haley  <aph@redhat.com>
1762
1763         * typeck.c (convert_ieee_real_to_integer): Call fold on the range
1764         checking trees as they're being built.
1765         (convert): Call convert_ieee_real_to_integer if we're
1766         converting a constant, even if we're writing a class file.
1767
1768 2004-08-02  Bryce McKinlay  <mckinlay@redhat.com>
1769
1770         PR java/16701
1771         * parse.y (fold_constant_for_init): Call resolve_field_access with
1772         correct current_class context.
1773
1774 2004-08-01  Roger Sayle  <roger@eyesopen.com>
1775
1776         * decl.c (update_aliases, initialize_local_variable): Replace calls
1777         to build with calls to buildN.
1778         * java-gimplify.c (java_gimplify_modify_expr): Likewise.
1779         * java-tree.h (BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Likewise.
1780         * parse.h (BUILD_THROW): Likewise.
1781         * parse.y (switch_expression, synchronized_statement,
1782         catch_clause_parameter, array_creation_expression,
1783         conditional_expression, make_qualified_name,
1784         resolve_qualified_expression_name, patch_method_invocation,
1785         patch_invoke, build_method_invocation, build_new_invocation,
1786         build_assignment, patch_assignment, build_binop, patch_binop,
1787         build_string_concatenation, build_incdec, patch_unaryop,
1788         patch_cast, build_array_ref, build_newarray_node, patch_newarray,
1789         patch_return, build_if_else_statement, build_labeled_block,
1790         build_new_loop, build_loop_body, build_bc_statement,
1791         build_assertion, encapsulate_with_try_catch, build_try_statement,
1792         build_try_finally_statement, patch_synchronized_statement,
1793         emit_test_initialization): Likewise, replace build with buildN.
1794
1795 2004-07-28  Eric Christopher  <echristo@redhat.com>
1796
1797         * lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
1798         (java_unsafe_for_reeval): Ditto.
1799
1800 2004-07-26    <hp@bitrange.com>
1801
1802         * parse.y (build_super_invocation): Adjust declaration order to
1803         avoid declaration after statement.
1804
1805 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
1806
1807         * decl.c: Rename all identifiers named `class' to `cl'.
1808
1809 2004-07-25  Richard Henderson  <rth@redhat.com>
1810
1811         * decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P.
1812
1813 2004-07-23  Mike Stump  <mrs@apple.com>
1814
1815         * boehm.c (set_bit): Improve type safety wrt unsignedness.
1816         * gjavah.c (throwable_p, decode_signature_piece,
1817         print_full_cxx_name, print_include, add_namelet, add_class_decl,
1818         process_file): Likewise.
1819         * jcf-dump.c (main): Likewise.
1820         * jcf-io.c (read_zip_member): Likewise.
1821         * jcf-parse.c (HANDLE_CONSTANT_Utf8, get_constant,
1822         give_name_to_class, get_class_constant): Likewise.
1823         * jcf-write.c (find_constant_wide, push_long_const,
1824         generate_classfile): Likewise.
1825         * lex.c (java_new_lexer, java_read_char, cxx_keyword_p): Likewise.
1826         * parse.y (read_import_dir): Likewise.
1827         * typeck.c (parse_signature_type): Likewise.
1828         * verify.c (verify_jvm_instructions): Likewise.
1829         * zextract.c (find_zip_file_start, read_zip_archive): Likewise.
1830
1831 2004-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>
1832
1833         * Make-lang.in: Replace rmic and rmiregistry references with
1834         grmic and grmiregistry.
1835         * gcj.texi: Likewise.
1836
1837 2004-07-20  Andrew Haley  <aph@redhat.com>
1838
1839         PR java/16431.
1840         * verify.c (verify_jvm_instructions): Comment change only.
1841
1842         * typeck.c (build_java_array_type): Add size field to array name.
1843
1844         * java-tree.h (LOCAL_SLOT_P): New.
1845         (update_aliases): Add PC argument.
1846         (pushdecl_function_level): New function.
1847
1848         * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
1849         MODIFY_EXPR, and SAVE_EXPR.
1850         (java_gimplify_modify_expr): New function.
1851
1852         * expr.c (push_type_0): Call find_stack_slot() to create temporary.
1853         (expand_iinc): Pass PC to update_aliases().
1854         (STORE_INTERNAL): Likewise.
1855         (process_jvm_instruction): Likewise.
1856
1857         * decl.c (base_decl_map): New variable.
1858         (uniq): New variable.
1859         (update_aliases): Rewrite with more thorough checking.
1860         (debug_variable_p): New function.
1861         (push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
1862         (check_local_named_variable): Delete whole function.
1863         (initialize_local_variable): New function.
1864         (check_local_unnamed_variable): Add checks and comments.
1865         (find_local_variable): Rewrite.
1866         (java_replace_reference): New function.
1867         (function_binding_level): New variable.
1868         (pushdecl_function_level): New function.
1869         (maybe_pushlevels): Set DECL_LOCAL_END_PC.
1870         (maybe_pushlevels): Call pushdecl() on each of the new decls.
1871         (start_java_method): Reset uniq.  Create base_decl_map.  Set
1872         function_binding_level.
1873         (end_java_method): Null unused fields to save memory.
1874
1875 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
1876
1877         * class.c (add_interface_do): Remove.
1878         (set_super_info, interface_of_p, maybe_add_interface,
1879         add_interface, make_class_data, layout_class,
1880         add_miranda_methods): Adjust BINFO accessors and addition.
1881         * expr.c (can_widen_reference_to, lookup_field): Adjust BINFO
1882         accessors.
1883         * jcf-write.c (generate_classfile): Likewise.
1884         * parse.y (patch_anonymous_class, check_inner_circular_reference,
1885         check_circular_reference, java_complete_class,
1886         check_abstract_method_definitions,
1887         java_check_abstract_method_definitions,
1888         check_interface_throws_clauses, java_check_abstract_methods,
1889         lookup_java_interface_method2,
1890         find_applicable_accessible_methods_list): Adjust BINFO accessors
1891         and addition.
1892         * typeck.c (find_method_in_interfaces): Adjust BINFO accessors.
1893
1894 2004-07-18  Roger Sayle  <roger@eyesopen.com>
1895
1896         * builtins.c (max_builtin, min_builtin,
1897         java_build_function_call_expr): Replace calls to build with buildN.
1898         * class.c (build_class_ref, build_static_field_ref,
1899         get_dispatch_table, make_class_data, layout_class_method): Likewise.
1900         * constants.c (build_ref_from_constant_pool): Likewise.
1901         * decl.c (update_aliases, push_jvm_slot, poplevel, finish_method,
1902         add_stmt_to_compound): Likewise.
1903         * except.c (build_exception_object_ref, expand_end_java_handler):
1904         Likewise.
1905         * java-gimplify.c (java_gimplify_case_expr,
1906         java_gimplify_default_expr, java_gimplify_block,
1907         java_gimplify_new_array_init, java_gimplify_try_expr): Likewise.
1908         * jcf-write.c (generate_bytecode_insns): Likewise.
1909         * typeck.c (convert_ieee_real_to_integer): Likewise.
1910
1911 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1912
1913         * java-tree.h (builtin_function): Declare.
1914
1915 2004-07-16  Steven Bosscher  <stevenb@suse.de>
1916
1917         * parse.y (java_complete_expand_methods, java_expand_classes): Don't
1918         abuse restore_line_number_status.
1919
1920 2004-07-15  Frank Ch. Eigler  <fche@redhat.com>
1921
1922         g++/15861
1923         * jcf-parse.c (java_emit_static_constructor): Specify default
1924         priority.
1925
1926 2004-07-13  Per Bothner  <per@bothner.com>
1927
1928         * java-tree.h (all_class_filename):  Remove useless macro.
1929         (enum java_tree_index):  Remove JTI_ALL_CLASS_FILENAME constant.
1930         (BUILD_FILENAME_IDENTIFIER_NODE):  Remove useless macro.
1931         * parse.y (java_parser_context_restore_global):  Replace
1932         BUILD_FILENAME_IDENTIFIER_NODE by plain get_identifier.
1933         * jcf-parse.c (read_class, java_parse_file):  Likewise.
1934
1935 2004-07-12  Bryce McKinlay  <mckinlay@redhat.com>
1936
1937         PR java/16474
1938         gjavah.c (print_field_info): Emit constant only if field is static.
1939
1940 2004-07-11  Roger Sayle  <roger@eyesopen.com>
1941
1942         * expr.c (java_truthvalue_conversion, flush_quick_stack,
1943         java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr,
1944         build_java_ret, build_java_throw_out_of_bounds_exception,
1945         build_java_array_length_access, java_check_reference,
1946         build_java_arrayaccess, build_java_arraystore_check, build_newarray,
1947         build_anewarray, expand_java_multianewarray, expand_java_arraystore,
1948         expand_java_arrayload, build_java_monitor, expand_java_return,
1949         expand_load_internal, expand_java_NEW, build_get_class,
1950         build_instanceof, expand_java_CHECKCAST, expand_iinc,
1951         build_java_soft_divmod, build_java_binop, build_field_ref,
1952         expand_compare, expand_java_goto, expand_java_switch,
1953         expand_java_add_case, build_class_init, build_known_method_ref,
1954         invoke_build_dtable, build_invokevirtual, build_invokeinterface,
1955         expand_invoke, build_jni_stub, expand_java_field_op,
1956         java_expand_expr, expand_byte_code, STORE_INTERNAL,
1957         force_evaluation_order, emit_init_test_initialization): Convert
1958         calls to "build" into calls to the prefered "buildN" functions.
1959
1960 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
1961
1962         * java-tree.h (set_block): Remove.
1963         * lang.c (java_clear_binding_stack): New.
1964         (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
1965         * decl.c (struct binding_level): Remove this_block.
1966         (clear_binding_level): Likewise.
1967         (poplevel): Don't handle this_block.
1968         (set_block): Remove.
1969
1970 2004-07-10  Bryce McKinlay  <mckinlay@redhat.com>
1971
1972         * class.c (common_enclosing_context_p): Remove statement with no
1973         side-effects.
1974
1975 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
1976
1977         PR java/8618
1978         * parse.y (create_anonymous_class): Remove 'location' argument. Use
1979         the WFL from TYPE_NAME to get line number for the decl. Fix comment.
1980         (craft_constructor): Inherit access flags for implicit constructor
1981         from the enclosing class.
1982         (create_class): Fix comment typo.
1983         (resolve_qualified_expression_name): Pass type of qualifier to
1984         not_accessible_p, not the type in which target field was found.
1985         (not_accessible_p): Handle inner classes. Expand protected
1986         qualifier-subtype check to enclosing instances, but don't apply this
1987         check to static members. Allow protected access to inner classes
1988         of a subtype. Allow private access within common enclosing context.
1989         (build_super_invocation): Get WFL line number info from current
1990         class decl.
1991         (build_incomplete_class_ref): Update for new create_anonymous_class
1992         signature.
1993         * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Use
1994         common_enclosing_instance_p.
1995         * class.c (common_enclosing_context_p): New. Determine if types
1996         share a common enclosing context, even across static contexts.
1997         (common_enclosing_instance_p): Renamed from
1998         common_enclosing_context_p. Determines if types share a common
1999         non-static enclosing instance.
2000         * java-tree.h (common_enclosing_instance_p): Declare.
2001         * jcf-write.c (get_method_access_flags): New. Surpress private flag
2002         for inner class constructors.
2003         (generate_classfile): Use get_method_access_flags.
2004
2005 2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>
2006
2007         * class.c (interface_of_p): Check for null TYPE_BINFO.
2008
2009 2004-07-09  Nathan Sidwell  <nathan@codesourcery.com>
2010
2011         * class.c (make_class): Do not create binfo here.
2012         (set_super_info): Create it here.
2013         * java-tree.h (CLASS_HAS_SUPER): Cope with lack of a binfo.
2014
2015 2004-07-08  Richard Henderson  <rth@redhat.com>
2016
2017         * expr.c (case_identity, get_primitive_array_vtable,
2018         java_expand_expr, emit_init_test_initialization): Remove.
2019         * java-tree.h (java_expand_expr): Remove.
2020         * lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
2021
2022 2004-07-07  Per Bothner  <per@bothner.com>
2023
2024         * class.c (build_static_field_ref):  Add a NOP_EXPR; otherwise we
2025         get internal error due to mismatched types.
2026
2027         * gcj.texi (Invoking gij):  Document new -verbose:class flag.
2028
2029         * gcj.texi (Linking):   New node.  Document -lgij usage.
2030
2031 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
2032
2033         * java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
2034         (TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
2035         * java/class.c (set_super_info, class_depth, interface_of_p,
2036         maybe_add_interface, add_interface, make_class_data,
2037         layout_class, add_miranda_methods): Adjust BINFO macros.
2038         * expr.c (can_widen_reference_to, lookup_field): Likewise.
2039         * jcf-write.c (generate_classfile): Likewise.
2040         * parse.y (patch_anonymous_class,
2041         check_inner_circular_reference, check_circular_reference,
2042         java_complete_class, check_abstract_method_definitions,
2043         java_check_abstract_method_definitions,
2044         check_interface_throws_clauses, java_check_abstract_methods,
2045         lookup_java_interface_method2,
2046         find_applicable_accessible_methods_list): Likewise.
2047         * typeck.c (find_method_in_interface): Likewise.
2048         * verify.c (merge_types): Likewise.
2049
2050 2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
2051
2052         * java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
2053         * class.c (add_interface_do): Use BINFO_VIRTUAL_P.
2054
2055 2004-07-05  Nathan Sidwell  <nathan@codesourcery.com>
2056
2057         * class.c (make_class): Use make_tree_binfo.
2058         (set_super_info, add_interface_do): Likewise.
2059         * java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.
2060
2061 2004-07-04  Ranjit Mathew  <rmathew@hotmail.com>
2062
2063         * verify.c: Correct array element access formatting thinko.
2064
2065 2004-07-04  Ranjit Mathew  <rmathew@hotmail.com>
2066
2067         * verify.c: Insert a short blurb at the start referring to the JVMS.
2068         (merge_type_state): Remove redundant nested if statement.
2069         (verify_jvm_instructions): Ensure current_subr is initialised to
2070         NULL_TREE.
2071         Minor formatting fixes all over the place.
2072
2073 2004-07-02  Richard Henderson  <rth@redhat.com>
2074
2075         * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
2076
2077 2004-07-01  Richard Henderson  <rth@redhat.com>
2078
2079         * class.c (registerClass_libfunc): Remove.
2080         (init_class_processing): Don't set it.
2081         (emit_register_classes): Take list_p parameter.  Fill it in
2082         with _Jv_RegisterClass calls.
2083         * decl.c (java_init_decl_processing): Don't call
2084         init_resource_processing.
2085         * jcf-parse.c (java_emit_static_constructor): New.
2086         (java_parse_file): Call it.
2087         * resource.c (registerResource_libfunc): Remove.
2088         (init_resource_processing): Remove.
2089         (write_resource_constructor): Take list_p parameter.  Fill it in
2090         with _Jv_RegisterResource calls.
2091         * java-tree.h: Update prototypes.
2092
2093 2004-06-29  Bryce McKinlay  <mckinlay@redhat.com>
2094
2095         PR java/1262
2096         * class.c (layout_class_method): Do not override package-private
2097         method if its in a different package.
2098         (split_qualified_name): Move here from parse.y. Rename from
2099         breakdown_qualified. Add comment.
2100         (in_same_package): Move here from parse.y. Add comment.
2101         * java-tree.h (break_down_qualified, in_same_package): Declare.
2102         (in_same_package): Likewise.
2103         * parse.y (breakdown_qualified, in_same_package): Moved to class.c.
2104         Callers updated.
2105
2106 2004-06-29  Andrew Haley  <aph@redhat.com>
2107
2108         * except.c (expand_start_java_handler): Push a new binding level.
2109         Don't build a TRY_CATCH_EXPR now, we'll do it later.  Call
2110         register_exception_range() to register where we'll do it.
2111         (expand_end_java_handler): Remove old bogus code.  Replace with
2112         new logic that simply builds TRY_CATCH_EXPRs and inserts them at
2113         the top of the expression we're curently building.
2114         (maybe_end_try): Delete.
2115         * decl.c (binding_level.exception_range): New field.
2116         (clear_binding_level): Add field exception_range.  Reformat.
2117         (poplevel): Call expand_end_java_handler().
2118         (poplevel): Call java_add_stmt only if functionbody is false.
2119         (maybe_poplevels): Don't call maybe_end_try() from here.
2120         (end_java_method): Clear no longer used trees in function decl.
2121         (register_exception_range): New function.
2122         * java-tree.h (register_exception_range, struct eh_range): Declare.
2123
2124 2004-06-28  Bryce McKinlay  <mckinlay@redhat.com>
2125
2126         * jcf-write.c (get_classfile_modifiers): Formatting fixes.
2127
2128 2004-06-27  Ranjit Mathew  <rmathew@hotmail.com>
2129
2130         Formatting fixes.
2131         * expr.c (class_has_finalize_method): Fix method name indentation.
2132         (expand_java_call): Remove K&R style parameter declaration.
2133         (expand_invoke): Fix statement indentation.
2134         (expand_java_field_op): Likewise.
2135         * parse-scan.y: Fix typo.
2136         (reset_report): Fix method name indentation.
2137         * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
2138         line. Fix typos.
2139         * verify.c (verify_jvm_instructions): Document parameters, insert
2140         page break.
2141         * lang.c (lang_init_source): Fix method name indentation.
2142         * class.c (common_enclosing_context_p): Likewise.
2143         (emit_symbol_table): Fix parameter list indentation.
2144         * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
2145         parameter declaration.
2146         * constants.c: Fix copyright notice indentation.
2147         * typeck.c (find_method_in_superclasses): Fix parameter list
2148         indentation.
2149         (find_method_in_interfaces): Likewise.
2150         * zextract.c (makelong): Fix method name indentation.
2151
2152 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
2153
2154         PR java/15715.
2155         * parse.y (create_interface): Set correct access modifiers for
2156         interfaces.
2157         * jcf-write.c (get_classfile_modifiers): New function.
2158         (generate_classfile): Use get_classfile_modifiers, not
2159         get_access_flags.
2160
2161 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
2162
2163         * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
2164         dependency to current parser context, not NULL_TREE, for top-level
2165         classes.
2166         (jdep_resolve_class): Enable member access check for all inner
2167         class dependencies.
2168
2169 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
2170
2171         * parse.y (qualify_and_find): Pass type decl, not identifier, to
2172         load_class.
2173
2174 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
2175
2176         PR java/15734
2177         * expr.c (expand_java_field_op): Ensure that target class for static
2178         field access has been loaded.
2179
2180 2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>
2181             Ranjit Mathew  <rmathew@hotmail.com>
2182
2183         PR java/1207, java/16178
2184         * jcf-parse.c (load_class): Return immediately if passed a type decl
2185         where CLASS_FROM_SOURCE_P is set. Remove FIXME.
2186         * parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P
2187         before calling load_class.
2188         (qualify_and_find): Likewise.
2189         (find_in_imports_on_demand): Likewise.
2190         (find_applicable_accessible_methods_list): Likewise.
2191
2192 2004-06-24  Bryce McKinlay  <mckinlay@redhat.com>
2193
2194         * parse.y (java_layout_seen_class_methods): Don't call load_class
2195         on class defined by source parser.
2196
2197 2004-06-23  Bryce McKinlay  <mckinlay@redhat.com>
2198
2199         * parse.y (set_nested_class_simple_name_value): Removed.
2200         (java_complete_expand_class): Remove calls to
2201         set_nested_class_simple_name_value.
2202
2203 2004-06-22  Andrew Haley  <aph@redhat.com>
2204             Ranjit Mathew  <rmathew@hotmail.com>
2205
2206         Fixes PR java/16113.
2207         * decl.c (force_poplevels): Remove call to expand_end_bindings.
2208
2209 2004-06-22  Ranjit Mathew  <rmathew@hotmail.com>
2210
2211         * parse.y (create_class): Correct diagnostic message about
2212         java.lang.Object extending anything else.
2213
2214 2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2215
2216         * class.c (build_class_ref): Add new operand for COMPONENT_REF.
2217         (build_static_field_ref): Likewise and add new operands for ARRAY_REF.
2218         * constants.c (build_ref_from_constant_pool): Likewise.
2219         * expr.c (build_java_array_length_access): Likewise.
2220         (build_get_class, build_field_ref, build_known_method_ref): Likewise.
2221         (invoke_build_dtable, build_invokevirtual): Likewise.
2222         (build_invokeinterface, java_expand_expr): Likewise.
2223         (emit_init_test_initialization): Likewise.
2224         * java-gimplify.c (java_gimplify_new_array_init): Likewise.
2225         * parse.y (make_qualifed_name, build_array_ref): Likewise.
2226
2227 2004-06-21  Andrew Haley  <aph@redhat.com>
2228
2229         * java-gimplify.c (java_gimplify_block): set TREE_USED on the new
2230         block.
2231
2232 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
2233
2234         * jcf.h (struct JCF): Change java_source, right_zip and finished
2235         to unsigned int.
2236         * lex.h (struct java_lexer): Change hit_eof, read_anything,
2237         byte_swap and use_fallback to unsigned int.
2238         * parse.h (struct _jdep): Change flag0 to unsigned int.
2239
2240 2004-06-17  Ranjit Mathew  <rmathew@hotmail.com>
2241
2242         Fixes PR java/13948
2243         * parse.y (java_layout_seen_class_methods): Ensure class is loaded
2244         before trying to lay out its methods.
2245         * jcf-parse.c (read_class): Track parsed files using canonical paths
2246         obtained via lrealpath from libiberty.
2247         (java_parse_file): Likewise.
2248         (parse_source_file_1): Rename formal parameter to reflect its
2249         modified purpose. Minor formatting fix.
2250
2251 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
2252
2253         * class.c (emit_register_classes): Make the function uninlinable,
2254         do not set current_function_cannot_inline.
2255         * resource.c (write_resource_constructor): Do not reset
2256         flag_inline_functions around rest_of_compilation.
2257
2258 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
2259
2260         PR java/15769
2261         * expr.c (java_truthvalue_conversion): Handle
2262         UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
2263         ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
2264         i.e. return the expression.
2265
2266 2004-06-03 Mark G. Adams  <mark.g.adams@sympatico.ca>
2267
2268         * gjavah.c: Include version.h
2269
2270 2004-05-31  Bryce McKinlay  <mckinlay@redhat.com>
2271
2272         * jcf-write.c (generate_bytecode_conditional): Correct handling
2273         of unordered conditionals. Add comment.
2274
2275 2004-05-29  Ranjit Mathew  <rmathew@hotmail.com>
2276             Per Bothner  <per@bothner.com>
2277
2278         * java-tree.h (DECL_LOCAL_FINAL_IUD): New macro to test if a
2279         local variable was initialised upon declaration.
2280         * parse.y (declare_local_variables): Set DECL_LOCAL_FINAL_IUD if
2281         variable was final and initialised upon declaration.
2282         * check-init.c (check_final_reassigned): Give error only if a blank
2283         final is not definitely unassigned or if an initialised final is
2284         reassigned.
2285         (check_bool_init): Respect JLS2 16.1.7 requirements for boolean
2286         assignment expressions. Remove case MODIFY_EXPR, label do_default.
2287         (check_init): Perform initialised-variable-removing-optimisation
2288         only on non-final local variables.
2289
2290 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
2291
2292         * jcf-write.c (generate_bytecode_conditional): Handle binops
2293         UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
2294         and LTGT_EXPR.
2295         (generate_bytecode_insns): Likewise.
2296
2297 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
2298
2299         * check-init.c (check_init): Handle binops UNLT_EXPR, UNLE_EXPR,
2300         UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, and LTGT_EXPR.
2301
2302 2004-05-28  Bryce McKinlay  <mckinlay@redhat.com>
2303
2304         * gcj.texi (Object allocation): Remove _Jv_AllocBytes.
2305         (Mixing with C++): Document JvAllocBytes and RawDataManaged.
2306
2307 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
2308
2309         * decl.c (struct binding_level): Add GTY marker. Compile
2310         binding_depth unconditionally.
2311         (current_binding_level, free_binding_level, global_binding_level):
2312         Likewise.
2313         (clear_binding_level): Unconditionally set binding_depth.
2314         (make_binding_level): Use ggc_alloc_cleared, not xmalloc.
2315
2316 2004-05-26  Bryce McKinlay  <mckinlay@redhat.com>
2317
2318         * lex.c (java_new_lexer): Set 'encoding'.
2319         (java_read_char): Improve error message for unrecognized characters.
2320         * lex.h (struct java_lexer): New field 'encoding'.
2321
2322 2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
2323
2324         * Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
2325
2326 2004-05-21  Mark Wielaard  <mark@klomp.org>
2327
2328         * gjavah.c (print_stub_or_jni): Mark functions only JNIEXPORT, not
2329         extern.
2330
2331 2004-05-19  Paolo Bonzini  <bonzini@gnu.org>
2332
2333         * typeck.c: Remove non-printable character 160.
2334
2335 2004-05-17  Ranjit Mathew  <rmathew@hotmail.com>
2336
2337         * check-init.c: Correct minor typos.
2338
2339 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
2340
2341         * Make-lang.in, expr.c, java-gimplify.c: Rename
2342         tree-simple.[ch] to tree-gimple.[ch].
2343
2344 2004-05-14  Ranjit Mathew  <rmathew@hotmail.com>
2345
2346         * java-gimplify.c (java_gimplify_expr): Correct minor typos.
2347
2348 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
2349
2350         Merge from tree-ssa-20020619-branch.  See
2351         ChangeLog.tree-ssa for details.
2352
2353         * Make-lang.in, builtins.c, check-init.c, class.c,
2354         constants.c, decl.c, except.c, expr.c, java-except.h,
2355         java-tree.def, java-tree.h, jcf-parse.c, jcf-write.c,
2356         lang.c, lang.opt, parse.y, resource.c: Merged.
2357         * java-gimplify.c: New file.
2358
2359 2004-05-10  Andrew Haley  <aph@redhat.com>
2360
2361         * parse.y (create_class): Set TYPE_VFIELD.
2362         * decl.c (java_init_decl_processing): Likewise.
2363
2364         * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
2365         * class.c (make_method_value): Replace DECL_VINDEX with call to
2366         get_method_index().
2367         (get_dispatch_vector): Likewise.
2368         (layout_class_method): Likewise.
2369         Replace set of DECL_VINDEX with call to set_method_index().
2370         (set_method_index): New function.
2371         (get_method_index): New function.
2372         * java-tree.h (set_method_index): New function decl.
2373         (get_method_index): New function decl.
2374
2375 2004-05-10  Andrew Pinski  <pinskia@physics.uc.edu>
2376
2377         * parse.y (check_pkg_class_access): Add new argument
2378         and use it when cl is NULL to call lookup_cl on it.
2379         (parser_check_super_interface): Do not call lookup_cl.
2380         Pass this_decl to check_pkg_class_access and NULL
2381         instead of lookup_cl.
2382         (parser_check_super): Update for change in
2383         check_pkg_class_access.
2384         (do_resolve_class): Likewise.
2385         (process_imports): Likewise.
2386         (find_in_imports_on_demand): Likewise.
2387         (resolve_qualified_expression_name): Likewise.
2388
2389 2004-05-06  Ranjit Mathew  <rmathew@hotmail.com>
2390
2391         Fixes PR java/9685, PR java/15073
2392         * parse.y (accessibility_string): New method.
2393         (not_accessible_field_error): Use accessibility_string()
2394         instead of java_accstring_lookup().
2395         (resolve_qualified_expression_name): Check with
2396         check_pkg_class_access() before allowing access using
2397         qualified names.
2398         Fix comment typo.
2399         Use check_pkg_class_access() instead of not_accessible_p()
2400         for unqualified types.
2401         (not_accessible_p): Use DECL_CONTEXT (member) instead of
2402         REFERENCE for package-private access checking.
2403         (patch_method_invocation): Use accessibility_string() instead
2404         of java_accstring_lookup().
2405
2406 2004-04-30  Ranjit Mathew  <rmathew@hotmail.com>
2407
2408         Fixes PR java/15133
2409         * gjavah.c (struct method_name): Add member is_native.
2410         (overloaded_jni_method_exists_p): Match candidate method only if
2411         it is native.
2412         (print_method_info): Initialise is_native flag from the method's
2413         access flags.
2414
2415 2004-04-30  Roger Sayle  <roger@eyesopen.com>
2416
2417         * builtins.c (java_builtins): Add acos, asin, ceil and floor.
2418         (initialize_builtins): Likewise, define acos, asin, ceil and floor.
2419
2420 2004-04-22  Roger Sayle  <roger@eyesopen.com>
2421
2422         * resource.c (write_resource_constructor): Guard call to possibly
2423         NULL targetm.asm_out.constructor with targetm.have_ctors_dtors.
2424
2425 2004-04-19  Bryce McKinlay  <mckinlay@redhat.com>
2426
2427         * class.c (make_class_data): Add new field aux_info.
2428         * decl.c (java_init_decl_processing): Push type and decl for
2429         `aux_info'.
2430
2431 2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>
2432
2433         * expr.c (expand_java_NEW): Don't use size argument for
2434         _Jv_AllocObject calls.
2435         * parse.y (patch_invoke): Likewise.
2436
2437 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
2438
2439         * expr.c (build_invokeinterface): Remove unused variables to
2440         fix warnings.
2441
2442 2004-04-12  Bryce McKinlay  <mckinlay@redhat.com>
2443
2444         * class.c (get_interface_method_index): New function. Return dispatch
2445         index for interface method.
2446         (make_method_value): For interface methods, set index field to
2447         iface dispatch index, not DECL_VINDEX.
2448         * expr.c (build_invokeinterface): Use get_interface_method_index.
2449
2450 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2451
2452         * jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
2453
2454 2004-03-31  Andrew Haley  <aph@redhat.com>
2455
2456         PR java/14104
2457         * jcf-io.c (opendir_in_zip): Tidy up error handling.
2458
2459 2004-03-30  Zack Weinberg  <zack@codesourcery.com>
2460
2461         * builtins.c, expr.c, jcf.h, parse.h: Use new shorter
2462         form of GTY markers.
2463
2464 2004-03-25  Marcus Meissner  <meissner@suse.de>
2465
2466         PR java/14689:
2467         * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
2468
2469 2004-03-23  Tom Tromey  <tromey@redhat.com>
2470
2471         PR java/14315:
2472         * jcf-write.c (make_class_file_name): Don't report if mkdir
2473         failed with EEXIST.
2474
2475 2004-03-23  Tom Tromey  <tromey@redhat.com>
2476
2477         * gcj.texi (Extensions): Document GCJ_PROPERTIES.
2478
2479 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
2480
2481         * class.c, gjavah.c, lang.c: Fix comment typos.
2482         * gcj.texi: Fix typos.
2483
2484 2004-03-19  Per Bothner  <per@bothner.com>
2485
2486         * gcj.texi (Code Generation):  Document new flags and assert defaults.
2487
2488         * class.c (assume_compiled_node_struct):  Rename type to
2489         class_flag_node_struct, as it is now also used for enable_assertions.
2490         Rename assume_compiled_node typedef.  Rename excludep field to value.
2491         (find_assume_compiled_node):  Rename function to find_class_flag_node.
2492         Minor optimization - avoid needless strlen.
2493         (add_assume_compiled):  Some tweaking and optimization.
2494         Rename and generalize to add_class_flag takem an extra parameter.
2495         (add_assume_compled):  New just calls add_class_flag.
2496         (add_enable_assert, enable_assertions):  New functions.
2497         (enable_assert_tree):  New static.
2498         * java-tree.h (add_enable_assert, enable_assertions): New declarations.
2499         * lang.opt (fenable-assertions, fenable-assertions=,
2500         fdisable-assertions, fdisable-assertions=):  New options.
2501         * lang.c (java_handle_option):  Handle new options.
2502         * parse.y (build_incomplete_class_ref):  Handle class$ in an inner
2503         class in an interface - create helper class nested in outer interface.
2504         (build_assertion):  Short-circuit if enable_assertions is false.
2505
2506 2004-03-18  Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2507
2508         * java-tree.h: Changes throughout to add checking to macros
2509         and numerous whitespace changes.
2510         (VAR_OR_FIELD_CHECK): New macro.
2511         * jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC,
2512         FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL.
2513
2514 2004-03-16  Per Bothner  <per@bothner.com>
2515
2516         * jcf-jump.c (options):  New --print-constants option.
2517         * gcj.texi (Invoking jcf-dump):  Document --print-constants.
2518
2519         * jcf-dump.c (flag_print_constant_pool):  Default to off.
2520         (print_constant_terse_with_index):  New helper function.
2521         (various places):  Check flag_print_constant_pool where missing.
2522         (main):  If verbose set flag_print_constant_pool.
2523         (HANDLE_INNERCLASSES_ATTRIBUTE):  Null inner class name is anonymous.
2524
2525 2004-03-15  Andrew Haley  <aph@redhat.com>
2526
2527         PR java/14581
2528         * parse.y (java_complete_lhs): Check that final variable has an
2529         initializer.
2530
2531 2004-03-12  Andrew Haley  <aph@redhat.com>
2532
2533         PR java/14551
2534         * typeck.c (convert): Clear TREE_OVERFLOW after an integer
2535         conversion.
2536
2537 2004-02-29  Roger Sayle  <roger@eyesopen.com>
2538
2539         * jcf-parse.c (java_parse_file): Handle the case that input_filename
2540         is NULL.
2541
2542 2004-02-27  Per Bothner  <per@bothner.com>
2543
2544         * parse.y (build_assertion):  Re-do 02-25 change following Jeff Sturm
2545         suggestion:  Use build_incomplete_class_ref.
2546         This fixes PR java/13508, java/11714.
2547
2548 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
2549
2550         * java/parse.h: Update copyright.
2551
2552 2004-02-26  Andrew Haley  <aph@redhat.com>
2553
2554         PR java/14231:
2555         * parse.y (check_interface_throws_clauses): Check for
2556         !METHOD_INVISIBLE (iface_method).
2557         * class.c (layout_class_methods): Check for CLASS_INTERFACE as
2558         well as CLASS_ABSTRACT.
2559
2560 2004-02-25  Per Bothner  <per@bothner.com>
2561
2562         * parse.y (build_assertion):  If we're in an inner class, create the
2563         class$ helper routine in the outer class.
2564
2565 2004-02-19  Richard Henderson  <rth@redhat.com>
2566
2567         * parse.y (switch_label): Use make_node for DEFAULT_EXPR.
2568
2569 2004-02-16  Geoffrey Keating  <geoffk@apple.com>
2570
2571         * Make-lang.in (java.install-man): Add extra dependencies.
2572
2573 2004-02-13  Geoffrey Keating  <geoffk@apple.com>
2574
2575         * Make-lang.in: Install man pages under the same names
2576         (possibly transformed) as the program they document.
2577
2578 2004-02-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2579
2580         * gjavah.c: Include "intl.h".
2581         (error): New function.
2582         (main): Call gcc_init_libintl.
2583         (get_field_name, throwable_p, print_c_decl, print_full_cxx_name,
2584         print_stub_or_jni, process_file, main): Use error rather than
2585         fprintf.
2586         (print_method_info, usage, help, version, main): Mark strings for
2587         translation with _.  Avoid splitting up sentences.  Send
2588         information messages to stdout.
2589         * jcf-dump.c: Include "intl.h".
2590         (main): Call gcc_init_libintl.
2591         (process_class, usage, help, version, main, CHECK_PC_IN_RANGE):
2592         Mark error, usage and version messages for translation with _.
2593         Avoid splitting up sentences.
2594         * jv-scan.c: Include "intl.h".
2595         (fatal_error, warning): Change parameter s to msgid.  Translate
2596         messages.
2597         (main): Call gcc_init_libintl.
2598         (usage, help, version): Mark error, usage and version messages for
2599         translation with _.  Avoid splitting up sentences.
2600         * jvgenmain.c: Include "intl.h".
2601         (main): Call gcc_init_libintl.
2602         (usage, main): Mark error messages for translation with _.
2603         * Make-lang.in (GCJH_OBJS, JVSCAN_OBJS, JCFDUMP_OBJS,
2604         JVGENMAIN_OBJS): Add intl.o.
2605         (java/jcf-dump.o, java/gjavah.o, java/jv-scan.o,
2606         java/jvgenmain.o): Update dependencies.
2607
2608 2004-02-08  Per Bothner  <per@bothner.com>
2609
2610         * parse.y (resolve_qualified_expression_name):  In case of inaccessible
2611         class don't use not_accessible_field_error, which can get confused.
2612
2613 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
2614
2615         Make-lang.in (po-generated):  Delete.
2616
2617 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
2618
2619         * Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
2620         Depend on target.h.
2621         * decl.c: Include target.h.
2622         (start_java_method): Replace PROMOTE_PROTOTYPES with
2623         targetm.calls.promote_prototypes.
2624         * expr.c: Include target.h.
2625         (pop_arguments): Replace PROMOTE_PROTOTYPES with
2626         targetm.calls.promote_prototypes.
2627         * parse.y: Include target.h.
2628         (start_complete_expand_method): Replace PROMOTE_PROTOTYPES
2629         with targetm.calls.promote_prototypes.
2630
2631 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
2632
2633         * typeck.c: Update copyright.
2634
2635 2004-02-02  Tom Tromey  <tromey@redhat.com>
2636
2637         * decl.c (java_init_decl_processing): Remove duplicate
2638         gnu/gcj/RawData.
2639
2640 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
2641
2642         * Make-lang.in (doc/gcj.dvi): Use $(abs_docdir).
2643
2644 2004-01-28  Andrew Pinski  <pinskia@physics.uc.edu>
2645
2646         * expr.c (build_field_ref): Move variable
2647         definition up.
2648
2649 2004-01-28  Andrew Haley  <aph@redhat.com>
2650
2651         * expr.c (build_field_ref): Widen field offset.
2652
2653 2004-01-27  Andrew Haley  <aph@redhat.com>
2654
2655         java/13273
2656         * parse.y (check_interface_throws_clauses): Make sure class_decl
2657         has been loaded.
2658
2659 2004-01-22  Jeff Sturm  <jsturm@one-point.com>
2660
2661         PR java/13733
2662         * parse.y (patch_assignment): Don't modify lhs_type for
2663         reference assignments.
2664
2665 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
2666
2667         * Make-lang.in: Replace $(docdir) with doc.
2668         (java.info, java.srcinfo, java.man, java.srcman): New rules.
2669         (java.install-man): Revamp rule.
2670
2671 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
2672
2673         * Make-lang.in (JAVA_INSTALL_NAME, JAVA_TARGET_INSTALL_NAME,
2674         GCJH_TARGET_INSTALL_NAME): Define via a immediate $(shell)
2675         instead of deferred backquote.
2676
2677 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
2678
2679         * typeck.c (find_method_in_interfaces): Move variable
2680         definition up.
2681
2682 2004-01-16  Andrew Haley  <aph@redhat.com>
2683
2684         PR java/13273:
2685         * typeck.c (shallow_find_method): New.
2686         (find_method_in_superclasses): New.
2687         (find_method_in_interfaces): New.
2688         (lookup_do): Rewrite.
2689         * java-tree.h (SEARCH_ONLY_INTERFACE): Delete.
2690
2691         * jcf-parse.c (read_class): Save and restore output_class.
2692         * decl.c (java_expand_body): Set output_class from fndecl.
2693
2694 2004-01-15  Michael Chastain  <mec.gnu@mindspring.com>
2695
2696         * class.c (gen_indirect_dispatch_tables): Fix string length
2697         calculations.
2698
2699 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
2700
2701         * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
2702         (java.srcextra): Copy above back to source directory if requested.
2703         (po-generated): Delete reference to $(parsedir).
2704         (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
2705         Use implicit rule.
2706
2707 2004-01-14  Jan Hubicka  <jh@suse.cz>
2708
2709         * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
2710         estimation.
2711
2712 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
2713
2714         * java-tree.h (java_expand_expr): Change prototype.
2715         * expr.c (java_expand_expr): Add alt_rtl parameter.
2716
2717 2004-01-09  Andrew Haley  <aph@redhat.com>
2718
2719         PR java/12755:
2720         * parse.y (java_fix_constructors):  Set output_class.
2721         (java_reorder_fields): Likewise.
2722         (java_layout_classes): Likewise.
2723         (java_expand_classes): Generate indirect dispatch tables.
2724         (java_expand_classes): Set output_class.
2725         (java_finish_classes): Likewise.
2726         * lang.c (java_init): Turn on always_initialize_class_p if we're
2727         using indirect dis[atch.
2728         (java_decl_ok_for_sibcall): Use output_class, not current_class.
2729         (java_get_callee_fndecl): Use class local atable.
2730         * jcf-parse.c
2731         (always_initialize_class_p): Decl moved to java-tree.h.
2732         (HANDLE_CLASS_INFO): Set output_class.
2733         (read_class): Likewise.
2734         (parse_class_file): Call gen_indirect_dispatch_tables.
2735         (parse_zip_file_entries): Set output_class.
2736         (java_parse_file): Set output_class.  Don't emit symbol tables.
2737         * java-tree.h (output_class): New.
2738         Remove global declarations for otable, atable, and ctable.
2739         (always_initialize_class_p): moved here from decl.c.
2740         (DECL_OWNER): New.
2741         (TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL,
2742         TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL,
2743         TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New.
2744         (struct lang_type): Add otable_methods, otable_decl,
2745         otable_syms_decl, atable_methods, atable_decl, atable_syms_decl,
2746         ctable_decl, catch_classes, type_to_runtime_map.
2747         * expr.c (build_field_ref): Make otable, atable, and ctable class
2748         local rather than global.
2749         (build_known_method_ref): Likewise.
2750         (build_invokeinterface): Likewise.
2751         (java_expand_expr): Pass runtime type (rather than actual type) to
2752         expand_start_catch.
2753         * except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for
2754         this class.  Look up each class in that map to delete duplicates.
2755         (expand_end_java_handler): Pass runtime type (rather than actual
2756         type) to expand_start_catch.
2757         * decl.c: (always_initialize_class_p): Decl moved to java-tree.h.
2758         (do_nothing): New.
2759         (java_init_decl_processing): Rearrange things.  Remove global
2760         declarations of otable, atable, and ctable.
2761         (java_init_decl_processing): Make lang_eh_runtime_type do_nothing.
2762         (java_expand_body): Set output_class.
2763         * constants.c (build_constant_data_ref): Use output_class, not
2764         current_class.
2765         (alloc_name_constant): Likewise.
2766         * class.c (gen_indirect_dispatch_tables): New.
2767         (build_class_ref): Generate hard reference to superclass, even if
2768         using indirect dispatch.
2769         (build_static_field_ref): Use class local atable.
2770         (make_class_data): Generate hard reference to superclass, even if
2771         using indirect dispatch.
2772         Generate symbolic references to interfaces when using indirect
2773         dispatch.
2774         (make_class_data): Emit otable, atable, and ctable.
2775         Make otable, atable, and ctable class local rather than global.
2776         (emit_catch_table): Make otable, atable, and ctable class local
2777         rather than global.
2778
2779 2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
2780
2781         * parse.y (catch_clause_parameter): Fix typo.
2782
2783         PR java/13404
2784         * parse.y: (catch_clause_parameter): Return early if $3, aka
2785         formal_parameter, is null.
2786
2787 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2788
2789         * class.c: Remove uses of "register" specifier in
2790         declarations of arguments and local variables.
2791         * decl.c: Likewise.
2792         * expr.c: Likewise.
2793         * gjavah.c: Likewise.
2794         * jcf-dump.c: Likewise.
2795         * jcf-io.c: Likewise.
2796         * jcf-parse.c: Likewise.
2797         * jcf-write.c: Likewise.
2798         * keyword.h: Likewise.
2799         * parse.y: Likewise.
2800         * typeck.c: Likewise.
2801         * verify.c: Likewise.
2802
2803 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
2804
2805         * Make-lang.in (GCJ_CROSS_NAME): Delete.
2806         (java.install_common, java.install-man): Adjust for above.
2807         (java.uninstall): Likewise.
2808
2809 2003-12-03  Michael Koch  <konqueror@gmx.de>
2810
2811         * class.c (make_class_data):
2812         Push field value to 'hack_signers' instead of 'signers'.
2813         * decl.c (java_init_decl_processing):
2814         Push field 'hack_signers' instead of 'signers'.
2815
2816 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
2817
2818         * lex.h: Check both HAVE_ICONV and HAVE_ICONV_H before
2819         including iconv.h.
2820
2821 2003-12-03  Ralph Loader  <rcl@ihug.co.nz>
2822
2823         PR java/12374:
2824         * parse.y (qualify_ambiguous_name): Remove lots of broken
2825         field access processing - there's no need to do that here,
2826         because we have resolve_field_access.  Remove
2827         RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
2828         * java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
2829         used.
2830
2831 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
2832
2833         Fix PR java/13237
2834         * parse.y (java_complete_lhs): Save location prior to patching
2835         CALL_EXPR.
2836
2837 2003-11-25  Mohan Embar  <gnustuff@thisiscool.com>
2838
2839         PR java/12548
2840         * resource.c (write_resource_constructor): Append
2841         "_resource" to constructor identifier name.
2842
2843 2003-11-25  Jeff Sturm  <jsturm@one-point.com>
2844
2845         Fix PR java/13183.
2846         * constants.c (cpool_for_class): New function.
2847         (outgoing_cpool): Remove global variable.
2848         (alloc_name_constant): Use cpool_for_class.
2849         (build_constants_constructor): Likewise.
2850         * decl.c (java_expand_body): Set current_class.
2851         * java-tree.h (outgoing_cpool) Remove declaration.
2852         (init_outgoing_cpool): Likewise.
2853         * jcf-parse.c (init_outgoing_cpool): Remove function.
2854         (parse_class_file): Don't call init_outgoing_cpool.
2855         * parse.y (java_complete_expand_methods): Don't call
2856         init_outgoing_cpool.  Don't save outgoing_cpool.
2857         (java_expand_classes): Don't restore outgoing_cpool.
2858         (java_finish_classes): Likewise.
2859
2860 2003-11-24  Mohan Embar  <gnustuff@thisiscool.com>
2861
2862         * Make-lang.in: (java.install-common) Add
2863         symlink for $(target_noncanonical)-gcjh for
2864         native builds.
2865
2866 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2867
2868         * Make-lang.in (java.extraclean): Delete.
2869
2870 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2871
2872         * Make-lang.in (check-java): Add.
2873
2874 2003-11-19  Jeff Sturm  <jsturm@one-point.com>
2875
2876         Fix PR java/13024.
2877         * except.c (prepare_eh_table_type): Allocate variable-sized
2878         buffer `buf' with alloca.
2879
2880 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
2881
2882         Fix PR java/12857.
2883
2884         decl.c (java_init_decl_processing): Don't initialize
2885         class_not_found_type_node, no_class_def_found_type_node.
2886
2887         java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE,
2888         JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index.
2889         (class_not_found_type_node, no_class_def_found_type_node):
2890         Don't define.
2891
2892         parse.y (build_dot_class_method_invocation): Add this_class
2893         argument.  Qualify method invocations to a different class.
2894         (create_new_parser_context): Initialize saved_data_ctx to 0.
2895         (java_parser_context_save_global): Initialize saved_data_ctx to 1.
2896         (build_dot_class_method): Don't load classes.  Register
2897         incomplete types.
2898         (build_incomplete_class_ref): Special cases for interfaces
2899         and inner classes.  Move build_dot_class_method call to here...
2900         (patch_incomplete_class_ref): ...from here.  Pass current_class
2901         to build_dot_class_method_invocation.
2902         (build_assertion): Pass class_type to
2903         build_dot_class_method_invocation.
2904         (encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node.
2905
2906 2003-11-17  Jeff Sturm  <jsturm@one-point.com>
2907
2908         Fix PR java/12739.
2909         * java-tree.h (BLOCK_EMPTY_P): Define.
2910         * parse.y (java_complete_lhs): Check for empty blocks
2911         in TRY_FINALLY_EXPR case.
2912
2913 2003-11-17  Andrew Haley  <aph@redhat.com>
2914
2915         * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
2916         (struct lang_decl_var:freed): New variable.
2917         * decl.c (poplevel): Mark local vars that have gone out of scope.
2918         (push_jvm_slot): Don't use the RTL of a var that has gone out of
2919         scope.
2920
2921 2003-11-16  Jason Merrill  <jason@redhat.com>
2922
2923         * Make-lang.in (java.tags): Create TAGS.sub files in each directory
2924         and TAGS files that include them for each front end.
2925
2926 2003-11-15  Tom Tromey  <tromey@redhat.com>
2927
2928         * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
2929
2930 2003-11-12  Jason Merrill  <jason@redhat.com>
2931
2932         PR optimization/12547
2933         * lang.c (java_tree_inlining_walk_subtrees): Just walk
2934         BLOCK_EXPR_BODY directly.
2935
2936 2003-11-12  Andrew Haley  <aph@redhat.com>
2937
2938         PR java/11045
2939         * parse.y (fold_constant_for_init): Check that we really do have a
2940         constant.
2941
2942         PR java/11533
2943         * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
2944         init_test_decls being inlined.
2945
2946         PR java/12890:
2947         * parse.y (do_resolve_class): Check return value from
2948         breakdown_qualified().
2949
2950 2003-11-11  Tom Tromey  <tromey@redhat.com>
2951
2952         PR java/12915:
2953         * parse.y (merge_string_cste): Handle case where we have a
2954         pointer that happens to be zero, not null_pointer_node.
2955
2956 2003-11-10  Tom Tromey  <tromey@redhat.com>
2957
2958         * jcf-parse.c (classify_zip_file): Correctly compare
2959         filename_length against length of manifest file's name.
2960
2961 2003-11-08  Tom Tromey  <tromey@redhat.com>
2962
2963         PR java/12894:
2964         * jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.
2965
2966 2003-11-06  Andrew Haley  <aph@redhat.com>
2967
2968         * expr.c (java_stack_swap): Make sure destination stack slots are
2969         of the correct type.
2970
2971 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
2972
2973         * Make-lang.in (dvi): Move targets to $(docobjdir).
2974         (gcj.dvi): Simplify rule and adjust target.
2975         (gcj.info): Simplify rule.
2976         (gcj.pod): New intermediate rule.
2977         (gcjh.pod): Likewise.
2978         (jv-scan.pod): Likewise.
2979         (jcf-dump.pod): Likewise.
2980         (gij.pod): Likewise.
2981         (jv-convert.pod): Likewise.
2982         (rmic.pod): Likewise.
2983         (rmiregistry.pod): Likewise.
2984         (gcj.1): Delete.
2985         (gcjh.1): Delete.
2986         (jv-scan.1): Delete.
2987         (jcf-dump.1): Delete.
2988         (gij.1): Delete.
2989         (jv-convert.1): Delete.
2990         (rmic.1): Delete.
2991         (rmiregistry.1): Delete.
2992
2993 2003-11-02  Jeff Sturm  <jsturm@one-point.com>
2994
2995         Fixes PR java/12866.
2996         * parse.y (resolve_qualified_expression_name): Move test
2997         for outer field access methods from here...
2998         (check_thrown_exceptions) ...to here.
2999
3000 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
3001
3002         * .cvsignore: Delete.
3003
3004 2003-10-28  Frank Ch. Eigler  <fche@redhat.com>
3005
3006         * verify.c (verify_jvm_instructions): Don't warn about legal
3007         eh binding regions generated for example by jdk 1.4.1.
3008
3009 2003-10-24  David S. Miller  <davem@redhat.com>
3010
3011         * jcf-parse.c (jcf_parse): Fix args to fatal_error().
3012
3013 2003-10-22  Andrew Haley  <aph@redhat.com>
3014
3015         * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
3016         (java_get_callee_fndecl): New.
3017
3018         * jcf-parse.c (java_parse_file): Call emit_catch_table().
3019
3020         * java-tree.h (ctable_decl): New.
3021         (catch_classes):  New.
3022         (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
3023
3024         * decl.c (java_init_decl_processing): Add catch_class_type.
3025         Add ctable_decl.
3026         Add catch_classes field.
3027
3028         * class.c (build_indirect_class_ref): Break out from
3029         build_class_ref.
3030         (make_field_value): Check flag_indirect_dispatch.
3031         (make_class_data): Ditto.
3032         Tidy uses of PUSH_FIELD_VALUE.
3033         Add field catch_classes.
3034         (make_catch_class_record): New.
3035
3036         * java-tree.h (PUSH_FIELD_VALUE): Tidy.
3037
3038 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3039
3040         * jcf-write.c: Follow spelling conventions.
3041         * parse.y: Likewise.
3042
3043 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3044
3045         * ChangeLog: Fix typos.
3046         * expr.c: Fix comment typos.
3047         * jcf-write.c: Likewise.
3048         * lang.c: Likewise.
3049         * lex.c: Likewise.
3050         * mangle.c: Likewise.
3051         * parse-scan.y: Likewise.
3052         * parse.y: Likewise.
3053
3054 2003-10-22  Tom Tromey  <tromey@redhat.com>
3055
3056         * expr.c (expand_byte_code): Only warn about dead bytecode when
3057         extra_warnings is set.
3058
3059 2003-10-22  Bryce McKinlay  <bryce@mckinlay.net.nz>
3060
3061         Fix for PR java/12586.
3062         * mangle.c (find_compression_record_match): Don't iterate through
3063         package namespace elements unless they all match compression_table
3064         entries.
3065
3066 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
3067
3068         * Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
3069         (generate-manpages): Likewise.
3070         (java.maintainer-clean): Likewise.
3071         (gcj.info): Likewise.
3072         (gcj.1): Likewise.
3073         (gcjh.1): Likewise.
3074         (jv-scan.1): Likewise.
3075         (jcf-dump.1): Likewise.
3076         (gij.1): Likewise.
3077         (jv-convert.1): Likewise.
3078         (rmic.1): Likewise.
3079         (rmiregistry.1): Likewise.
3080         (java.install-man): Likewise.
3081         (parse-scan.o): Move and define complete compile line.
3082         (parse.o): Likewise.
3083         (jcf-tree-inline.o): Move.
3084
3085 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
3086
3087         * Make-lang.in (info): Update dependencies.
3088         (java.install-info): Remove.
3089         ($(srcdir)/java/gcj.info): Replace with ...
3090         ($(docobjdir)/gcj.info): ... this.
3091
3092 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3093
3094         * Make-lang.in: Replace uses of $(target_alias) with
3095         $(target_noncanonical).
3096
3097 2003-10-09  Tom Tromey  <tromey@redhat.com>
3098
3099         * decl.c (java_init_decl_processing): Declare signers field.
3100         * class.c (make_class_data): Set signers field.
3101
3102 2003-10-09  Jason Merrill  <jason@redhat.com>
3103
3104         * parse.y (patch_assignment): Use make_node to create a BLOCK.
3105         * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
3106         POINTER_TYPE.
3107
3108 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
3109
3110         * Make-lang.in (java.info): Replace with ...
3111         (info): ... this.
3112         (java.dvi): Replace with ...
3113         (dvi): ... this.
3114         (java.generated-manpages): Replace with ...
3115
3116 2003-10-03  Kelley Cook  <kelleycook@wideopenwest.com>
3117
3118         * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
3119
3120 2003-10-01  Andrew Haley  <aph@redhat.com>
3121
3122         * jcf-parse.c (java_parse_file): Write otable and atable.
3123         * java-tree.h (atable_methods): New.
3124         (atable_decl): New.
3125         (atable_syms_decl): New.
3126         (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
3127         JTI_ATABLE_SYMS_DECL.  Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
3128         (symbol_*type): Rename method_symbol* to symbol*type.
3129         (emit_offset_symbol_table): Delete.
3130         (emit_symbol_table): New.
3131         (get_symbol_table_index): New.
3132         (atable_type): New.
3133         * expr.c (build_field_ref): Handle flag_indirect_dispatch.
3134         (build_known_method_ref): Likewise.
3135         (get_symbol_table_index): Rename from get_offset_table_index.
3136         Parameterize to allow re-use by differing types of symbol table.
3137         (build_invokevirtual): Pass table to get_offset_table_index.
3138         * decl.c (java_init_decl_processing): Push types and decls for
3139         atable and atable_syyms.
3140         * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
3141         (make_class_data): Add new fields atable and atable_syms.
3142         (emit_symbol_table): Rename from emit_offset_symbol_table.
3143         Parameterize to allow re-use by different types of symbol table.
3144         (build_symbol_entry): Renamed from build_method_symbols_entry.
3145
3146 2003-09-30  Roger Sayle  <roger@eyesopen.com>
3147
3148         * jcf-write.c (generate_bytecode_insns): Implement evaluate-once
3149         semantics for SAVE_EXPR, by caching the result in a temporary.
3150
3151 2003-09-28  Richard Henderson  <rth@redhat.com>
3152
3153         * check-init.c (check_init): Save and restore input_location
3154         instead of file and line separately.
3155         * decl.c (java_expand_body): Likewise.
3156         * jcf-write.c (generate_bytecode_insns): Likewise.
3157         * parse.y (safe_layout_class): Likewise.
3158         * jcf-parse.c (read_class, parse_class_file): Likewise.
3159         (java_parse_file): Use %H for warning locator.
3160
3161 2003-09-28  Roger Sayle  <roger@eyesopen.com>
3162
3163         * expr.c (java_check_reference): Use the semantics of COND_EXPRs
3164         with void-type branches instead of using a COMPOUND_EXPR.
3165
3166 2003-09-28  Jeff Sturm  <jsturm@one-point.com>
3167
3168         * decl.c (java_optimize_inline, dump_function): Remove.
3169         * java-tree.h (java_optimize_inline): Remove declaration.
3170         * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
3171         * parse.y (source_end_java_method, java_expand_classes):
3172         Likewise.  Remove dead code.
3173
3174 2003-09-27  Roger Sayle  <roger@eyesopen.com>
3175
3176         * lang.c (java_init_options): Set flag_evaluation_order.
3177         * expr.c (force_evaluation_order): Don't attempt to force
3178         evaluation order of binary operations using save_expr.
3179         * parse.y (java_complete_lhs): No longer need to call
3180         force_evaluation_order when constructing binary operators.
3181
3182 2003-09-27  Alexandre Petit-Bianco  <apbianco@redhat.com>
3183             Bryce McKinlay  <bryce@mckinlay.net.nz>
3184
3185         PR java/1333:
3186         * parse.y (not_accessible_field_error): New function.
3187         (resolve_expression_name): Check field access permissions.
3188         (resolve_qualified_expression_name): Use
3189         not_accessible_field_error.
3190         (resolve_qualified_expression_name): Likewise.
3191
3192 2003-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3193
3194         * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
3195
3196 2003-09-23  Roger Sayle  <roger@eyesopen.com>
3197
3198         * jcf-write.c (generate_bytecode_insns): Optimize binary operations
3199         with equal operands without side-effects.
3200
3201 2003-09-22  Jeff Sturm  <jsturm@one-point.com>
3202
3203         * decl.c (java_init_decl_processing): Don't emit otable decls
3204         if flag_indirect_dispatch is not set.
3205
3206 2003-09-21  Richard Henderson  <rth@redhat.com>
3207
3208         * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
3209         resource.c: Revert.
3210
3211 2003-09-21  Richard Henderson  <rth@redhat.com>
3212
3213         * class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
3214         resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
3215
3216 2003-09-20  Richard Henderson  <rth@redhat.com>
3217
3218         * check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
3219
3220 2003-09-18  Roger Sayle  <roger@eyesopen.com>
3221
3222         * expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
3223         * check-init.c (check_init): Likewise.
3224
3225 2003-09-18  Roger Sayle  <roger@eyesopen.com>
3226
3227         * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
3228
3229 2003-09-16  Andrew Haley  <aph@redhat.com>
3230
3231         * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
3232
3233 2003-09-17  Ranjit Mathew  <rmathew@hotmail.com>
3234
3235         Fixes PR java/9577
3236         * mangle.c (find_compression_record_match): Skip
3237         over a "6JArray" (the array template mangled string)
3238         IDENTIFIER_NODE.
3239         (mangle_array_type): Correct minor typo.
3240         (atms): Move definition to the beginning.
3241
3242 2003-09-16  Bryce McKinlay  <bryce@mckinlay.net.nz>
3243
3244         * class.c (add_miranda_methods): Ensure super-interfaces are laid
3245         out. Fix for PR java/12254.
3246
3247 2003-09-11  Richard Henderson  <rth@redhat.com>
3248
3249         * parse.y (source_end_java_method): Update for new
3250         cgraph_finalize_function argument.
3251
3252 2003-09-09  Richard Henderson  <rth@redhat.com>
3253
3254         * parse.y (source_end_java_method): Update call to
3255         cgraph_finalize_function.
3256
3257 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
3258
3259         * decl.c (java_expand_body): New function.
3260         * expr.c (build_class_init): Set DECL_IGNORED_P.
3261         * java-tree.h (start_complete_expand_method,
3262         java_expand_body): Declare.
3263         * jcf-parse.c (cgraph.h): Include.
3264         (java_parse_file): Handle flag_unit_at_a_time.
3265         * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
3266         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
3267         (java_estimate_num_insns): Use walk_tree_without_duplicates.
3268         (java_start_inlining): New function.
3269         * parse.h (java_finish_classes): Declare.
3270         * parse.y: Include cgraph.h.
3271         (block): Don't special-case empty block production.
3272         (craft_constructor): Set DECL_INLINE.
3273         (source_end_java_method): Handle flag_unit_at_a_time.
3274         Replace inline code with call to java_expand_body.
3275         (start_complete_expand_method): Remove static modifier.
3276         (java_expand_method_bodies): Patch function tree for
3277         class initialization and/or synchronization as needed.
3278         Don't begin RTL expansion yet.
3279         (java_expand_classes): Check flag_unit_at_a_time before
3280         calling finish_class.
3281         (java_finish_classes): New function.
3282         (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
3283         (patch_assignment): Set DECL_CONTEXT on temporary variable.
3284         (emit_test_initialization): Set DECL_IGNORED_P.
3285
3286 2003-09-03  Roger Sayle  <roger@eyesopen.com>
3287
3288         * builtins.c (enum builtin_type): Delete unused enumeration.
3289         * Make-lang.in (java/builtins.o): Remove built-types.def dependency.
3290
3291 2003-08-28  Tom Tromey  <tromey@redhat.com>
3292
3293         * gcj.texi (Extensions): Document gcjlib URLs.
3294
3295 2003-08-20  Tom Tromey  <tromey@redhat.com>
3296
3297         * gcj.texi (Extensions): Added xref.
3298         (libgcj Runtime Properties): Document
3299         gnu.gcj.runtime.VMClassLoader.library_control.
3300
3301 2003-08-20  Andrew Haley  <aph@redhat.com>
3302
3303         * except.c (prepare_eh_table_type): Use new encoding for exception
3304         handlers when using -fno-assume-compiled.
3305
3306 2003-08-13  Tom Tromey  <tromey@redhat.com>
3307
3308         * gcj.texi (Invoking gij): Document -X and -?.
3309
3310 2003-08-13  Mohan Embar  <gnustuff@thisiscool.com>
3311
3312         * Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
3313         GCJH_OBJS, JCFDUMP_OBJS
3314         * win32-host.c: Removed the unnecessary and broken dependency
3315         on jcf.h
3316
3317 2003-08-11  Tom Tromey  <tromey@redhat.com>
3318
3319         * parse.y (java_check_regular_methods): Typo fixes.  Call
3320         check_interface_throws_clauses.  Use
3321         check_concrete_throws_clauses.
3322         (check_interface_throws_clauses): New function.
3323         (check_concrete_throws_clauses): New function.
3324         (hack_is_accessible_p): New function.
3325         (find_most_specific_methods_list): Added FIXME.
3326         * typeck.c (lookup_do): Use `flags' argument to decide what to
3327         do.  Reimplemented.
3328         (lookup_argument_method_generic): New function.
3329         (lookup_argument_method2): Removed.
3330         * jcf.h (ACC_INVISIBLE): New define.
3331         * jcf-write.c (generate_classfile): Skip invisible methods.
3332         * class.c (add_miranda_methods): New function.
3333         (layout_class_methods): Use it.
3334         (get_access_flags_from_decl): Use ACC_INVISIBLE.
3335         * java-tree.h (METHOD_INVISIBLE): New define.
3336         (lang_decl_func) [invisible]: New field.
3337         (lookup_argument_method_generic): Declare.
3338         (SEARCH_INTERFACE): New define.
3339         (SEARCH_SUPER): Likewise.
3340         (SEARCH_ONLY_INTERFACE): Likewise.
3341         (SEARCH_VISIBLE): Likewise.
3342         (lookup_argument_method2): Removed declaration.
3343
3344 2003-08-05  Tom Tromey  <tromey@redhat.com>
3345
3346         Fix for PR java/11600:
3347         * parse.y (java_complete_lhs): See whether we're calling a method
3348         on an array.
3349         (check_thrown_exceptions): Added `is_array_call' argument;
3350         fixed `clone' checking; updated all callers.
3351
3352 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
3353
3354         * java-tree.h (DECL_ESTIMATED_INSNS): Remove (moved to tree.h).
3355
3356 2003-08-03  Tom Tromey  <tromey@redhat.com>
3357
3358         * java-tree.h (METHOD_TRANSIENT): Removed.
3359         * decl.c (pushdecl): Removed some dead code.
3360         * class.c (get_access_flags_from_decl): Can't have transient
3361         method.
3362         (add_method_1): Can't have a transient method.
3363
3364 2003-07-28  Andreas Jaeger  <aj@suse.de>
3365
3366         * jvspec.c: Convert to ISO C90 prototypes.
3367
3368 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
3369
3370         * decl.c (force_poplevels): Fix warning call.
3371
3372 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3373
3374         * expr.c (expand_java_field_op): Don't use xxx_with_decl
3375         (expand_java_field_op): Likewise.
3376         * class.c (layout_class_method): Likewise
3377         (emit_register_classes): Likewise.
3378         * decl.c (pushdecl): Likewise.
3379         (poplevel): Likewise.
3380         (force_poplevels): Likewise.
3381         (give_name_to_locals): Likewise.
3382         * check-init.c (check_for_initialization): Likewise.
3383
3384 2003-07-24  Jason Merrill  <jason@redhat.com>
3385
3386         * java-tree.h: Move boolean_type_node et al to the back end.
3387
3388 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3389
3390         * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary
3391         casts.
3392
3393 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
3394
3395         * lang.opt: Don't show -MD_ and -MDD_.
3396
3397 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
3398
3399         * lang-options.h: Remove.
3400         * lang.opt: Add help text.
3401
3402 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
3403
3404         * expr.c: Remove the last argument to expand_assignment().
3405
3406 2003-07-09  Jan Hubicka  <jh@suse.cz>
3407
3408         * java-tree.h (DECL_NUM_STMTS): Rename to...
3409         (DECL_ESTIMATED_INSNS): ... this.
3410         * lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
3411         New static functions.
3412         (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
3413         * parser.y (add_stmt_to_compound): Do not account statements.
3414
3415 2003-07-08  Mark Wielaard  <mark@klomp.org>
3416
3417         * gcj.texi: CNI now expands to Compiled Native Interface.
3418
3419 2003-07-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3420
3421         * Make-lang.in (java/gcj.dvi): Use PWD_COMMAND.
3422
3423 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
3424
3425         * expr.c (expand_byte_code): Adjist emit_line_note call.
3426
3427 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
3428
3429         * lang.c (java_handle_option): Don't handle filenames.
3430
3431 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
3432
3433         * jcf-path.c: Don't default-define PATH_SEPARATOR nor
3434         DIR_SEPARATOR.
3435         Use FILENAME_CMP.
3436         * jcf-write.c: Don't default-define DIR_SEPARATOR.
3437         * jcf.h: Delete COMPARE_FILENAMES definition.
3438
3439 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
3440
3441         * lang.c (java_init_options): Update prototype.
3442
3443 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
3444
3445         * decl.c (poplevel): Adjust define_label call.
3446
3447 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
3448
3449         * gjavah.c (flag_jni): Make non-static.
3450         * parse-scan.y (ctxp): Make non-static.
3451
3452         * class.c (build_method_symbols_entry)
3453         * expr.c (get_offset_table_index)
3454         * jcf-parse.c (jcf_parse):
3455         Mark the definition static, matching the forward declaration.
3456
3457 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
3458
3459         * lang.c (java_handle_option): Don't check for missing arguments.
3460
3461 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
3462
3463         * class.c (push_class): Use a location_t to save place.
3464         (emit_register_classes): Set input_location. Adjust
3465         expand_function_end call.
3466         * resource.c (write_resource_constructor): Likewise.
3467         * decl.c (end_java_method): Adjust expand_function_end call.
3468         * parse.y (source_end_java_method): Likewise.
3469
3470 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
3471
3472         * lang.c (java_handle_option): Likewise.
3473
3474 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
3475
3476         * lang.c (java_handle_option): Special-casing of optional
3477         joined arguments no longer needed.
3478         * lang.opt: Update switches that take optional argument.
3479
3480 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
3481
3482         * lang.opt: Declare Java.
3483         * lang.c (java_init_options): Update.
3484
3485 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
3486
3487         * lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
3488
3489 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
3490
3491         * lang-specs.h: Rewrite -MD and -MMD to append an underscore.
3492         * lang.c (java_handle_option): -MD and -MMD have an underscore.
3493         * lang.opt: -MD and -MMD have an underscore.
3494
3495 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
3496
3497         * class.c (emit_register_classes): Adjust init_function_start
3498         call.
3499         * decl.c (complete_start_java_method): Likewise.
3500         * resource.c (write_resource_constructor): Likewise.
3501
3502 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
3503
3504         * Make-lang.in: Update to use options.c and options.h.
3505         * lang.c: Include options.h not j-options.h.
3506         (java_handle_option): Abort on unrecognized option.
3507         (java_init_options): Request Java switches.
3508
3509 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
3510
3511         * Make-lang.in: Handle mostlyclean.
3512
3513 2003-06-11  Tom Tromey  <tromey@redhat.com>
3514
3515         * lang.c (java_handle_option): Update dependency_tracking for
3516         OPT_MF case.
3517
3518         * lang.c (java_handle_option): OPT_fbootclasspath_ can take an
3519         empty argument.
3520
3521 2003-06-10  Andrew Haley  <aph@redhat.com>
3522
3523         * resource.c (write_resource_constructor): Use expand_expr to
3524         generate the address of the label attached to a resource.
3525         * Make-lang.in (java/resource.o): Add expr.h
3526
3527 2003-06-10  Andrew Haley  <aph@redhat.com>
3528
3529         * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
3530         (java_decl_ok_for_sibcall): New.
3531
3532 2003-06-09  Neil Booth  <neil@daikokuya.co.uk>
3533
3534         * Make-lang.in (JAVA_OBJS, java/lang.o): Update.
3535         (java/j-options.c, java/j-options.h): New.
3536         * java-tree.h (resource_name, compile_resource_file,
3537         compile_resource_data): Constify.
3538         * jcf-write.c (jcf_write_base_directory): Similarly.
3539         * jcf.h (jcf_write_base_directory): Similarly.
3540         * lang.c: Include j-options.h.
3541         (cl_options_count, cl_options, string_option, java_decode_option,
3542         lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION,
3543         process_option_with_no): Remove.
3544         (resource_name): Constify.
3545         (LANG_HOOKS_HANDLE_OPTION): Override.
3546         (java_handle_option): New.
3547         (java_init): Don't call jcf_path_init.
3548         (java_init_options): Call jcf_path_init.
3549         * lang.opt: New.
3550         * resource.c (compile_resource_data, compile_resource_file): Constify.
3551
3552 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
3553
3554         * java-tree.h (DECL_FUNCTION_LAST_LINE): New.
3555         (struct lang_decl_func): Add last_line field.
3556         * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
3557         DECL_SOURCE_LINE_LAST): Remove.
3558         * parse.y (missing_return_error, finish_method_declaration,
3559         lookup_cl, start_artificial_method_body, source_end_java_method,
3560         start_complete_expand_method): Adjust.
3561
3562 2003-06-08  Tom Tromey  <tromey@redhat.com>
3563
3564         * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and
3565         fno-assume-compiled.
3566
3567 2003-06-08  Roger Sayle  <roger@eyesopen.com>
3568
3569         * builtins.c (define_builtin_type, builtin_types): Delete.
3570         (define_builtin): Rewritten to take just the built-in code,
3571         the function's name, type and fallback library function name.
3572         All built-ins used by Java are implicit and BUILT_IN_NORMAL.
3573         (initialize_builtins): Overhaul to define the GCC builtins
3574         used by gcj manually, providing the Java run-time's
3575         implementations as the fallback library function.
3576
3577 2003-06-08  Anthony Green  <green@redhat.com>
3578
3579         * parse.y (patch_cast): Fix conversions from floating-point to
3580         integral types.
3581
3582 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
3583
3584         * Make-lang.in: Update.
3585         * lang.c: Include opts.h. Define cl_options_count and cl_options.
3586
3587 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
3588
3589         * lang.c (java_init_options): Update.
3590
3591 2003-06-05  Jan Hubicka  <jh@suse.cz>
3592
3593         * Make-lang.in:  Add support for stageprofile and stagefeedback
3594
3595 2003-05-31  Roger Sayle  <roger@eyesopen.com>
3596
3597         * lang.c (java_init_options): Prescribe wrap-around two's
3598         complement arithmetic overflow by setting flag_wrapv.
3599
3600 2003-05-29  Roger Sayle  <roger@eyesopen.com>
3601
3602         * builtins.c (cos_builtin, sin_builtin, sqrt_builtin): Delete.
3603         (builtin_record): Add an additional builtin_code field to
3604         record which GCC built-in corresponds to the Java function.
3605         (java_builtins):  Add new entries for atan, atan2, exp, log,
3606         pow and tan.
3607         (max_builtin, min_builtin, abs_builtin): Perform constant
3608         folding on the resulting tree.
3609         (java_build_function_call_expr): Likewise, perform constant
3610         folding on the resulting tree.
3611         (initialize_builtins): The NULL creators are now allowed in
3612         the java_builtins table, which is now terminated by an entry
3613         with builtin_code == END_BUILTINS.
3614         (check_for_builtin): Likewise.  If the matching creator is
3615         NULL, construct the call using java_build_function_call_expr
3616         directly with the decl for the corresponding builtin_code.
3617
3618 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
3619
3620         * win32-host.c: Normalize copyright boilerplate.
3621
3622 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3623
3624         * parse.y (print_int_node): Use string concatentation on
3625         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
3626         function calls into one.
3627
3628 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
3629
3630         * jcf-parse.c, jcf-write.c, lex.c: Replace all calls to
3631         fatal_io_error with calls to fatal_error; add ": %m" to the end of
3632         all the affected error messages.
3633
3634 2003-05-13  Richard Henderson  <rth@redhat.com>
3635
3636         * class.c (layout_class_method): Set DECL_EXTERNAL.
3637         * decl.c (java_mark_decl_local, java_mark_class_local): New.
3638         * java-tree.h (java_mark_class_local): Declare.
3639         * jcf-parse.c (parse_class_file): Use it.
3640         * parse.y (java_expand_classes): Likewise.
3641
3642 2003-05-04  Nathan Sidwell  <nathan@codesourcery.com>
3643
3644         * Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
3645         * lex.h: #include input.h.
3646         * jv-scan.c (input_filename): Remove.
3647
3648 2003-05-02  Tom Tromey  <tromey@redhat.com>
3649
3650         PR java/10491:
3651         * gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
3652         (handle_inner_classes): New function.
3653
3654 2003-05-01  Tom Tromey  <tromey@redhat.com>
3655
3656         PR java/10459:
3657         * parse.y (finish_for_loop): Do nothing if update expression is a
3658         EXPR_WFL_NODE wrapping nothing.
3659         (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
3660
3661 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
3662
3663         * lex.h (input_lineno): Remove declaration.
3664         * parse-scan.y: #include input.h.
3665         (input_filename): Remove declaration.
3666         (input_location): Add definition.
3667         (input_line): Remove definition.
3668
3669 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
3670
3671         * lex.h (lineno): Rename to ...
3672         (input_line): ... here
3673         * parse-scan.y (lineno): Rename to ...
3674         (input_line): ... here.
3675         (reset_report): Rename lineno to input_line.
3676         * check-init.c (check_init): Likewise.
3677         * class.c (push_class): Likewise.
3678         * decl.c (complete_start_java_method, end_java_method): Likewise.
3679         * expr.c (expand_byte_code): Likewise.
3680         * jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
3681         * jcf-write.c (generate_bytecode_insns): Likewise.
3682         * lex.c (java_init_lex, java_allocate_new_line,
3683         do_java_lex): Likewise.
3684         * parse.h (YYNOT_TWICE): Likewise.
3685         * parse.y (empty_statement, expression_statement,
3686         java_pop_parser_context, java_parser_context_save_global,
3687         yyerror, register_fields, method_header, safe_layout_class,
3688         find_in_imports_on_demand, create_artificial_method,
3689         source_end_java_method, start_complete_expand_method,
3690         build_thisn_assign, java_complete_lhs,
3691         maybe_absorb_scoping_block): Likewise.
3692
3693 2003-04-20  Mohan Embar  <gnustuff@thisiscool.com>
3694
3695         * jcf-io.c (find_class): use DIR_SEPARATOR instead of
3696         '/' when computing java source filename
3697
3698 2003-04-13  Tom Tromey  <tromey@redhat.com>
3699
3700         * gjavah.c (print_c_decl): Indentation fix.
3701
3702 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
3703
3704         * class.c (make_field_value, make_method_value, get_dispatch_table)
3705         (make_class_data, emit_offset_symbol_table)
3706         * constants.c (build_constants_constructor)
3707         * java-tree.h (START_RECORD_CONSTRUCTOR)
3708         * parse.y (maybe_build_array_element_wfl):
3709         Use build_constructor.
3710
3711 2003-04-10  Eric Blake  <ebb9@email.byu.edu>
3712
3713         PR java/10253:
3714         * parse.y (string_convert_int_cst): Always use at least one digit
3715         in string conversion. Remove ASCII dependence.
3716         (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
3717
3718 2003-03-16  Mohan Embar  <gnustuff@thisiscool.com>
3719
3720         * Make-lang.in: added win32-host.c
3721         * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
3722         resolves to open() on non-Win32 platforms and
3723         Win32-specific jcf_open_exact_case() on Win32
3724         * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
3725         when trying .java and .class files
3726         * win32-host.c: added to repository. Defines
3727         Win32-specific jcf_open_exact_case()
3728
3729 2003-04-10  Andrew Haley  <aph@redhat.com>
3730
3731         * jcf-write.c (struct jcf_partial): num_jsrs: new field.
3732         (maybe_free_localvar): Renamed from localvar_free.
3733         Add new arg, really.
3734         (generate_bytecode_insns): Set new variable, jsrs.
3735         Only free local vars if no jsr insns have been emittted.
3736         Call maybe_free_localvar, not localvar_free.
3737
3738 2003-03-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3739
3740         * gcj.texi: Remove @ at start of file.
3741
3742 2003-03-25  Tom Tromey  <tromey@redhat.com>
3743
3744         * parse.y (create_interface): Call CHECK_DEPRECATED.
3745
3746 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
3747
3748         * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
3749
3750 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
3751
3752         * javaop.h (jfloat, jdouble): Make them structures mirroring
3753         the bit fields of IEEE float and double respectively.
3754         (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
3755         JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
3756         (union Word, union DWord): Delete.
3757         (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
3758
3759         * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
3760         D_NAN_MASK): Delete.
3761         (jni_print_float, jni_print_double): New.  Generate
3762         hexadecimal floating constants.
3763         (print_field_info): Use jni_print_float/double.
3764
3765         * jcf-dump.c: Include math.h.  Use ldexp/frexp to assemble
3766         finite floating point numbers for output; special case
3767         non-finite floats.
3768
3769 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3770
3771         * lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
3772         Replace 0 and 1 with true and false in return statements.
3773
3774 2003-03-19  Tom Tromey  <tromey@redhat.com>
3775
3776         * lex.c (do_java_lex): Renamed from java_lex.
3777         (java_lex): New function.
3778         Include timevar.h.
3779
3780 2003-03-13  Tom Tromey  <tromey@redhat.com>
3781
3782         * parse.y (resolve_inner_class): Error if qualifier is a primitive
3783         type.
3784
3785 2003-03-04  Andrew Haley  <aph@redhat.com>
3786
3787         * gjavah.c (is_first_data_member): New global variable.
3788         (print_c_decl): If it's the first data member, align it as the
3789         superclass.
3790         (process_file): Set is_first_data_member.
3791
3792 2003-03-11  Tom Tromey  <tromey@redhat.com>
3793
3794         * parse.y (resolve_field_access): Initialize class if field is
3795         found in another static field.
3796         * expr.c (build_class_init): Don't optimize out initialization of
3797         implemented interface.
3798
3799 2003-03-11  Andrew Haley  <aph@redhat.com>
3800
3801         * jcf-io.c (caching_stat): Initialize origsep to remove compiler
3802         warning.
3803
3804 2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>
3805
3806         * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
3807         and DIR_SEPARATOR_2 for a target.
3808         Correct minor typos.
3809
3810         * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
3811         and DIR_SEPARATOR_2 for a target into account.
3812
3813 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
3814
3815         * lang.c (java_init): Update prototype, move code to java_post_options.
3816         (java_post_options): Similarly.
3817
3818 2003-03-05  Ranjit Mathew  <rmathew@hotmail.com>
3819
3820         * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
3821         compare file name components depending on the case-sensitivity
3822         or otherwise of the host file system.
3823
3824         * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
3825         "strcmp" to compare file name components.
3826         Use IS_DIR_SEPARATOR instead of comparing directly against
3827         DIR_SEPARATOR.
3828         (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
3829         comparing directly against DIR_SEPARATOR.
3830
3831 2003-03-04  Tom Tromey  <tromey@redhat.com>
3832
3833         * Make-lang.in (java.tags): New target.
3834
3835 2003-03-01  Roger Sayle  <roger@eyesopen.com>
3836
3837         * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
3838         (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
3839
3840 2003-03-01  Tom Tromey  <tromey@redhat.com>
3841
3842         * parse.y (jdep_resolve_class): Only check deprecation if we found
3843         a decl.
3844
3845 2003-02-28  Tom Tromey  <tromey@redhat.com>
3846
3847         PR java/9695:
3848         * class.c (maybe_layout_super_class): Always pass a WFL to
3849         do_resolve_class.
3850         * parse.y (do_resolve_class): Updated comment to explain
3851         parameters.
3852
3853 2003-02-26  Tom Tromey  <tromey@redhat.com>
3854
3855         * jcf-write.c (generate_classfile): Check whether class is
3856         deprecated before writing attribute count.
3857
3858 2003-02-25  Roger Sayle  <roger@eyesopen.com>
3859
3860         * java/decl.c (java_init_decl_processing): Get soft_fmod_node from
3861         built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
3862
3863 2003-02-23  Tom Tromey  <tromey@redhat.com>
3864
3865         * lang-options.h: Added -Wdeprecated.
3866         * gcj.texi (Warnings): Document -Wdeprecated.
3867         * java-tree.h (flag_deprecated): Declare.
3868         * lang.c (lang_W_options): Added deprecated.
3869         (flag_deprecated): New global.
3870         * chartables.h: Rebuilt.
3871         * gen-table.pl (process_one): Look at whitespace.
3872         (print_tables): Define LETTER_SPACE, LETTER_MASK.
3873         * parse.h (CLEAR_DEPRECATED): New macro.
3874         (CHECK_DEPRECATED_NO_RESET): New macro.
3875         * jcf-parse.c (handle_deprecated): New function.
3876         (HANDLE_DEPRECATED_ATTRIBUTE): New define.
3877         * jcf-reader.c (get_attribute): Handle Deprecated attribute.
3878         * parse.y (resolve_type_during_patch): Check deprecation.
3879         (jdep_resolve_class): Likewise.
3880         (process_imports): Likewise.
3881         (resolve_expression_name): Likewise.
3882         (check_deprecation): Strip arrays from decl.  Check
3883         flag_deprecated.
3884         (patch_method_invocation): Also check the particular constructor
3885         for deprecation.
3886         (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
3887         * jcf-write.c (append_deprecated_attribute): New function.
3888         (generate_classfile): Generate deprecated attribute when
3889         appropriate.
3890         * lex.c (java_parse_doc_section): Return type now void.  Rewrote.
3891         (java_lex) [case '*']: Simplify logic.
3892         (java_start_char_p): Use LETTER_MASK.
3893         (java_part_char_p): Likewise.
3894         (java_space_char_p): New function.
3895
3896 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
3897
3898         Change base class access representation.
3899         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
3900         (add_interface_do): Likewise.
3901
3902 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
3903
3904         * decl.c (java_init_decl_processing): Change
3905         soft_lookupjnimethod_node to reflect the change in
3906         signature of _Jv_LookupJNIMethod in libjava/jni.cc
3907         * expr.c (build_jni_stub): Calculate and pass the size
3908         on the stack of the arguments to a JNI function. Use
3909         new target macro MODIFY_JNI_METHOD_CALL to allow a
3910         target to modify the call to a JNI method.
3911
3912 2003-02-08  Roger Sayle  <roger@eyesopen.com>
3913
3914         * jcf-io.c (java_or_class_file): Use libiberty's lbasename
3915         instead of basename to avoid compiler warnings on Tru64.
3916
3917 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
3918
3919         * gcj.texi: Update to GFDL 1.2.
3920
3921 2003-01-31  Andrew Haley  <aph@redhat.com>
3922
3923         * parse.y (java_expand_classes): Scan the whole class list looking
3924         for access methods that haven't yet been expanded.
3925
3926 2003-01-31 Adrian Bunk <bunk@fs.tum.de>
3927
3928         Fix for java/4269:
3929
3930         * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
3931         to fix bootstrap on sparc-unknown-netbsdelf1.5.
3932         * jcf-parse.c: Likewise.
3933
3934 2003-01-31  Mark Wielaard  <mark@klomp.org>
3935
3936         * gjavah.c (throwable_p): Allocate 1 more byte for string.
3937
3938 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
3939
3940         * class.c (make_class): Use BINFO_ELTS.
3941         (set_super_info): Likewse.
3942         (add_interface_do): Likewise.
3943
3944 2003-01-30  Tom Tromey  <tromey@redhat.com>
3945
3946         * jcf-parse.c (read_class): Update identifier's class value if it
3947         changed during parsing.
3948
3949 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
3950
3951         * Make-lang.in (po-generated): Find the targets in $(parsedir).
3952         Propagate change to all other rules as required.
3953         (java/parse-scan.o): Add explicit dependency on
3954         $(parsedir)/java/parse-scan.c .
3955
3956 2003-01-29  Tom Tromey  <tromey@redhat.com>
3957
3958         * parse.y (patch_assignment): Only transform the rhs of an
3959         assignment when compiling to native.
3960
3961 2003-01-28  Tom Tromey  <tromey@redhat.com>
3962
3963         * jcf-write.c (generate_bytecode_conditional): Typo fixes.
3964
3965 2003-01-28  Tom Tromey  <tromey@redhat.com>
3966
3967         * lex.c (java_lex): Don't include UEOF as part of token.
3968         (java_read_unicode): Error if \u sequence prematurely terminated.
3969
3970 2003-01-27  Tom Tromey  <tromey@redhat.com>
3971
3972         * parse.y (java_check_regular_methods): Check for construct after
3973         checking types in throws clause.
3974
3975 2003-01-24  Tom Tromey  <tromey@redhat.com>
3976
3977         * class.c (build_static_field_ref): Only a String or numeric field
3978         can fold to a constant.
3979
3980 2003-01-23  Tom Tromey  <tromey@redhat.com>
3981
3982         * jcf-parse.c (parse_zip_file_entries): Overwrite trailing \0 of
3983         file name in resource buffer.
3984
3985 2003-01-23  Tom Tromey  <tromey@redhat.com>
3986
3987         * expr.c (build_known_method_ref): Use method's context to find
3988         method table index.
3989
3990 2003-01-23  Tom Tromey  <tromey@redhat.com>
3991
3992         * constants.c (set_constant_entry): Allocated cleared memory.
3993
3994 2003-01-22  Tom Tromey  <tromey@redhat.com>
3995
3996         * java-tree.h: Don't use PARAMS.
3997         * resource.c: Add prototypes for all functions.
3998         (write_resource_constructor): Use `const char *' to avoid
3999         warning.
4000
4001 2003-01-22 Nathanael Nerode  <neroden@gcc.gnu.org>
4002
4003         * jcf-parse.c (process_zip_dir): Remove unused variable.
4004
4005 2003-01-22  Tom Tromey  <tromey@redhat.com>
4006
4007         * expr.c (build_invokeinterface): Abort if method's context is not
4008         an interface.
4009
4010 2003-01-22  Tom Tromey  <tromey@redhat.com>
4011
4012         * gcj.texi (Input and output files): Mention non-class entries.
4013         * decl.c (java_init_decl_processing): Call
4014         init_resource_processing.
4015         * java-tree.h (compile_resource_data, write_resource_constructor,
4016         compile_resource_file, init_resource_processing): Declare.
4017         * config-lang.in (gtfiles): Added resource.c.
4018         * Make-lang.in (gt-java-resource.h): New target.
4019         (JAVA_OBJS): Added resource.o.
4020         (java/resource.o): New target.
4021         * resource.c: New file.
4022         * class.c (compile_resource_file): Moved to resource.c.
4023         (registerResource_libfunc): Likewise.
4024         (utf8_decl_list): Mark with GTY; now static.
4025         * jcf-parse.c (classify_zip_file): New function.
4026         (parse_zip_file_entries): Use it; compile .properties files.
4027         (process_zip_dir): Use classify_zip_file and compute_class_name.
4028         Don't write class name into zip directory.
4029         (java_parse_file): Call write_resource_constructor.
4030         (compute_class_name): New function.
4031         * jcf-io.c (read_zip_member): Reindented.
4032
4033 2003-01-21  Tom Tromey  <tromey@redhat.com>
4034
4035         * class.c (supers_all_compiled): New function.
4036         (make_class_data): Use it.
4037
4038 2003-01-21  Tom Tromey  <tromey@redhat.com>
4039
4040         * parse.y (method_header): Native method can't be strictfp.
4041         No method can be transient or volatile.
4042
4043 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4044
4045         Make-lang.in (jvspec.o-warn): Add -Wno-error.