OSDN Git Service

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