aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
AgeCommit message (Collapse)AuthorFilesLines
2000-06-26re GNATS gcj/268 (Internal compiler error in for-loop test condition)Tom Tromey3-212/+225
* parse.y (for_statement): Wrap expression in a WFL if it is a constant. For PR gcj/268. From-SVN: r34712
2000-06-26parse.y (do_resolve_class): Minor optimiztion in the package list search.Alexandre Petit-Bianco3-10/+21
2000-06-25 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (do_resolve_class): Minor optimiztion in the package list search. Removed unecessary test and return statement. (valid_ref_assignconv_cast_p): Order of arguments to enclosing_context_p fixed. From-SVN: r34705
2000-06-25expr.c (lookup_field): Print error and return error_mark_node if field ↵Tom Tromey2-2/+25
reference is ambiguous. * expr.c (lookup_field): Print error and return error_mark_node if field reference is ambiguous. From-SVN: r34698
2000-06-25parse.y (check_abstract_method_definitions): Also check if `other_method' is ↵Tom Tromey3-2/+11
abstract. * parse.y (check_abstract_method_definitions): Also check if `other_method' is abstract. From-SVN: r34697
2000-06-25re GNATS gcj/260 ("Klass.class" expression should cause Klass to be initialized)Tom Tromey3-4/+15
* parse.y (patch_incomplete_class_ref): Initialize the returned class. For PR gcj/260. From-SVN: r34695
2000-06-21[multiple changes]Alexandre Petit-Bianco11-624/+806
2000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com> * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'. 2000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com> * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for Java specific checks. * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage screened by DECL_P. * java-tree.def (CASE_EXPR): Marked 'e'. (DEFAULT_EXPR): Likewise. * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage screened by DECL_P. * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for Java specific checks. (generate_bytecode_insns): Test try_block for BLOCK before using BLOCK_EXPR_BODY. * parse.y (build_wfl_wrap): Added `location' argument. Set EXPR_WFL_LINECOL accordingly. (dim_expr:): Wrap constants with WFLs. (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC. (resolve_package): Check for `stmt' not being a BLOCK before building a debuggable statement with it. (make_qualified_primary): Added extra parameter to build_wfl_wrap invocation. (resolve_field_access): Make sure `decl' is a DECL before treating it as such. (maybe_build_primttype_type_ref): Make sure `wfl''s node is an IDENTIFIER_NODE before treating it as such. (patch_new_array_init): Make sure `elt' is a TREE_LIST before treating it as such. (find_applicable_accessible_methods_list): CLASS_INTERFACE macro to be applied only on non array types. 2000-06-16 Per Bothner <per@bothner.com> * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't define in terms of DECL_RESULT, as that fails when --enable-checking. 2000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries. * parse.y (find_in_imports): Returned type changed to void, leading comment fixed. (register_package): New function. (qualify_and_find): Likewise. (package_declaration:): Use `register_package'. (single_type_import_declaration:): Removed local variable `node'. Added missing `;' for consistency. (type_import_on_demand_declaration:): Use `chainon' to link new entries. (lookup_field_wrapper): Lookup local variables defined in outer contexts first. (java_complete_class): Don't reverse the list of imported on demand. (do_resolve_class): Reorganized. Removed local variable `original_name'. Call `qualify_and_find' with the current package name, invoke `find_in_imports_on_demand' right after. Call `qualify_and_find' with the packages we've seen so far. Fixed operations numbering in comments. (java_expand_class): Don't reverse `package_list'. (find_most_specific_methods_list): New local variables `abstract' and `candidates'. Use them to pick the right method. (Fixes for the ENABLE_TREE_CHECKING Java run-time build problem: http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00551.html) From-SVN: r34642
2000-06-15jcf-write.c (CHECK_PUT): Add static prototype.Kaveh R. Ghazi2-4/+14
* jcf-write.c (CHECK_PUT): Add static prototype. Make pointer types the same in comparison. (CHECK_OP): Add static prototype. From-SVN: r34566
2000-06-14tree.h (TYPE_USER_ALIGN, [...]): Define.Jakub Jelinek4-1/+12
* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define. (struct tree_type, struct tree_decl): Add user_align member. * stor-layout.c (layout_decl): Set DECL_USER_ALIGN. (place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined and DECL_USER_ALIGN 0, cap alignment to this value. (place_field): Likewise. (finalize_type_size): Set TYPE_USER_ALIGN. (layout_type): Likewise. (initialize_sizetypes): Likewise. * c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp. DECL_USER_ALIGN to 1. * c-decl.c (duplicate_decls): Set DECL_USER_ALIGN. (xfer_tag): Set TYPE_USER_ALIGN. (finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. (finish_enum): Likewise. * stmt.c (expand_decl): Set DECL_USER_ALIGN. (expand_anon_union_decl): Likewise. * tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. (build_index_type): Set TYPE_USER_ALIGN. (build_range_type): Likewise. (build_common_tree_nodes_2): Likewise. * tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning. ch/: * decl.c (init_decl_processing): Set TYPE_USER_ALIGN. (layout_enum): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. * typeck.c (layout_chill_range_type): Set TYPE_USER_ALIGN. (apply_chill_field_layout): Set DECL_USER_ALIGN. (layout_chill_struct_type): Set TYPE_USER_ALIGN. cp/: * class.c (build_secondary_vtable): Set DECL_USER_ALIGN. (check_bitfield_decl, check_field_decl): Likewise. (build_vtbl_or_vbase_field, build_base_field): Likewise. (layout_class_type): Set DECL_USER_ALIGN resp. CLASSTYPE_USER_ALIGN. * decl.c (record_unknown_type): Set TYPE_USER_ALIGN. (xfer_tag, finish_enum): Likewise. * decl2.c (finish_builtin_type): Likewise. * init.c (init_init_processing): Likewise. * pt.c (instantiate_class_template): Likewise. * rtti.c (get_tinfo_decl, synthesize_tinfo_fn): Set DECL_USER_ALIGN. * cp-tree.h (struct lang_type): Add user_align member. (CLASSTYPE_USER_ALIGN): Define. f/: * com.c (ffecom_transform_common_): Set DECL_USER_ALIGN. (ffecom_transform_equiv_, ffecom_decl_field): Likewise. (ffecom_init_0): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. (duplicate_decls): Set DECL_USER_ALIGN. java/: * typeck.c (build_java_array_type): Set TYPE_USER_ALIGN. * parse.y (java_complete_class): Set DECL_USER_ALIGN. * parse.c: Rebuilt. From-SVN: r34541
2000-06-11Warning fixes:Kaveh R. Ghazi4-2/+12
* bb-reorder.c (build_scope_forest): Initialize variable `curr_scope'. * calls.c (expand_call): Likewise for variables `save_pending_stack_adjust' and `save_stack_pointer_delta'. * i386.c (function_arg_advance, function_arg): Cast to avoid signed/unsigned warnings. * i386.h (MEMORY_MOVE_COST): Likewise. * ifcvt.c (cond_exec_process_if_block): Initialize variables `else_start' and `else_end'. * libgcc2.h (__eh_alloc, __eh_free): Prototype. * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'. ch: * Makefile.in (EXPR_H): New dependency variable. (actions.o, expr.o): Use EXPR_H. (lang.o): Depend on RTL_H and EXPR_H. * lang.c: Include rtl.h and expr.h. (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. cp: * decl2.c (compare_options): Don't needlessly cast away const-ness. f: * com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. java: * decl.c (create_primitive_vtable): Prototype. * jcf-write.c (generate_bytecode_insns): Initialize variable `saved_context'. * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. From-SVN: r34490
2000-06-06parse.y (check_modifiers_consistency): Don't subtract out `PUBLIC_TK' from ↵Tom Tromey2-4/+7
argument to THIS_MODIFIER_ONLY. * parse.y (check_modifiers_consistency): Don't subtract out `PUBLIC_TK' from argument to THIS_MODIFIER_ONLY. From-SVN: r34433
2000-06-06configure.in (AC_C_INLINE): Added.Philipp Thomas3-2/+16
gcc/: * configure.in (AC_C_INLINE): Added. * configure: Regenerate. gcc/java: * Makefile.in (INTLLIBS): New. (LIBS): Add above. (DEPLIBS): Ditto. gcc/f: * Makefile.in(INTLLIBS): New macro. (LIBS): Add INTLLIBS. (DEPLIBS): Likewise. gcc/ch: * Makefile.in: Changed to be processed by configure. (INTLLIBS): New macro. (LIBS): Add INTLLIBS. (DEPLIBS): Likewise. * config-lang(outputs): Specify ch/Makefile. gcc/po: * Makefile.in.in: Add --define switch for xgettext. gcc/intl: * Makefile.in: Add -DIN_GCC to DEFS, add appropriate -I switches. * dcgettext.c: Define _GNU_SOURCE before any system header is included. Guard getcwd declaration with HAVE_DECL_GETCWD. * loadmsgcat.c (_nl_load_domain): Cast st.st_size in compaison to size_t. * localealias.c: Define _GNU_SOURCE before any system header is included. Don't use return value of memcpy because it could be a macro defined in terms of bcopy. (read_alias_file): Remove HAVE_MEMCPY guard and just don't use the return value of memcpy. Cast argument to fgets and strlen to char *. * explodename.c (_nl_explode_name): Cast codeset to unsigned char ** in call to _nl_normalize_codeset. * l10nflist.c: Define _GNU_SOURCE before any system header is included. From-SVN: r34423
2000-06-02class.c (get_dispatch_table): Build the vtable dummy entry list element with ↵Alexandre Petit-Bianco2-4/+32
a null purpose. Fri Jun 2 16:48:55 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (get_dispatch_table): Build the vtable dummy entry list element with a null purpose. Fixed leading comment. (build_dtable_decl): Build an accurate dtable type when appropriate and use it. From-SVN: r34369
2000-06-02alias.c (lang_get_alias_set): Remove.Richard Henderson2-0/+14
gcc/ * alias.c (lang_get_alias_set): Remove. (get_alias_set): Call it directly, not indirectly. * c-common.c (lang_get_alias_set): Rename from c_get_alias_set. * c-common.h (c_get_alias_set): Don't declare. * c-decl.c (init_decl_processing): Don't set lang_get_alias_set. * expr.h (lang_get_alias_set): Declare as function, not pointer. gcc/ch/ * lang.c (lang_get_alias_set): New. gcc/cp/ * decl.c (init_decl_processing): Don't set lang_get_alias_set. gcc/f/ * com.c (lang_get_alias_set): New. gcc/java/ * lang.c (lang_get_alias_set): New. From-SVN: r34368
2000-06-01re GNATS gcj/127 (gcj dumps core on method invocation on a primitive type)Bryce McKinlay3-0/+25
2000-05-23 Bryce McKinlay <bryce@albatross.co.nz> * parse.y (patch_method_invocation): Don't try to lookup methods in primitive types. (This fixes the PR gcj/127: http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00011.html) From-SVN: r34347
2000-06-01re GNATS gcj/207 (Compiler failure)Alexandre Petit-Bianco2-0/+7
Thu Apr 27 17:47:34 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-parse.c (jcf_parse_source): Reset current_class and current_function_decl to NULL before parsing a new file. (This fixes the PR gcj/207: http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00044.html) From-SVN: r34343
2000-06-01re GNATS gcj/129 (Static array length access bug in gcj)Alexandre Petit-Bianco3-0/+30
2000-05-02 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_field_access): Call the appropriate <clinit> before accessing the length of a static array. Craft a decl for the field while its time. (Fixes the PR #129: http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00013.html) From-SVN: r34340
2000-06-01class.c (common_enclosing_context_p): New function.Alexandre Petit-Bianco6-25/+118
2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (common_enclosing_context_p): New function. * java-tree.h (common_enclosing_context_p): Added prototype. * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow classes sharing an outer context with the current instance. * parse.y (build_access_to_thisn): Fixed leading comment. (verify_constructor_super): New local `supper_inner'. Skip enclosing context argument in the case of inner class constructors. (patch_method_invocation): Insert proper context as second parameter to pure inner class constructor super invocations. This fixes the Java PR #177. From-SVN: r34332
2000-05-31re GNATS gcj/71 (failure to compile an interface method invocation on a ↵Alexandre Petit-Bianco2-2/+16
sub-interface) 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-write.c (generate_bytecode_insns): At invokation time, always relate an interface method to the type of its selector. (Fix to the PR #71: http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00040.html) From-SVN: r34330
2000-05-31parse.y (maybe_yank_clinit): New function.Alexandre Petit-Bianco3-454/+574
2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (maybe_yank_clinit): New function. (maybe_generate_pre_expand_clinit): Always link <clinit> at the end of the list of methods belonging to a class. (java_complete_expand_method): Check whether <clinit> is really necessary and expand it accordingly. From-SVN: r34329
2000-05-31parse.y (resolve_field_access): Complete the DECL_INITIAL tree before using ↵Alexandre Petit-Bianco3-166/+237
it as the accessed field. 2000-05-31 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_field_access): Complete the DECL_INITIAL tree before using it as the accessed field. From-SVN: r34320
2000-05-31java-tree.h (boolean_array_vtable, [...]): Declare.Tom Tromey4-8/+98
* java-tree.h (boolean_array_vtable, byte_array_vtable, char_array_vtable, short_array_vtable, int_array_vtable, long_array_vtable, float_array_vtable, double_array_vtable): Declare. * expr.c (get_primitive_array_vtable): New function. (create_primitive_vtable): New function. (java_lang_expand_expr): Enable code to statically generate arrays. * decl.c (init_decl_processing): Create primitive vtables. (boolean_array_vtable, byte_array_vtable, char_array_vtable, short_array_vtable, int_array_vtable, long_array_vtable, float_array_vtable, double_array_vtable): Define. From-SVN: r34314
2000-05-26parse.y (find_applicable_accessible_methods_list): Don't add an ↵Zack Weinberg3-8/+17
uninitialized value to the list. 2000-05-26 Zack Weinberg <zack@wolery.cumb.org> * java/parse.y (find_applicable_accessible_methods_list): Don't add an uninitialized value to the list. From-SVN: r34196
2000-05-26re GNATS gcj/162 (gcj does not initialize interfaces according to spec)Tom Tromey3-4/+7
* parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC when trying to see if field's class should be initialized. Always initialize field's declaring class, not qualified class. For PR gcj/162. From-SVN: r34182
2000-05-26re GNATS gcj/235 (source parser dies when Primitive.TYPE is used in an array ↵Tom Tromey3-2/+8
declaration) * parse.y (array_constructor_check_entry): Pass `wfl_value', not `wfl_operator', to maybe_build_primttype_type_ref. Fixes PR gcj/235. From-SVN: r34181
2000-05-20parse.y (resolve_package): Correctly set `*next' (was off by one.)Alexandre Petit-Bianco3-4/+16
2000-05-01 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_package): Correctly set `*next' (was off by one.) (resolve_qualified_expression_name): Fixed comment. From-SVN: r34060
2000-05-19parse.y (block_end:): If the collected block doesn't feature a statement, ↵Alexandre Petit-Bianco3-273/+282
insert an empty statement. Thu Apr 27 17:25:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (block_end:): If the collected block doesn't feature a statement, insert an empty statement. From-SVN: r34038
2000-05-19parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be processed ↵Alexandre Petit-Bianco3-4/+5
by the method's switch statement. 2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be processed by the method's switch statement. From-SVN: r34024
2000-05-19Reverted incorrectly applied changeTom Tromey2-0/+4
From-SVN: r34023
2000-05-19java-tree.h: Added init state enum.Tom Tromey4-17/+43
* java-tree.h: Added init state enum. * decl.c (emit_init_test_initialization): Initialize class initialization check variable by looking at class' state. From-SVN: r34022
2000-05-19java-tree.h (build_instanceof): Declare.Tom Tromey4-249/+261
* java-tree.h (build_instanceof): Declare. (build_get_class): Declare. * parse.y (patch_binop): Use build_instanceof. * expr.c (build_instanceof): New function. If class is final, don't make a function call. (expand_java_INSTANCEOF): Use it. (build_get_class): New function. From-SVN: r34021
2000-05-19jcf-write.c (generate_classfile): Scan the source_file for slashes with the ↵Alexandre Oliva2-1/+6
right pointer variable. 2000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * jcf-write.c (generate_classfile): Scan the source_file for slashes with the right pointer variable. From-SVN: r34006
2000-05-18Andrew's last commit changed a ChangeLog entry to say that I wrote a patch ↵Tom Tromey1-1/+1
that Zack wrote. Andrew's last commit changed a ChangeLog entry to say that I wrote a patch that Zack wrote. Oops. From-SVN: r34001
2000-05-17Add options -Wunused-variable, -Wunused-function, -Wunused-label,Andrew Cagney3-3/+9
-Wunused-parameter. Retain existing -Wunused behavour. Document. From-SVN: r33953
2000-05-09top level:Zack Weinberg13-196/+286
* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings. (tree.o): Depend on output.h. * c-decl.c (pending_invalid_xref_file, current_function_prototype_file): Constify. (pushdecl): Constify a local char *. (define_label): Constify filename parameter. * c-lex.c (init_parse): Constify parameter and return value. * c-typeck.c (c_expand_asm_operands): Constify filename parameter. * c-tree.h: Update prototypes. * c-parse.in: Constify filename member of %union, and if_stmt_file. * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y, objc/objc-parse.c: Regenerate. * dwarfout.c (dwarfout_init): Constify main_input_filename parameter. * dwarfout.h: Update prototypes. * expr.c (expand_expr): Constify a local char *. * flags.h: Constify main_input_filename. * function.c (expand_function_end): Constify filename parameter. * genrecog.c (make_insn_sequence): Use a character array for c_test_pos. (main): Remove unused variables. * input.h: Constify input_filename, main_input_filename, and file_stack.name. Update prototypes. * output.h: Declare first_global_object_name and weak_global_object_name here, as const char *. * stmt.c (expand_asm_operands): Constify filename parameter. * toplev.c (compile_file, push_srcloc, debug_start_source_file): Constify filename parameter. (input_filename, main_input_filename): Constify. * toplev.h: Update prototypes. * tree.c: Include output.h. Don't declare first_global_object_name or weak_global_object_name. Clean up string bashing in get_file_function_name_long. * tree.h (struct tree_decl): Constify filename member. (input_filename): Constify. Update prototypes. * varasm.c (first_global_object_name, weak_global_object_name): Constify. (assemble_start_function, assemble_variable): Clean up string bashing. * gcc.c: Constify all spec-related strings initialized, transitively, from string constants. Constify all strings and string variables related to multilibs. (set_spec, read_specs): Cast argument to free to PTR. (used_arg): Do not modify multilib_matches. Use strncmp plus length comparison to compare multilib switches. * genmultilib: Constify everything declared in multilib.h. ch: * ch-tree.h: Update prototypes. Remove prototypes for functions declared elsewhere. * decl.c (define_label): Constify filename parameter. * grant.c (globalize_decl, set_default_grant_file): Constify local char * variables. Don't declare first_global_object_name or asm_out_file. * lang.c (chill_real_input_filename): Constify. * lex.c (init_parse): Constify parameter and return value. * parse.c: Don't declare input_filename. (ch_expand_asm_operands): Constify filename parameter. (parse_multi_dimension_case_action): Constify local char *. * satisfy.c (safe_satisfy_decl): Constify local char *. cp: * cp-tree.h: Constify tree_srcloc.filename, tinst_level.file, and pending_inline.filename. Update prototypes. * decl.c (define_label): Constify filename parameter. * decl2.c (warn_if_unknown_interface): Constify local char *. * input.c Constify input_source.filename. Don't declare input_filename or lineno. Constify filename parameter to feed_input. * lex.c (init_parse): Constify parameter and return value. (cp_pragma_interface, cp_pragma_implementation): Constify filename argument. (reinit_parse_for_method, reinit_parse_for_block, reinit_parse_for_expr, feed_defarg, handle_cp_pragma): Constify local char *. * pt.c: Don't declare lineno or input_filename. (print_template_context, tsubst_friend_function, tsubst_decl, tsubst, instantiate_decl): Constify local char *. * semantics.c (expand_body): Constify local char *. * tree.c (build_srcloc): Constify filename parameter. * typeck.c (c_expand_asm_operands): Constify filename parameter. f: * com.c (ffecom_subscript_check_): Constify array_name parameter. Clean up string bashing. (ffecom_arrayref_, ffecom_char_args_x_): Constify array_name parameter. (ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_, ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify local char *. (init_parse): Constify parameter and return value. * lex.c: Include dwarfout.h instead of prototyping dwarfout_* functions here. (ffelex_file_pop_, ffelex_file_push_): Constify filename parameter. (ffelex_hash_, ffelex_include_): Constify local char *. * std.c (ffestd_exec_end): Constify local char *. * where.c (ffewhere_file_new): Constify filename parameter. * where.h: Update prototypes. java: * check_init.c (check_init): Constify local char *. * class.c (push_class): Constify local char *. * java_tree.h: Update prototypes. * jcf-io.c (open_class): Constify filename parameter and return value. (find_class): Remove redundant string copy. Cast return from open_class. * jcf-parse.c (read_class, parse_class_file, yyparse): Constify local char *. * jcf-write.c (generate_bytecode_insns, generate_classfile): Constify local char *. * jcf.h (JCF): Constify filename and classname. (JCF_FINISH): Cast args to FREE to char * when appropriate. * lang.c (init_parse): Constify parameter and return value. * lex.c (java_get_line_col): Constify filename parameter. * parse.h: Constify parser_ctxt.filename. Update prototypes. * parse.y (java_parser_context_suspend, issue_warning_error_from_context, safe_layout_class): Constify local char *. * parse.c: Regenerate. From-SVN: r33804
2000-05-09expr.c (build_jni_stub): Cache the result of _Jv_LookupJNIMethod.Tom Tromey2-4/+25
* expr.c (build_jni_stub): Cache the result of _Jv_LookupJNIMethod. From-SVN: r33786
2000-05-06decl.c (predef_filenames_size): Now 7.Alexandre Petit-Bianco2-1/+7
2000-05-05 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (predef_filenames_size): Now 7. (predef_filenames): New seventh entry. (Tom's last patch was missing this bit.) From-SVN: r33734
2000-05-05boehm.c (mark_reference_fields): Don't mark RawData fields.Tom Tromey4-9/+32
* boehm.c (mark_reference_fields): Don't mark RawData fields. Keep track of when we've seen a reference field after a non-reference field. (get_boehm_type_descriptor): Handle case where we see non-reference fields but no trailing reference field. * decl.c (rawdata_ptr_type_node): Define. (init_decl_processing): Initialize rawdata_ptr_type_node. * java-tree.h (rawdata_ptr_type_node): Declare. From-SVN: r33701
2000-05-04jcf-dump.c (SPECIAL_IINC): Ensure arguments match format specifiers in calls ↵Kaveh R. Ghazi2-2/+7
to fprintf. * jcf-dump.c (SPECIAL_IINC): Ensure arguments match format specifiers in calls to fprintf. From-SVN: r33680
2000-05-03Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.Jason Merrill1-6/+6
* Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long. (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional. (GCC_CFLAGS): Use it. (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS. * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in, objc/Make-lang.in: Use it. From-SVN: r33648
2000-05-03expr.c (build_java_jsr): Use emit_jump, not expand_goto.Tom Tromey5-6/+31
* expr.c (build_java_jsr): Use emit_jump, not expand_goto. * javaop.h (WORD_TO_INT): New function. (IMMEDIATE_s4): Use WORD_TO_INT. * jcf.h (JPOOL_INT): Ditto. * gjavah.c (decode_signature_piece): Don't treat `$' as namespace separator. From-SVN: r33636
2000-05-02class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE on native ↵Tom Tromey12-244/+447
function. * class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE on native function. * jcf-parse.c (parse_class_file): Call build_jni_stub for native JNI methods. * expr.c (build_jni_stub): New function. * lang-specs.h: -fjni and -femit-class-file are incompatible. * parse.c: Rebuilt. * parse.y (java_complete_expand_methods): Expand a native method and call build_jni_stub if -fjni given. * lang-options.h: Document -fjni. * lang.c (flag_jni): New global. (lang_f_options): Added `jni' entry. * java-tree.h (soft_lookupjnimethod_node, soft_getjnienvnewframe_node, soft_jnipopsystemframe_node): Declare. (flag_jni): Declare. (build_jni_stub): Declare. (struct lang_decl): Added `native' flag. (METHOD_NATIVE): Redefined to use `native' field of lang specific structure. * decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node, soft_jnipopsystemframe_node): New globals. (init_decl_processing): Set them. _Jv_InitClass only takes one argument. * java-tree.def: Put into `C' mode. From-SVN: r33615
2000-05-01re GNATS gcj/195: (gcj fail on code to implement an inner interface.)Alexandre Petit-Bianco2-2/+4
(This trying to counter the effect of the PR 195 check in -- this should be right now.) From-SVN: r33602
2000-05-01(The patch contained impurities -- this should fix the situation.)Alexandre Petit-Bianco2-181/+239
From-SVN: r33591
2000-05-01re GNATS gcj/195: (gcj fail on code to implement an inner interface.)Alexandre Petit-Bianco2-5/+33
2000-04-25 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (register_incomplete_type): Handle JDEP_ANONYMOUS. (This is a fix for the Java PR #195: http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00009.html) From-SVN: r33588
2000-04-28re GNATS gcj/2 (Method call on null instance should throw NullPointerException)Tom Tromey6-251/+326
Fix for PR gcj/2: * expr.c (expand_invoke): Generate check to see if object pointer is null in nonvirtual invocation case. * java-tree.h (soft_nullpointer_node): Declare. * decl.c (soft_nullpointer_node): New global. (init_decl_processing): Initialize soft_nullpointer_node. * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final' or `private' methods. (patch_invoke): Handle INVOKE_NONVIRTUAL case. From-SVN: r33495
2000-04-27decl.c (complete_start_java_method): Don't call _Jv_InitClass from <clinit>Alexandre Petit-Bianco2-0/+6
Wed Apr 26 14:29:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (complete_start_java_method): Don't call _Jv_InitClass from <clinit> From-SVN: r33493
2000-04-27zextract.c (find_zip_file_start): New function.Tom Tromey2-7/+34
* zextract.c (find_zip_file_start): New function. (read_zip_archive): Use it. From-SVN: r33451
2000-04-25re GNATS gcj/181 (gcj crashes on inner classes/interfaces definition/usage.)Alexandre Petit-Bianco3-0/+19
Mon Apr 24 14:59:36 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (end_class_declaration): Reset the interface number counter. (This fixes the Java PR #181: http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00207.html) From-SVN: r33422
2000-04-24parse.y (lookup_field_wrapper): Search for final local aliases.Alexandre Petit-Bianco3-204/+296
2000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (lookup_field_wrapper): Search for final local aliases. (resolve_expression_name): Let lookup_field_wrapper search for final local aliases. Force the value of `name' if one is found. (qualify_ambiguous_name): CONVERT_EXPR is enough to now we have an expression name. Fixed comments. From-SVN: r33400
2000-04-24parse.y (source_start_java_method): Deleted unecessary code.Alexandre Petit-Bianco3-290/+173
2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (source_start_java_method): Deleted unecessary code. (patch_method_invocation): Fixed comment. From-SVN: r33392