Age | Commit message (Collapse) | Author | Files | Lines |
|
Mon May 17 19:20:24 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (constructor_block_end:): New rule, tagged <node>.
(constructor_body:): Use `constructor_block_end' instead of
`block_end'.
From-SVN: r26978
|
|
Mon May 17 18:01:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (statement_nsi:): Pop `for' statement block.
(java_complete_lhs): Labelled blocks containing no statement are
marked as completing normally.
(Part of the previous check-in, where the generated parse.c was
forgotten.)
From-SVN: r26977
|
|
Mon May 17 18:01:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (statement_nsi:): Pop `for' statement block.
(java_complete_lhs): Labelled blocks containing no statement are
marked as completing normally.
From-SVN: r26976
|
|
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
|
|
methods with default access in other packages...
Thu May 13 18:30:48 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (java_check_regular_methods): Warning check on not
overriding methods with default access in other packages does not
apply to `<clinit>'.
(java_complete_lhs): If block body is an empty_stmt_node, replace
it by NULL_TREE. This avoid gcc generating an irrelevant warning.
From-SVN: r26930
|
|
through default:, when doing xrefs.
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
|
|
against a signed value.
* gjavah.c (print_include): Cast the result of `strlen' to int
when comparing against a signed value.
(add_namelet): Likewise.
From-SVN: r26924
|
|
* expr.c (expand_invoke): Mark parameter `nargs' with
ATTRIBUTE_UNUSED.
(PRE_LOOKUP_SWITCH): Likewise for variable `match'.
* jcf-io.c (jcf_unexpected_eof): Mark parameter `count' with
ATTRIBUTE_UNUSED.
* jcf-reader.c (get_attribute): Cast a value to long
when comparing against a signed expression. Likewise.
From-SVN: r26907
|
|
* lex.h: Never define HOST_WIDE_INT, HOST_BITS_PER_WIDE_INT or
HOST_BITS_PER_CHAR.
From-SVN: r26906
|
|
exception handlers...
1999-05-11 Andrew Haley <aph@cygnus.com>
* parse.y (source_end_java_method): If the current method contains
any exception handlers, force asynchronous_exceptions: this is
necessary because signal handlers in libjava may throw exceptions.
* decl.c (end_java_method): Ditto.
From-SVN: r26884
|
|
* Make-lang.in (jvspec.o): Don't define WITH_THREAD_x or WITH_GC_x
flags.
* jvspec.c (THREAD_NAME): Removed.
(GC_NAME): Likewise.
(MATHLIB): Likewise.
(WITHLIBC): Likewise.
(GCLIB): Likewise.
(THREADLIB): Likewise.
(MATH_LIBRARY): Likewise.
(lang_specific_driver): Don't add `-l' options to command line.
Instead, add a single --specs option. Recognize `-L' options and
use them to search for spec file.
(find_spec_file): New function.
(SPEC_FILE): New define.
From-SVN: r26883
|
|
Tue May 11 11:46:36 1999 Dave Brolley <brolley@cygnus.com>
* lang-options.h: -MD, -MMD, -M and -MM not needed here for
cpplib-enabled build.
From-SVN: r26882
|
|
From-SVN: r26809
|
|
From-SVN: r26799
|
|
d
* class.c (make_field_value): DECL_INITIAL may be a string literal;
temporarily zero it while calling rest_of_decl_compilation.
* java-tree.h (string_ptr_type_node): Add declaration.
* decl.c: Define and initialize string_ptr_type_node.
* parse.y (patch_string_cst): Use string_ptr_type_node.
* parse.h (LOOP_HAS_LABEL_P, LOOP_HAS_LABEL_SKIP_P): Removed.
* parse.y (for_statement): Now unconditionally exit_block.
(finish_labeled_statement): No longer exit_block if for-loop.
(patch_loop_statement): Check harder if the loop is already labeled.
* parse.y (patch_initialized_static_field): Removed function.
(maybe_generate_clinit): Removed special handling for interfaces.
(java_complete_expand_methods): Do a preliminary java_complete_tree
on <clinit> to determine if it can be removed.
(java_complete_expand_method): Remove special handling for <clinit>.
(java_complete_lhs): For BLOCK and EXPR_WITH_FILE_LOCATION
optimize if we get back empty_stmt_node.
For MODIFY_EXPR, re-do checking of static initializers.
(fold_constant_for_init): Don't return immediate if VAR_DECL.
For VAR_DECL, pass correct context.
From-SVN: r26790
|
|
* class.c (make_field_value): DECL_INITIAL may be a string literal;
temporarily zero it while calling rest_of_decl_compilation.
* java-tree.h (string_ptr_type_node): Add declaration.
* decl.c: Define and initialize string_ptr_type_node.
* parse.y (patch_string_cst): Use string_ptr_type_node.
* parse.h (LOOP_HAS_LABEL_P, LOOP_HAS_LABEL_SKIP_P): Removed.
* parse.y (for_statement): Now unconditionally exit_block.
(finish_labeled_statement): No longer exit_block if for-loop.
(patch_loop_statement): Check harder if the loop is already labeled.
* parse.y (patch_initialized_static_field): Removed function.
(maybe_generate_clinit): Removed special handling for interfaces.
(java_complete_expand_methods): Do a preliminary java_complete_tree
on <clinit> to determine if it can be removed.
(java_complete_expand_method): Remove special handling for <clinit>.
(java_complete_lhs): For BLOCK and EXPR_WITH_FILE_LOCATION
optimize if we get back empty_stmt_node.
For MODIFY_EXPR, re-do checking of static initializers.
(fold_constant_for_init): Don't return immediate if VAR_DECL.
For VAR_DECL, pass correct context.
From-SVN: r26789
|
|
�
* verify.c (verify_jvm_instructions): Better error messages.
From-SVN: r26788
|
|
interfaces.
* parse-scan.y (interface_declaration): Call
report_class_declaration for interfaces.
From-SVN: r26761
|
|
interfaces.
* parse-scan.y (interface_declaration): Call
report_class_declaration for interfaces.
From-SVN: r26760
|
|
Fri Apr 30 17:54:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (check_init): Exclude a case of error when doing
xrefs.
* class.c (layout_class_method): Don't generate the error message
twice when compiling from source.
* lang-options.h: Added `-Wredundant-modifers' and
`-Wunusupported-jdk11' flags and help text.
* lang.c (lang_decode_option): Added support for
`-Wunsupported-jdk11' and `-Wredundant-modifiers'.
flag_static_local_jdk11 and flag_redundant set accordingly.
* lex.c (java_lex): Call BUILD_OPERATOR on CCB_TK.
* parse.h (EXPR_WFL_ADD_COL): New macro.
(DECL_END_SOURCE_LINE): Likewise.
(DECL_INHERITED_SOURCE_LINE): Likewise.
* parse.y (static_ref_err): New function, prototyped.
(CCB_TK): Now tagged <operator>.
(class_body:): Remember the location of the closing '}' of a class
definition when doing xrefs.
(block:): Likewise.
(block_end:): Likewise.
(create_class): Remember the location of the inherited class
identifier when doing xrefs.
(register_fields): Added test on first operand of `init' before
testing it TREE_CODE.
(method_header): Store the location of the class identifier in the
class decl when doing xrefs.
(finish_method_declaration): Don't combine first/last method line
when doing xref.
(java_check_regular_methods): Warning check on not overriding
methods with default access on other packages move before check on
static methods. Initialization of `aflags' also moved up.
(resolve_expression_name): Call static_ref_err to report the error.
(static_ref_err): New function, implemented.
(resolve_field_access): Returned simplified static field access
when doing xrefs.
(resolve_qualified_expression_name): Check for illegal use of
static fields in a non static context. Call static_ref_err to
report error in various places.
(java_complete_tree): To not fold initialized static fields when
doing xrefs.
(java_complete_lhs): Likewise.
From-SVN: r26758
|
|
1999-04-30 20:54 -0400 Zack Weinberg <zack@rabi.columbia.edu>
* Makefile.in: Remove -v from bison command lines.
From-SVN: r26714
|
|
coding standards.
From-SVN: r26679
|
|
labels.
* expr.c (generate_name): Use ASM_GENERATE_INTERNAL_LABEL to
create internal labels.
(lookup_label): Ditto.
From-SVN: r26672
|
|
Sat Apr 24 16:50:19 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (layout_class_method): Generate <clinit>'s rtl for
interfaces.
* decl.c (complete_start_java_method): Don't call _Jv_InitClass
for interfaces' <clinit>.
* expr.c (lookup_field): Search for fields in interfaces.
(expand_invoke): Fixed indentation.
(expand_java_field_op): Likewise. Use IS_CLINIT.
* parse.h (JPRIMITIVE_TYPE_OR_VOID_P): Macro removed.
(IS_CLINIT): New macro.
* parse.y (type_declaration:): Call maybe_generate_clinit after an
interface was parsed.
(maybe_generate_clinit): Don't generate if the current class is an
interface with only fields of primitive types.
(reset_method_name): Use IS_CLINIT.
(java_complete_expand_method): Expand <clinit> when it exists for
interfaces. Use IS_CLINIT.
(resolve_expression_name): Use DECL_CONTEXT instead of
current_class to build static field references.
(java_complete_lhs): Use IS__CLINIT. Don't use SAVE_EXPR on
ARRAY_REF when doing xreferencing.
(check_final_assignment): Fixed typo in leading comment. Use
IS_CLINIT.
(patch_array_ref): Don't fully expand array references when
xreferencing.
(patch_return): Use IS_CLINIT.
(patch_throw_statement): Likewise.
From-SVN: r26661
|
|
From-SVN: r26585
|
|
Wed Apr 21 11:13:36 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (predef_filenames, predef_filenames_size): New globals
(init_decl_processing): predef_filenames and predef_filenames_size
initialized.
* java-tree.h (predef_filenames, predef_filenames_size): Declared
extern.
* jcf-parse.c (predefined_filename_p): New function.
(yyparse): Check that files on the command line are specified only
once and issue a warning otherwise.
* parse.h (JPRIMITIVE_TYPE_OR_VOID_P): New macro.
* parse.y (source_end_java_method): Nullify NOP method bodies, to
avoid a gcc warning with -W -Wall turned on.
(java_expand_classes): Abort if errors were encountered.
(java_complete_lhs): If the cross reference flag is set, wrap
field DECL node around a WFL when resolving expression name.
From-SVN: r26578
|
|
and `-Wall'.
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
|
|
* xref.h (enum): Removed trailing comma.
* parse.y (resolve_qualified_expression_name): Added missing
`break'.
From-SVN: r26546
|
|
Thu Apr 15 13:08:03 1999 Anthony Green <green@cygnus.com>
* gjavah.c: New prototypes for java_float_finite and
java_double_finite.
From-SVN: r26474
|
|
Mon Apr 12 18:27:32 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_unaryop): Fix ++ operator check on array
references.
From-SVN: r26382
|
|
Tue Apr 6 15:15:51 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_assignment): Added ArrayStoreException runtime
check.
From-SVN: r26318
|
|
* Makefile.in (TREE_H): Add tree-check.h.
(RTL_H): Add genrtl.h.
From-SVN: r26228
|
|
�
* expr.c (pop_type_0): New function.
(pop_type): Use pop_type_0.
* java-tree.h (pop_type_0): New declaration.
* verify.c (verify_jvm_instructions): Check return instructions.
From-SVN: r26218
|
|
�
* expr.c (pop_type_0): New function.
(pop_type): Use pop_type_0.
* java-tree.h (pop_type_0): New declaration.
* verify.c (verify_jvm_instructions): Check return instructions.
From-SVN: r26217
|
|
8
* parse.y (patch_binop): Don't fold if non-constant and emiting
class files.
From-SVN: r26216
|
|
�
* parse.y (patch_binop): Don't fold if non-constant and emiting
class files.
From-SVN: r26215
|
|
h
* parse.y (patch_binop): Don't fold if non-constant and emiting
class files.
From-SVN: r26214
|
|
* Makefile.in (gjavah.o): Depend on $(JAVA_TREE_H).
* gjavah.c: Include math.h earlier. Include tree.h/java-tree.h.
(main_jcf): Don't define.
(process_file): Don't set `main_jcf'.
* java-tree.h (main_jcf): Don't declare.
* jcf-parse.c (main_jcf): Add static definition.
* lang.c (main_jcf): Don't define.
From-SVN: r26204
|
|
* 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
|
|
Mon Apr 5 11:24:19 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (struct parser_ctxt *ctxp): Now global.
(declare_local_variables): Use WFL compound value for the
declaration source line value, when doing cross-referencing.
From-SVN: r26201
|
|
* gjavah.c (print_field_info): Allow constants of other types.
(print_include): Generate include when new name is proper prefix
of already printed name.
(add_namelet): Likewise.
(cxx_keyword_subst): New function.
(print_method_info): Use it.
(print_field_name): New function.
(get_field_name): New function.
(print_field_info): Use get_field_name and print_field_name.
From-SVN: r26085
|
|
* Makefile.in (keyword.h): Generate using gperf language 'C', not
'KR-C', so gperf uses the `const' keyword on strings.
* keyword.gperf (java_keyword): Const-ify a char*.
From-SVN: r26082
|
|
Tue Mar 30 11:31:53 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_bc_statement): Fixed identation and a bogus
`printf' format.
Tue Mar 30 11:29:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_assignment): Allow static variables in other
classes to be assigned.
From-SVN: r26065
|
|
* class.c (maybe_add_interface): Remove unused variable
`interface_binfo'.
(make_class_data): Use = for assignment, not ==. Likewise.
(emit_register_classes): Remove unused variable `decl'.
* lex.c: Fix comment so as not to contain an embedded `/*'.
* verify.c (verify_jvm_instructions): Remove unused variable
`self_type'.
From-SVN: r26046
|
|
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
|
|
�
* parse.y (complete_loop_body): Rename to finish_loop_body.
(complete_labeled_statement): Rename to finish_labeled_statement.
(complete_for_loop): Rename to finish_for_loop.
(complete_method_declaration): Rename to finish_method_declaration.
* java-tree.h (continue_identifier_node): New global node.
* decl.c: Define and initialize continue_identifier_node.
* parse.y (generate_labeled_block): Remove - no longer needed.
(build_loop_body): Use continue_identifier_node for continue block.
(finish_labeled_statement): Also do pop_labeled_block actions.
(java_complete_lhs): POP_LOOP even if error.
(build_labeled_block): Special handling for continue_identifier_node.
(patch_loop_statement): Re-organize.
(patch_bc_statement): Re-write.
From-SVN: r26017
|
|
From-SVN: r26016
|
|
d
* parse.y (complete_loop_body): Rename to finish_loop_body.
(complete_labeled_statement): Rename to finish_labeled_statement.
(complete_for_loop): Rename to finish_for_loop.
(complete_method_declaration): Rename to finish_method_declaration.
* java-tree.h (continue_identifier_node): New global node.
* decl.c: Define and initialize continue_identifier_node.
* parse.y (generate_labeled_block): Remove - no longer needed.
(build_loop_body): Use continue_identifier_node for continue block.
(finish_labeled_statement): Also do pop_labeled_block actions.
(java_complete_lhs): POP_LOOP even if error.
(build_labeled_block): Special handling for continue_identifier_node.
(patch_loop_statement): Re-organize.
(patch_bc_statement): Re-write.
From-SVN: r26015
|
|
LANG_SPECIFIC_DRIVER.
* gcc.c: Compile unconditionally all code formerly dependent
on #ifdef LANG_SPECIFIC_DRIVER.
* gccspec.c: New file with stub lang_specific_driver,
lang_specific_pre_link.
* Makefile.in: Link gccspec.o into xgcc. Add rule to compile
gccspec.c.
* cp/Make-lang.in: Remove all references to g++.o/g++.c.
Link g++ from gcc.o.
* f/Make-lang.in: Remove all references to g77.o/g77.c.
Link g77 from gcc.o.
* java/Make-lang.in: Remove all references to gcj.o/gcj.c.
Link gcj from gcc.o.
From-SVN: r25989
|
|
interface...
Tue Mar 23 10:48:24 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): When dealing
with interface: ensure that a given interface or java.lang.Object
are searched only once.
From-SVN: r25925
|