OSDN Git Service

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