* class.c (finish_class): Remove unused parameter, all callers
changed.
* expr.c (build_java_athrow): Change return type to void.
(java_lang_expand_expr): Make sure each case in switch returns a
value.
* java-tree.h (finish_class): Fix prototype to take void args.
* jcf-dump.c (usage): Mark with ATTRIBUTE_NORETURN.
(main): Issue return from main, not exit.
* jcf-parse.c (parse_class_file): Fix call to `finish_class'.
* jcf.h (jcf_unexpected_eof): Mark with ATTRIBUTE_NORETURN.
* jv-scan.c (main): Issue return from main, not exit.
* parse.y (check_abstract_method_definitions,
java_check_abstract_method_definitions): Add static prototypes.
(java_complete_expand_methods): Fix call to `finish_class'.
* verify.c (verify_jvm_instructions): Initialize variables `oldpc'
and `prevpc'.
From-SVN: r29065
* Makefile.in (LIBS): Fix definition so we link with $(CLIB).
Remove hacks for stuff which comes from libiberty.
* Make-lang.in: Likewise.
From-SVN: r28995
Thu Aug 26 09:10:58 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (lookup_cl): Changed leading comment. Now does its best
to set the column number.
(qualify_ambiguous_name): Take WFL wrappers into account.
This patch fixes the Java net PR #32.
From-SVN: r28894
Sun Aug 22 11:07:41 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (check_method_redefinition): Changed leading comment.
(check_abstract_method_definitions): New function.
(java_check_abstract_method_definitions): New function.
(java_check_regular_methods): Call it.
(verify_constructor_super): Fixed indentation.
(lookup_method_invoke): Likewise.
(This fixes the Java net PR #30,
http://sourceware.cygnus.com/ml/java-prs/1999-q3/msg00034.html)
From-SVN: r28805
Thu Aug 19 10:26:18 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (method_header): Return a null pointer if the current
class node is null.
(finish_method_declaration): Return if the current function decl
is null.
(source_start_java_method): Likewise.
(java_method_add_stmt): Likewise.
This fixes the net PR #17.
From-SVN: r28765
* java/decl.c (start_java_method): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* java/expr.c (pop_arguments): Ditto.
* java/parse.y (expand_start_java_method): Ditto.
From-SVN: r28419
* expr.c (build_java_soft_divmod): Provide a default case in switch.
(java_lang_expand_expr): Mark parameters `target', `tmode' and
`modifier' with ATTRIBUTE_UNUSED.
* gjavah.c (process_file): Add braces around ambiguous `else'.
* jcf-dump.c (print_access_flags, localvar_free): Change return
type to void.
* parse.y (java_complete_expand_method): Initialize variable
`exception_copy'.
(resolve_qualified_expression_name): Likewise for `field_decl'.
(patch_method_invocation): Likewise for `class_to_search'.
(qualify_ambiguous_name): Likewise for `name' and `ptr_type'.
(patch_assignment): Likewise for `lhs_type'.
* verify.c (verify_jvm_instructions): Remove unused variable
`caller'.
From-SVN: r28344
* gjavah.c (print_stub): New function.
(METHOD_IS_NATIVE): New macro.
(print_mangled_classname): Make static.
(HANDLE_END_FIELD): Don't emit fields during stub generation.
(process_file): Perform stub generation.
(HANDLE_METHOD): Don't emit class decls during stub
generation.
(HANDLE_END_METHOD): Take into account stub generation.
(print_method_info): Handle stub generation.
(print_stub): New function.
(print_cxx_classname): Make signature consistant with others.
(help): Describe -stubs option.
(main): Create stub file.
(version): Use version.c.
(print_full_cxx_name): New function.
(print_c_decl): Use print_full_cxx_name.
From-SVN: r28236
1999-07-15 Andrew Haley <aph@cygnus.com>
* lang.c (flag_use_divide_subroutine): New variable.
* typeck.c: (convert_ieee_real_to_integer): Bounds check
fp-to-integer conversion.
(convert): Call convert_ieee_real_to_integer when flag_fast_math
is not set.
* expr.c (build_java_soft_divmod): New function.
(build_java_binop): Call build_java_soft_divmod if
flag_use_divide_subroutine is set.
* decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
soft_lrem_node: new builtin functions.
(init_decl_processing) Initialize the new builtins.
* java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
soft_lrem_node: new builtin functions.
(build_java_soft_divmod): New function.
* parse.y: Call build_java_soft_divmod if
flag_use_divide_subroutine is set.
* parse.c: Rebuilt.
* jvspec.c (lang_specific_driver): Always allow an extra arg (for
a --specs= arg) even if not linking.
* lang-options.h (DEFINE_LANG_NAME ("Java")): Add
-fuse-divide-subroutine
From-SVN: r28209
1999-07-15 Andrew Haley <aph@cygnus.com>
* lang.c (flag_use_divide_subroutine): New variable.
* typeck.c: (convert_ieee_real_to_integer): Bounds check
fp-to-integer conversion.
(convert): Call convert_ieee_real_to_integer when flag_fast_math
is not set.
* expr.c (build_java_soft_divmod): New function.
(build_java_binop): Call build_java_soft_divmod if
flag_use_divide_subroutine is set.
* decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
soft_lrem_node: new builtin functions.
(init_decl_processing) Initialize the new builtins.
* java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
soft_lrem_node: new builtin functions.
(build_java_soft_divmod): New function.
* parse.y: Call build_java_soft_divmod if
flag_use_divide_subroutine is set.
From-SVN: r28208
Tue Jul 20 13:20:05 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (resolve_and_layout): Check methods only once.
(resolve_qualified_expression_name): Verify thrown exceptions
compatibility.
(check_thrown_exceptions): Reject exceptions thrown in
initializer. Error message tuned.
(This fixes PR #12. Libgcj's java/net must be updated in order to compiles
with a patch at this URL:
http://sourceware.cygnus.com/ml/java-patches/1999-q3/msg00048.html)
From-SVN: r28196
Sat Jul 3 22:26:32 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* expr.c (force_evaluation_order): Save the COMPOUND_EXPR'ed
CALL_EXPR, to avoid order of evaluation changes.
Fri Jul 2 17:44:08 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (qualify_ambiguous_name): Do not use
IDENTIFIER_LOCAL_VALUE when name is a STRING_CST.
Thu Jul 1 23:31:16 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (check_init): Handle MAX_EXPR.
* expr.c (force_evaluation_order): Force method call arguments to
be evaluated in left-to-right order.
* parse.y (qualify_ambiguous_name): Loop again to qualify
NEW_ARRAY_EXPR properly.
Wed Jun 30 17:27:58 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_invoke): Resolve unresolved invoked method
returned type.
(qualify_ambiguous_name): STRING_CST to qualify expression for
type name resolution.
From-SVN: r27998
1999-06-24 Andrew Haley <aph@cygnus.com>
* class.c (finish_class): Whenever a deferred method is
output, rescan the list of methods to see if a new candidate for
output can be found.
From-SVN: r27872
Fri Jun 25 13:35:19 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (resolve_package): Fixed bogus return statement.
(patch_method_invocation): Resolve method invocation beginning with
a package name qualifier.
Thu Jun 24 13:12:15 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (java_complete_lhs): When doing cross referencing, don't
try to keep file location on a WFL expanded as a CALL_EXPR.
Wed Jun 23 14:37:15 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (finish_method_declaration): Insert a RETURN_EXPR when
compiling to class file a void method with an empty method body.
As a side effect, the bytecode backend will generate the
appropriate `return' instruction.
Tue Jun 22 20:43:49 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (lookup_package_type_and_set_next): New function prototype.
(resolve_package): Search current and imported packages.
(lookup_package_type_and_set_next): New function.
From-SVN: r27773
* Make-lang.in (CHILL.stage1): Depend on stage1-start.
(CHILL.stage2): Likewise for stage2-start.
(CHILL.stage3): Likewise for stage3-start.
(CHILL.stage4): Likewise for stage4-start.
SMP bootstrap fixes for java:
* Make-lang.in (java.stage1): Depend on stage1-start.
(java.stage2): Likewise for stage2-start.
(java.stage3): Likewise for stage3-start.
(java.stage4): Likewise for stage4-start.
From-SVN: r27766
1999-06-22 Andrew Haley <aph@cygnus.com>
* verify.c (verify_jvm_instructions): Check for pending blocks
before invalid PC test and opcode switch, not after.
From-SVN: r27710
1999-06-21 Andrew Haley <aph@cygnus.com>
* except.c (find_handler_in_range): The upper limit for exception
ranges is exclusive, not inclusive: (start <= pc < end).
(link_handler): find child pointer which points to outer by
searching sibling list: previous code incorrectly assumed that
outer->outer->first_child must point to outer.
* verify.c (verify_jvm_instructions): FIXME added to code for
`athrow'.
(verify_jvm_instructions): Do not assume that the last block
processed in a subroutine is a block which ends with a `ret'
instruction. With some control flows it is possible that the last
block ends with an `athrow'.
From-SVN: r27658
Mon Jun 14 13:13:39 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (qualify_ambiguous_name): Reorganized the post
evaluation of non WFL leading expression nodes.
Fri Jun 11 21:37:18 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (qualify_ambiguous_name): Handle ARRAY_REF after
CONVERT_EXPR.
Thu Jun 10 22:26:17 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (qualify_ambiguous_name): Handle qualified expression
beginning with a STRING_CST.
Thu Jun 10 20:27:25 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (register_fields): Set DECL_INITIAL on both
pre-initialized static and public fields.
(resolve_field_access): Static field access expressions to always
use pointer types.
(qualify_ambiguous_name): Work out buried CALL_EXPR for proper
qualification. CONVERT_EXPR to be resolved as an expression name.
(java_complete_lhs): Identify and access qualified final
initialized field in switch statement case expression.
(fold_constant_for_init): Pre-initialized field decl constant to
be folded.
From-SVN: r27523
Mon Jun 7 16:09:51 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (note_possible_classname): Mark returned node with
QUALIFIED_P only if the original class name contained a '/'.
From-SVN: r27396
Sat Jun 5 11:46:59 1999 Anthony Green <green@cygnus.com>
* Make-lang.in (gcjh): More parallel build fixes.
1999-06-03 Mike Stump <mrs@wrs.com>
* Make-lang.in (JCF_DUMP_SOURCES, jvgenmain): Fix parallel builds.
From-SVN: r27373
Wed Jun 2 10:44:38 1999 Anthony Green <green@cygnus.com>
* except.c (link_handler): Chain exception handlers in order.
Wed Jun 2 10:41:24 1999 Anthony Green <green@cygnus.com>
* expr.c (expand_byte_code): Fill unreachable bytecode regions
with nops and process as usual in order to always set correct EH
ranges. Emit detailed warnings about unreachable bytecodes.
Wed Jun 2 10:35:13 1999 Anthony Green <green@cygnus.com>
* class.c (build_utf8_ref): Mark cinit and utf8 tree nodes as
constant.
(From egcs posted patches.)
From-SVN: r27314