OSDN Git Service

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