�
* lex.c (java_parse_end_comment): Take extra parameter (next char).
* class.c (build_utf8_ref): Fix possible name class/ambiguity.
* class.c (layout_class_method): A static method in a base class
is never overridden, so treat it like it doesn't exist.
However, do complain about private non-static method overriding
public static method.
* parse.y: Don't set unused INITIALIZED_P flag.
* java-tree.h (INITIALIZED_P): Removed no-longer needed flag.
* parse.y (find_expr_with_wfl): Optimize tail-calls.
(build_array_from_name): Re-order &index[string] to &string[index].
* parse.y (java_complete_tree): Don't call patch_assignment if rhs is
error_mark (it might catch more errors, but it is more likely to lose).
From-SVN: r25641
�
* typeck.c (convert_ieee_real_to_integer): Use save_expr instead of
explicit build_decl. (Avoids crash in reload when optimizing.)
* decl.c (complete_start_java_method): Handle synchronized method
even when compiling from bytecode.
From-SVN: r25469
�
* typeck.c (convert_ieee_real_to_integer): Use save_expr instead of
explicit build_decl. (Avoids crash in reload when optimizing.)
* decl.c (complete_start_java_method): Handle synchronized method
even when compiling from bytecode.
From-SVN: r25468
* gjavah.c (add_class_decl): Only generate `#include' if outer
class is not the name of the class we are processing. Correctly
append `.h' in #include.
(process_file): Clean up newlines around generated `#include's.
(decode_signature_piece): Correctly handle inner classes.
(struct include): New structure.
(all_includes): New global.
(print_include): New function.
(add_class_decl): Use it.
(process_file): Likewise.
(add_class_decl): Generate include for java-array.h if array
seen.
(process_file): Don't generate java-array.h include.
From-SVN: r25460
* parse.y (read_import_dir): Use `|=', not `+=', to set `found'.
When reading a zip file, only use strncmp if both strings are
bigger than the buffer length. Initialize `k' when looping
through zip file.
From-SVN: r25439
* gjavah.c (struct namelet): New structure.
(add_namelet): New function.
(print_namelet): New function.
(print_class_decls): Use add_namelet and print_namelet to generate
namespaces and not classes.
(method_printed): New global.
(HANDLE_END_METHOD): Examine method_printed.
(print_method_info): Set method_printed when required. Print
error if function to be ignored is marked virtual. Handle $finit$
method.
(METHOD_IS_FINAL): New macro.
(print_field_info): Use it.
(HANDLE_METHOD): Clear method_printed.
(method_pass): New global.
(HANDLE_END_FIELD): Call add_class_decl on the first pass.
(process_file): Do two passes over both fields and methods.
(HANDLE_METHOD): Examine method_pass.
(root): New global.
(add_class_decl): New function.
(print_class_decls): Don't scan over entire constant pool.
From-SVN: r25403
d
Force left-to-right evaluation of binary operations etc.
* expr.c (force_evaluation_order), java-tree.h: New function.
* parse.y (java_complete_lhs): Pass binary operations, procedure
calls, and ARRAY_REFs to force_evaluation_order.
(various): Set TREE_SIDE_EFFECTS more carefully.
Tolerate random (non-UTF8) encoding in comments without complaining.
* lex.c (java_read_char): Return 0xFFFE if bad UTF8 encoding.
(java_is_eol): Handle '\r' followed by '\n' instead of vice versa.
* parse.y (resolve_qualified_expression_name): Handle error_mark.
(java_complete_node case EXPR_WITH_FILE_LOCATION): Likewise.
* parse.y (java_complete_lhs): Ignore an empty statement in a
COMPOUND_EXPR. Don't complain about empty statement after return.
From-SVN: r25328
T
Force left-to-right evaluation of binary operations etc.
* expr.c (force_evaluation_order), java-tree.h: New function.
* parse.y (java_complete_lhs): Pass binary operations, procedure
calls, and ARRAY_REFs to force_evaluation_order.
(various): Set TREE_SIDE_EFFECTS more carefully.
Tolerate random (non-UTF8) encoding in comments without complaining.
* lex.c (java_read_char): Return 0xFFFE if bad UTF8 encoding.
(java_is_eol): Handle '\r' followed by '\n' instead of vice versa.
* parse.y (resolve_qualified_expression_name): Handle error_mark.
(java_complete_node case EXPR_WITH_FILE_LOCATION): Likewise.
* parse.y (java_complete_lhs): Ignore an empty statement in a
COMPOUND_EXPR. Don't complain about empty statement after return.
From-SVN: r25327
Force left-to-right evaluation of binary operations etc.
* expr.c (force_evaluation_order), java-tree.h: New function.
* parse.y (java_complete_lhs): Pass binary operations, procedure
calls, and ARRAY_REFs to force_evaluation_order.
(various): Set TREE_SIDE_EFFECTS more carefully.
Tolerate random (non-UTF8) encoding in comments without complaining.
* lex.c (java_read_char): Return 0xFFFE if bad UTF8 encoding.
(java_is_eol): Handle '\r' followed by '\n' instead of vice versa.
* parse.y (resolve_qualified_expression_name): Handle error_mark.
(java_complete_node case EXPR_WITH_FILE_LOCATION): Likewise.
* parse.y (java_complete_lhs): Ignore an empty statement in a
COMPOUND_EXPR. Don't complain about empty statement after return.
From-SVN: r25326
a
* parse.y (obtain_incomplete_type): Don't wrap unknown types
in TREE_LIST - just chain the POINTER_TYPEs together.
(resolve_class): If type already resolved, return decl.
After resolving, update TREE_TYPE(class_type), and name (if array).
* parse.h (do_resolve_class), parse.y: Make non-static.
* class.c (maybe_layout_super_class): Take this_class argument.
Do do_resolve_class if necessary.
(layout_class, layout_class_methods): Adjust calls appropriately.
* parse.h (JDEP_TO_RESOLVE, JDEP_RESOLVED_DECL, JDEP_RESOLVED,
JDEP_RESOLVED_P): Redefined for new TREE_LIST-less convention.
* typeck.c (build_java_array_type): Don't call layout_class.
From-SVN: r25325
d
* parse.y (obtain_incomplete_type): Don't wrap unknown types
in TREE_LIST - just chain the POINTER_TYPEs together.
(resolve_class): If type already resolved, return decl.
After resolving, update TREE_TYPE(class_type), and name (if array).
* parse.h (do_resolve_class), parse.y: Make non-static.
* class.c (maybe_layout_super_class): Take this_class argument.
Do do_resolve_class if necessary.
(layout_class, layout_class_methods): Adjust calls appropriately.
* parse.h (JDEP_TO_RESOLVE, JDEP_RESOLVED_DECL, JDEP_RESOLVED,
JDEP_RESOLVED_P): Redefined for new TREE_LIST-less convention.
* typeck.c (build_java_array_type): Don't call layout_class.
From-SVN: r25324
T
* parse.y (obtain_incomplete_type): Don't wrap unknown types
in TREE_LIST - just chain the POINTER_TYPEs together.
(resolve_class): If type already resolved, return decl.
After resolving, update TREE_TYPE(class_type), and name (if array).
* parse.h (do_resolve_class), parse.y: Make non-static.
* class.c (maybe_layout_super_class): Take this_class argument.
Do do_resolve_class if necessary.
(layout_class, layout_class_methods): Adjust calls appropriately.
* parse.h (JDEP_TO_RESOLVE, JDEP_RESOLVED_DECL, JDEP_RESOLVED,
JDEP_RESOLVED_P): Redefined for new TREE_LIST-less convention.
* typeck.c (build_java_array_type): Don't call layout_class.
From-SVN: r25323
* parse.y (obtain_incomplete_type): Don't wrap unknown types
in TREE_LIST - just chain the POINTER_TYPEs together.
(resolve_class): If type already resolved, return decl.
After resolving, update TREE_TYPE(class_type), and name (if array).
* parse.h (do_resolve_class), parse.y: Make non-static.
* class.c (maybe_layout_super_class): Take this_class argument.
Do do_resolve_class if necessary.
(layout_class, layout_class_methods): Adjust calls appropriately.
* parse.h (JDEP_TO_RESOLVE, JDEP_RESOLVED_DECL, JDEP_RESOLVED,
JDEP_RESOLVED_P): Redefined for new TREE_LIST-less convention.
* typeck.c (build_java_array_type): Don't call layout_class.
From-SVN: r25322
�
* parse.y (check_pkg_class_access): Allow private class access
within the same package.
(strip_out_static_field_access_decl): New function.
(patch_unaryop): Call strip_out_static_field_access_decl on ++/--
operator argument before testing its nature.
From-SVN: r25318
* parse.y (check_pkg_class_access): Allow private class access
within the same package.
(strip_out_static_field_access_decl): New function.
(patch_unaryop): Call strip_out_static_field_access_decl on ++/--
operator argument before testing its nature.
From-SVN: r25317
x
* jcf-parse.c (get_constant): Add braces around computation of 'd'
when REAL_ARITHMETIC is not defined. [Oct 26 fix got overwritten -PB]
From-SVN: r25285
�
* jcf-parse.c (get_constant): Add braces around computation of 'd'
when REAL_ARITHMETIC is not defined. [Oct 26 fix got overwritten -PB]
From-SVN: r25284
1999-02-09 Andrew Haley <aph@cygnus.com>
* class.c (build_utf8_ref): Back out broken patch which was
intended to to output signatures using '.' as a separator.
* class.c (make_class_data): Output signatures using '.' as a
separator, rather than '/'.
(mangled_classname): Likewise.
(make_field_value): Likewise.
(make_method_value): Likewise.
* constants.c (alloc_class_constant): Likewise.
* expr.c (build_invokeinterface): Likewise.
From-SVN: r25260
Thu Jan 28 11:50:11 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-parse.c (jcf_parse): Don't parse the same class file twice.
* parse.y (patch_cast): Allow a boolean to be cast into a
boolean.
Wed Jan 27 10:19:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y: (class_declaration:): Fixed indentation.
(class_member_declaration:): Extra `;' after field declaration now
accepted.
(interface_declaration:): Removed debug messages in error reports.
(patch_binop): Nodes created and returned inherit the orignal
node's COMPOUND_ASSIGN_P flag value.
(patch_cast): Fix cast from char to floating point.
From-SVN: r25244
Thu Feb 11 21:25:51 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (valid_builtin_assignconv_identity_widening_p): Got rid
of an ancient workaround.
From-SVN: r25238
Tue Feb 9 19:31:09 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* lex.c (java_lang_cloneable): Initialize.
* parse.y (java_lang_cloneable): New static variable.
(qualify_ambiguous_name): Take CONVERT_EXPR into account when
doing one more qualification round.
(valid_ref_assignconv_cast_p): Reject null source or
destination. Allow an array to be cast into java.lang.Cloneable.
(patch_cast): Swapped two first arguments to first call to
valid_ref_assignconv_cast_p.
From-SVN: r25114
Mon Feb 8 11:50:50 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h: DECL_P renamed JDECL_P.
* parse.y: DECL_P replaced by JDECL_P.
(build_array_from_name): Always use pointer's type.
(patch_bc_statement): Extra code to search continue target in a
for loop. Fixed comments. Continue target is current loop when
unlabeled.
From-SVN: r25082
Fri Jan 29 18:19:02 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* lex.c (java_read_char): Fixed utf8 decoding.
(java_unicode_2_utf8): Fixed utf8 encoding in the 0x800-0xffff
range.
* parse.y (valid_builtin_assignconv_identity_widening_p): Fixed
comments. Local variable `all_primitive' is gone. Broadened
acceptance of `0' to floating point targets. `long' can now be
widened to `double' or `float'.
(valid_method_invocation_conversion_p): Added leading
comment. Fixed tabulation.
(build_string_concatenation): Optimize out left or right empty
string constants.
From-SVN: r25078
1999-02-05 Andrew Haley <aph@cygnus.com>
* class.c (make_class_data): The superclass of an interface should
be null, not class Object.
* lex.c (java_lex): Sign extend hex literals.
From-SVN: r25039
1999-02-04 Andrew Haley <aph@cygnus.com>
* class.c (build_utf8_ref): Output signatures using '.' as a
separator, rather than '/'.
(make_class_data): Likewise.
From-SVN: r25022