OSDN Git Service

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