Fri May 14 12:31:08 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* xref.c (xref_set_current_fp): New function, defined.
* xref.h (xref_set_current_fp): New function, prototyped.
Fri May 14 11:57:54 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (check_init): Take into account that
LABELED_BLOCK_STMT can be empty.
From-SVN: r26935
Thu May 13 13:23:38 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (check_init): Removed code accepting to see things
falling through default:, when doing xrefs.
* java-tree.h (do_not_fold): New global variable, declared.
* parse.y (do_not_fold): New global variable, defined.
(java_complete_expand_method): Set `do_not_fold' to the value of
`flag_emit_xref'. When doing xrefs: copy the thrown exceptions,
and reinstall them after them have been purged; do not check for
initializations; do not issue missing return errors.
(java_complete_lhs): Do not attempt to patch INSTANCEOF_EXPR nodes
when doing xrefs.
(patch_binop): Skip the fold part when doing xrefs.
(build_string_concatenation): Skip the concatenation part when
doing xrefs.
(patch_synchronized_statement): Do not generate a try-finally when
doing xrefs.
(patch_throw_statement): When doing xrefs, do not call BUILD_THROW
and keep the location where the throw was seen.
* typeck.c (convert): When `do_not_fold' is set, do not attempt
any treatment on the converted node an simply return a NOP_EXPR of
the targeted type.
* xref.c (xref_get_data): New function, defined.
* xref.h (xref_get_data): New function, declared.
(XREF_GET_DATA): Use xref_get_data.
From-SVN: r26926
Mon Apr 19 14:44:48 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* lang.c (lang_decode_option): Fixed returned value when parsing
`-fxref=...' and `-Wall'.
* parse.y (source_end_java_method): Do not generate code when
flag_emit_xref is set.
(resolve_expression_name): Do not build static field access when
flag_emit_xref is set.
(resolve_field_access): No special treatement on `length' when
flag_emit_xref is set. Do not build qualified static field access
when flag_emit_xref is set.
(patch_invoke): Keep the method DECL as operand 0 of the CALL_EXPR
when flag_emit_xref is set.
(patch_assignment): Do not generate array store runtime check when
flag_emit_xref is set.
* xref.c (xref_flag_value): Fixed function declaration
indentation.
(xset_set_data): New function.
* xref.h (xref_set_data): Added prototype for new function.
(typedef struct xref_flag_table): New field data.
(XREF_GET_DATA): New macro.
From-SVN: r26550
* class.c (add_method_1): Cast the argument of `bzero' to PTR.
* decl.c (copy_lang_decl): Likewise for `bcopy'.
* jcf-depend.c: Include "config.h", not <config.h>.
* jcf-parse.c (jcf_figure_file_type): Cast the arguments of
`bcopy' to PTR.
* jcf-path.c: Include "config.h", not <config.h>.
* lex.c: Don't include various system header files.
(java_init_lex): Cast the argument of `bzero' to PTR
* parse-scan.y (java_push_parser_context): Likewise.
* parse.y (java_push_parser_context): Likewise.
* xref.c: Don't include <stdio.h>.
From-SVN: r26203
Sat Mar 27 15:13:21 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (EXPR_WFL_GET_LINECOL): Set a line and column count
using a WFL compound value.
* parse.y (xref.h): Include.
(maybe_create_class_interface_decl): Set DECL_SOURCE_LINE to the
WFL compound value.
(register_fields): Set WFL compound value to lineno if doing
xrefs.
(java_complete_expand_method): Call expand_xref if flag_emit_xref
is set.
* xref.c (system.h, jcf.h, parse.h, obstack.h): Include.
* xref.h (expand_xref): Prototype renamed from xref_generate.
Sat Mar 27 14:16:32 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (BLOCK_CHAIN_DECL): New use GET_CURRENT_BLOCK.
(GET_CURRENT_BLOCK): New macro.
* parse.y (current_static_block): New global variable.
(method_body:): Define action.
(complete_method_declaration): Set current_function_decl to NULL
when work on the current method is done.
(declare_local_variables): Use GET_CURRENT_BLOCK.
(java_method_add_stmt): Likewise.
(java_complete_expand_method): Disable the use of `this' when
expanding <clinit>.
(enter_a_block): If no current method exist, use
current_static_block to link static initializer blocks.
(exit_block): Rewritten to use current_static_block when no current
method decl exists.
(lookup_name_in_blocks): Use GET_CURRENT_BLOCK.
(patch_return): Forbid the use of `return' in static initializers.
(patch_throw_statement): Fixed indentation. Issue specific error
for uncaught thrown checked exception in static initializer
blocks. Removed FIXME.
From-SVN: r26018