platform/upstream/linaro-gcc.git
25 years ago * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
m.hayes [Wed, 25 Nov 1998 18:10:29 +0000 (18:10 +0000)]
* config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
(TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
is no longer enabled if PARALLEL_MPY_FLAG set.
(HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
(REG_CLASS_CONTENTS): Add braces around initializers.
(HAVE_MULTIPLE_PACK): Define.
(ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
REAL_VALUE_TO_DECIMAL.
(ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
REAL_VALUE_TO_DECIMAL.
(ar0_reg_operand): Add prototype.
(ar0_mem_operand): Likewise.
(ar1_reg_operand): Likewise.
(ar1_mem_operand): Likewise.
(ar2_reg_operand): Likewise.
(ar2_mem_operand): Likewise.
(ar3_reg_operand): Likewise.
(ar3_mem_operand): Likewise.
(ar4_reg_operand): Likewise.
(ar4_mem_operand): Likewise.
(ar5_reg_operand): Likewise.
(ar5_mem_operand): Likewise.
(ar6_reg_operand): Likewise.
(ar6_mem_operand): Likewise.
(ar7_reg_operand): Likewise.
(ar7_mem_operand): Likewise.
(ir0_reg_operand): Likewise.
(ir0_mem_operand): Likewise.
(ir1_reg_operand): Likewise.
(ir1_mem_operand): Likewise.
(group1_reg_operand): Likewise.
(group1_mem_operand): Likewise.
(ir1_reg_operand): Likewise.
(arx_reg_operand): Likewise.
(not_rc_reg): Likewise.
(not_modify_reg): Likewise.
(c4x_group1_reg_operand): Remove prototype.
(c4x_group1_mem_operand): Likewise.
(c4x_arx_reg_operand): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23876 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * g++.old-deja/g++.pt/friend37.C: New test.
oliva [Wed, 25 Nov 1998 18:07:33 +0000 (18:07 +0000)]
* g++.old-deja/g++.pt/friend37.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23875 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * emit-rtl.c (gen_lowpart_common): Remove earlier change.
law [Wed, 25 Nov 1998 18:06:07 +0000 (18:06 +0000)]
    * emit-rtl.c (gen_lowpart_common): Remove earlier change.
        * real.c (make_nan): Make SIGN arg actually specify the sign bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23874 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * Makefile.in (splay-tree.o): Add config.h dependency.
law [Wed, 25 Nov 1998 18:02:19 +0000 (18:02 +0000)]
    * Makefile.in (splay-tree.o): Add config.h dependency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23873 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
m.hayes [Wed, 25 Nov 1998 17:14:35 +0000 (17:14 +0000)]
* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
during reload.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23872 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * java-tree.h (end_params_node): Declare global.
bothner [Wed, 25 Nov 1998 17:10:57 +0000 (17:10 +0000)]
* java-tree.h (end_params_node):  Declare global.
* decl.c (end_params_node):  New global.
(init_decl_processing, start_java_method):  Use end_params_node for
end of list of parameter types.  Follows correct gcc conventions.
* expr.c (pop_argument_types, pop_arguments):  Likewise.
* lang.c (put_decl_node):  Likewise.
* typeck.c (various places):  Likewise.
* class.y (various places):  Likewise.
* parse.y (various places):  Likewise.
* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
* class.c:  Add #include flags.h, remove no-longer needed declaration.
* class.c (layout_class_method):  Remove commented-out code, re-format.
Don't add vtable entry (or index) for private methods.
* expr.c (expand_invoke):  A private method is implicitly final.
* class.c (make_class_data):  If inlining or optimizing,
skip private methods.
* class.c (finish_class):  New function.  Calls existing methods,
but alls emits deferred inline functions.
* jcf-parse.c (parse_class_file):  Call finish_class.
* parse.y (java_complete_expand_methods):  Likewise.
* expr.c (build_java_binop):  Explicit default, to silence -Wall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23871 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bothner [Wed, 25 Nov 1998 17:10:49 +0000 (17:10 +0000)]

* java-tree.h (end_params_node):  Declare global.
* decl.c (end_params_node):  New global.
(init_decl_processing, start_java_method):  Use end_params_node for
end of list of parameter types.  Follows correct gcc conventions.
* expr.c (pop_argument_types, pop_arguments):  Likewise.
* lang.c (put_decl_node):  Likewise.
* typeck.c (various places):  Likewise.
* class.y (various places):  Likewise.
* parse.y (various places):  Likewise.
* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
* class.c:  Add #include flags.h, remove no-longer needed declaration.
* class.c (layout_class_method):  Remove commented-out code, re-format.
Don't add vtable entry (or index) for private methods.
* expr.c (expand_invoke):  A private method is implicitly final.
* class.c (make_class_data):  If inlining or optimizing,
skip private methods.
* class.c (finish_class):  New function.  Calls existing methods,
but alls emits deferred inline functions.
* jcf-parse.c (parse_class_file):  Call finish_class.
* parse.y (java_complete_expand_methods):  Likewise.
* expr.c (build_java_binop):  Explicit default, to silence -Wall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23870 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agod
bothner [Wed, 25 Nov 1998 17:10:46 +0000 (17:10 +0000)]
d
* java-tree.h (end_params_node):  Declare global.
* decl.c (end_params_node):  New global.
(init_decl_processing, start_java_method):  Use end_params_node for
end of list of parameter types.  Follows correct gcc conventions.
* expr.c (pop_argument_types, pop_arguments):  Likewise.
* lang.c (put_decl_node):  Likewise.
* typeck.c (various places):  Likewise.
* class.y (various places):  Likewise.
* parse.y (various places):  Likewise.
* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
* class.c:  Add #include flags.h, remove no-longer needed declaration.
* class.c (layout_class_method):  Remove commented-out code, re-format.
Don't add vtable entry (or index) for private methods.
* expr.c (expand_invoke):  A private method is implicitly final.
* class.c (make_class_data):  If inlining or optimizing,
skip private methods.
* class.c (finish_class):  New function.  Calls existing methods,
but alls emits deferred inline functions.
* jcf-parse.c (parse_class_file):  Call finish_class.
* parse.y (java_complete_expand_methods):  Likewise.
* expr.c (build_java_binop):  Explicit default, to silence -Wall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23869 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * java-tree.h (end_params_node): Declare global.
bothner [Wed, 25 Nov 1998 17:10:45 +0000 (17:10 +0000)]
* java-tree.h (end_params_node):  Declare global.
* decl.c (end_params_node):  New global.
(init_decl_processing, start_java_method):  Use end_params_node for
end of list of parameter types.  Follows correct gcc conventions.
* expr.c (pop_argument_types, pop_arguments):  Likewise.
* lang.c (put_decl_node):  Likewise.
* typeck.c (various places):  Likewise.
* class.y (various places):  Likewise.
* parse.y (various places):  Likewise.
* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
* class.c:  Add #include flags.h, remove no-longer needed declaration.
* class.c (layout_class_method):  Remove commented-out code, re-format.
Don't add vtable entry (or index) for private methods.
* expr.c (expand_invoke):  A private method is implicitly final.
* class.c (make_class_data):  If inlining or optimizing,
skip private methods.
* class.c (finish_class):  New function.  Calls existing methods,
but alls emits deferred inline functions.
* jcf-parse.c (parse_class_file):  Call finish_class.
* parse.y (java_complete_expand_methods):  Likewise.
* expr.c (build_java_binop):  Explicit default, to silence -Wall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23868 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agofix typo
brendan [Wed, 25 Nov 1998 15:18:46 +0000 (15:18 +0000)]
fix typo

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23867 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
amylaar [Wed, 25 Nov 1998 14:09:56 +0000 (14:09 +0000)]
* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
unless FMOVD_WORKS is defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23866 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * test_summary (-p, prepend_logs): add these before the summary
oliva [Wed, 25 Nov 1998 12:59:24 +0000 (12:59 +0000)]
* test_summary (-p, prepend_logs): add these before the summary
(Compiler, Platform): print these just before configflags

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23864 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * regclass.c (init_reg_sets): Move code that calculates tables
amylaar [Wed, 25 Nov 1998 12:15:14 +0000 (12:15 +0000)]
* regclass.c (init_reg_sets): Move code that calculates tables
dependent on reg_class_contents from here...
(init_reg_sets_1): To here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23858 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoWed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
brolley [Wed, 25 Nov 1998 11:56:54 +0000 (11:56 +0000)]
Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
        * cpplib.h: Delete struct import_file.  Add ihash element to
        struct cpp_buffer.  Delete dont_repeat_files and
        import_hash_table elements from cpp_reader; change
        all_include_files to a hash table.  Delete all foobar_include
        / last_foobar_include elements from struct cpp_options; put
        back four such: quote_include, bracket_include,
        system_include, after_include.  Redo struct file_name_list
        completely.  Add new structure type include_hash.  Add
        prototypes for merge_include_chains and include_hash.  Change
        prototypes for finclude, find_include_file, and
        append_include_chain to match changes below.
        * cppfiles.c (simplify_pathname, include_hash,
        remap_filename, merge_include_chains): New functions.
        (add_import, lookup_import, open_include_file): Removed.
        (INO_T_EQ): Define this (copied from cccp.c).
        (hack_vms_include_specification): Remove all calls and #if 0
        out the definition.  It was being called incorrectly and at
        the wrong times.  Until a VMSie can look at this, it's better
        to not pretend to support it.
        (append_include_chain): Change calling convention; now takes
        only one directory at a time, and sets up the data structure
        itself.
        (redundant_include_p): Rewritten - this is now used for all
        include redundancy, whether by #ifndef, #import, or #pragma
        once.  Looks up things in the include hash table.
        (file_cleanup): Decrement pfile->system_include_depth here if
        it's >0.
        (find_include_file): Calling convention changed; now passes
        around a struct include_hash instead of 3 separate parameters.
        Guts ripped out and replaced with new include_hash mechanism.
        (finclude): Calling convention changed as for
        find_include_file.  Error exits pulled out-of-line.  Reformat.
        (safe_read): Return a long, not an int.
        (deps_output): Don't recurse.
        * cpplib.c (is_system_include): Deleted.
        (path_include): Fix up call to append_include_chain.
        (do_include): Fix up calls to find_include_file and finclude.
        Clean up dependency output a bit.  Shorten obnoxiously lengthy
        #import warning message.  Don't decrement
        pfile->system_include_depth here.
        (do_pragma): Understand the include_hash structure.  Reformat.
        (do_endif): Correct handling of control macros.  Understand
        the include_hash.
        (cpp_start_read): Fix up calls to finclude.  Call
        merge_include_chains.
        (cpp_handle_option): Fix up calls to append_include_chain.
        Understand the four partial include chains.
        (cpp_finish): Add debugging code (#if 0-ed out) for the
        include_hash.
        (cpp_cleanup): Free the include_hash, not the import hash and
        the all_include and dont_repeat lists which no longer exist.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23857 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
jason [Wed, 25 Nov 1998 11:28:29 +0000 (11:28 +0000)]
* except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
* decl.c (check_tag_decl): Do complain about null friend decl at
file scope.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23856 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * toplev.c (no_new_pseudos): Define.
law [Wed, 25 Nov 1998 10:31:24 +0000 (10:31 +0000)]
    * toplev.c (no_new_pseudos): Define.
        (rest_of_compilation):  Set no_new_pseudos as needed.
        * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
        if no_new_pseudos is set.
        * rtl.h (no_new_pseudos): Declare it.
        * reload1.c (reload): Update comments.
        * md.texi: Corresponding changes.
        * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
        (choose_reload_regs): Rename it here as well.  When computing it,
        also merge in used hardregs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23855 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago1998-11-25 Dave Love <d.love@dl.ac.uk>
fx [Wed, 25 Nov 1998 10:05:05 +0000 (10:05 +0000)]
1998-11-25  Dave Love  <d.love@dl.ac.uk>
* g77.f-torture/execute/u77-test.f (main): Avoid testing [f]statb
element, which fails on some systems.
* g77.f-torture/execute/labug1.f: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23854 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago(main): Avoid testing [f]statb
fx [Wed, 25 Nov 1998 10:02:47 +0000 (10:02 +0000)]
(main): Avoid testing [f]statb
element, which fails on some systems.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23853 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoNew test.
fx [Wed, 25 Nov 1998 09:59:06 +0000 (09:59 +0000)]
New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23852 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bothner [Wed, 25 Nov 1998 09:49:45 +0000 (09:49 +0000)]

* expr.c (CHECK_PC_IN_RANGE):  Add void cast to kill warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23851 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * gcc.c: Split out Objective-C specs to...
law [Wed, 25 Nov 1998 08:54:10 +0000 (08:54 +0000)]
    * gcc.c: Split out Objective-C specs to...
        * objc/lang-specs.h: here. (New file.) Make the specs cpplib
        aware.
        * c-lex.c (init_parse): Always initialize the filename global.
        * objc/objc-act.c (lang_init): Always call check_newline at
        beginning of file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23850 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agonew
jason [Wed, 25 Nov 1998 04:11:47 +0000 (04:11 +0000)]
new

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23849 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * lex.c (make_lang_type): Clear the whole struct lang_type, not
schwab [Wed, 25 Nov 1998 04:06:42 +0000 (04:06 +0000)]
* lex.c (make_lang_type): Clear the whole struct lang_type, not
only the first multiple of sizeof (int).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23848 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * decl.c (start_decl): An explicit specialization of a static data
jason [Wed, 25 Nov 1998 01:59:30 +0000 (01:59 +0000)]
* decl.c (start_decl): An explicit specialization of a static data
member is only a definition if it has an initializer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23847 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoDaily bump.
law [Wed, 25 Nov 1998 00:45:03 +0000 (00:45 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23846 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * except.c (expand_throw): Use cp_finish_decl for the throw temp.
jason [Wed, 25 Nov 1998 00:28:51 +0000 (00:28 +0000)]
* except.c (expand_throw): Use cp_finish_decl for the throw temp.
* cvt.c (build_up_reference): Pass DIRECT_BIND down into
cp_finish_decl.
* init.c (expand_default_init): Check for DIRECT_BIND instead of
DECL_ARTIFICIAL.
Fixes Sec15/1/P15140.C, g++.eh/ctor1.C.
* call.c (build_over_call): Use build_decl.
* except.c (expand_throw): Just use convert, not
build_reinterpret_cast.
Fixes Sec15/P15113.C.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23845 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoupdate
jason [Wed, 25 Nov 1998 00:22:44 +0000 (00:22 +0000)]
update

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23844 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
law [Wed, 25 Nov 1998 00:03:23 +0000 (00:03 +0000)]

        * Makefile.in (just-check): Ignore errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23843 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago(
law [Wed, 25 Nov 1998 00:02:57 +0000 (00:02 +0000)]
(
        * Makefile.in (just-check): Ignore errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23842 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * Makefile.in (just-check): Ignore errors.
law [Wed, 25 Nov 1998 00:02:56 +0000 (00:02 +0000)]
    * Makefile.in (just-check): Ignore errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23841 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * jcf-write.c (generate_bytecode_conditional): Fix typo.
law [Tue, 24 Nov 1998 23:58:23 +0000 (23:58 +0000)]
    * jcf-write.c (generate_bytecode_conditional): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23840 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * reload1.c (reload): Remove unused variable.
law [Tue, 24 Nov 1998 23:51:45 +0000 (23:51 +0000)]
    * reload1.c (reload): Remove unused variable.
        (reload_reg_free_for_value_p): Add missing parameter definition.
        * jump.c (jump_optimize): Remove unused variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23839 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
law [Tue, 24 Nov 1998 23:19:05 +0000 (23:19 +0000)]
    * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23838 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * cse.c (fold_rtx): Make autoincrement addressing mode tests be
law [Tue, 24 Nov 1998 23:15:19 +0000 (23:15 +0000)]
    * cse.c (fold_rtx): Make autoincrement addressing mode tests be
        runtime selectable.
        * expr.c (move_by_pieces): Similarly.
        (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
        * flow.c (find_auto_inc): Similarly.
        (try_pre_increment): Similarly.
        * loop.c (strength_reduce): Similarly.
        * regclass.c (auto_inc_dec_reg_p): Similarly.
        * regmove.c (try_auto_increment): Similarly.
        (fixup_match_1): Similarly.
        * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
        (HAVE_PRE_DECREMENT): Similarly.
        (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
        sponding changes to all target header files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23837 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * lex.c (handle_generic_pragma): Use token_buffer.
jason [Tue, 24 Nov 1998 21:28:47 +0000 (21:28 +0000)]
* lex.c (handle_generic_pragma): Use token_buffer.
* decl.c (check_tag_decl): Don't complain about null friend decl.
* Make-lang.in (DEMANGLER_PROG): Move the output argumnts to the
first position.
* lex.c (check_newline): Use ISALPHA.
(readescape): Use ISGRAPH.
(yyerror): Use ISGRAPH.
* search.c (get_abstract_virtuals): Do not use initial
CLASSTYPE_ABSTRACT_VIRTUALS.
* typeck2.c (abstract_virtuals_error): Show location of abstract
declaration.
* call.c (build_new_method_call): Use
CLASSTYPE_ABSTRACT_VIRTUAL, rather than recalculate.
* class.c (finish_struct_bits): Don't bother working out whether
get_abstract_virtuals will do anything, just do it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23836 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoAdd m68k-elf port from Cygnus gcc sources.
wilson [Tue, 24 Nov 1998 20:42:38 +0000 (20:42 +0000)]
Add m68k-elf port from Cygnus gcc sources.
* configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
* configure: Rebuild.
* config/elfos.h: New file.
* config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
config/m68k/t-m68kelf: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23835 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoTue Nov 24 17:06:38 1998 Per Bothner <bothner@cygnus.com>
apbianco [Tue, 24 Nov 1998 17:57:41 +0000 (17:57 +0000)]
Tue Nov 24 17:06:38 1998  Per Bothner  <bothner@cygnus.com>
* (generate_classfile): Always write class access flag with
  ACC_SUPER set.
Tue Nov 24 16:34:33 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
* class.c (maybe_layout_super_class): New function.
(layout_class): Reorganized. Loop on class methods dispatched into
  a new function. Call maybe_layout_super_class.
(layout_class_methods, layout_class_method): New functions.
* expr.c (expand_java_NEW): Call layout_class_methods on loaded
  class.
(expand_invoke): Likewise.
* java-tree.h (all_class_list): New global variable declared.
(layout_class_methods, layout_class_method): New function
  prototypes.
(LAYOUT_SEEN_CLASS_METHODS): New macro.
* jcf-parse.c (all_class_list): New global variable.
(load_class): Extended what class_or_name can be. Use parser
  context mechanism to save globals before calling jcf_parse.
(jcf_parse_source): Don't parse twice if HAS_BEEN_ALREADY_PARSED_P
  is set on the file name.
(jcf_parse): Layout class methods when Object is loaded, otherwise
  record class in all_class_list for delayed method layout.
(parse_class_file): Use LAYOUT_SEEN_CLASS_METHODS.
* lang.c (put_decl_node): Decode <init> into the decl context
  class name.
* lex.c (java_allocate_new_line): Use xmalloc.
* parse.h (INCOMPLETE_TYPE_P): Redefined to work with incomplete
  pointers, not TREE_LIST elements.
(struct parser_ctxt): Fixed comment indentations, added comments
  and reordered some fields.
(java_check_methods): Function prototype removed.
* parse.y (java_push_parser_context): Use xmalloc.
(java_parser_context_restore_global): Pop extra pushed ctxp only
  when there's nothing next.
(maybe_create_class_interface_decl): Fixed comment, add new
  created class decl to all_class_list.
(method_header): Use GET_REAL_TYPE on argument's types.
(method_declarator): Use GET_REAL_TYPE, change type to the real
  type in TREE_LIST dependency node. Build argument list with the
  real type.
(create_jdep_list): Use xmalloc. Removed allocation error message.
(obtain_incomplete_type): Fixed leading comment. Broadened
  incoming argument meaning.
(register_incomplete_type): Use xmalloc. Removed allocation error
  message.
(safe_layout_class): Fixed leading comment.
(jdep_resolve_class): Reversed if statement condition and switch
  if and else bodies.
(resolve_and_layout): Fixed leading comment. Broadened incoming
  argument meaning.
(complete_class_report_errors): New local variable name, for
  clarity. purify_type_name used for all error cases.
(java_get_real_method_name): Stricter check on constructors.
(java_check_regular_methods): Reverse methods list only if not
  already laid out. Layout artificial constructor.
(java_check_methods): Deleted.
(source_start_java_method): Obtain incomplete type for patchable
  method arguments.
(java_layout_classes): Fixed leading comment. Use
  LAYOUT_SEEN_CLASS_METHODS, use a loop to check methods. Added else
  statement to layout operation, reuse LAYOUT_SEEN_CLASS_METHODS
  before returning. Fixed comments.
(java_expand_classes): Check for errors up front.
(patch_method_invocation): Class to search is resolved and laid
  out.
A step forward truly mixing .class and .java during package
compilation. Includes a Per's patch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23834 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * typeck.c (build_component_ref): Remove unused statement.
jason [Tue, 24 Nov 1998 17:56:27 +0000 (17:56 +0000)]
* typeck.c (build_component_ref): Remove unused statement.
* class.c (add_method): Catch invalid overloads.
Fixes Sec13/1/E13097.C.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23833 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bothner [Tue, 24 Nov 1998 13:16:53 +0000 (13:16 +0000)]

* expr.c (java_lang_expand_expr):  Add missing emit_queue.
* javaop.h (int8):  Removed - not used.
(jbyte):  Redefine portably with correct signedness.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23832 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bothner [Tue, 24 Nov 1998 13:16:25 +0000 (13:16 +0000)]

* jcf-write.c (generate_bytecode_insns):  Don't free sw_state.cases.
* jcf-write.c (generate_bytecode_insns):  Fix typo
OPCODE_getstatic to OPCODE_getfield.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23831 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bothner [Tue, 24 Nov 1998 13:16:05 +0000 (13:16 +0000)]

* java-tree.def (CASE_EXPR, DEFAULT_EXPR):  Kind is 'x', not '1'.
* parse.y (java_complete_tree):  For CASE_EXPR and DEFAULT_EXPR,
set TREE_SIDE_EFFECTS (otherwise expand_expr may skip them).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23830 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bothner [Tue, 24 Nov 1998 13:16:04 +0000 (13:16 +0000)]

* java-tree.def (CASE_EXPR, DEFAULT_EXPR):  Kind is 'x', not '1'.
* parse.y (java_complete_tree):  For CASE_EXPR and DEFAULT_EXPR,
set TREE_SIDE_EFFECTS (otherwise expand_expr may skip them).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23829 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
law [Tue, 24 Nov 1998 12:46:07 +0000 (12:46 +0000)]

        * Makefile.in (HOST_AR): Define.
        (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
        (libcpp.a): Use the host tools explicitly.
        (STAGESTUFF): Add libcpp.a.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23828 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoDescribe changes made to source and destination registers.
nickc [Tue, 24 Nov 1998 09:36:53 +0000 (09:36 +0000)]
Describe changes made to source and destination registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23827 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * Makefile.in (lex.c): Do not depend on hash.h.
law [Tue, 24 Nov 1998 09:00:34 +0000 (09:00 +0000)]
    * Makefile.in (lex.c): Do not depend on hash.h.
        (lex.o): Depend on hash.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23826 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agonew
jason [Tue, 24 Nov 1998 02:34:00 +0000 (02:34 +0000)]
new

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23823 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * class.c (add_method): Build up OVERLOADs properly for conversion ops.
jason [Tue, 24 Nov 1998 02:33:48 +0000 (02:33 +0000)]
* class.c (add_method): Build up OVERLOADs properly for conversion ops.
* search.c (lookup_conversions): Handle getting real OVERLOADs.
(add_conversions): Likewise.  Revert last change.
* call.c (add_conv_candidate): Pass totype to add_candidate instead
of fn.  Don't add a new candidate if the last one was for the same
type.
(print_z_candidates): Handle getting a type as a function.
(joust): If we got two conversion candidates to the same type,
just pick one.
(build_object_call): Lose 'templates'.
(build_user_type_conversion_1): Handle getting real OVERLOADs.
Fixes g++.jason/overload7.C.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23822 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoDaily bump.
law [Tue, 24 Nov 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23821 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agorevert unintended change
jason [Mon, 23 Nov 1998 23:59:48 +0000 (23:59 +0000)]
revert unintended change

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23820 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * typeck2.c (process_init_constructor): If there are elements
jason [Mon, 23 Nov 1998 23:57:32 +0000 (23:57 +0000)]
* typeck2.c (process_init_constructor): If there are elements
that don't have initializers and they need to have constructors
run, supply them with initializers.
Fixes Sec12/6_1/P12176.C.
* class.c (finish_struct_1): A class with a 0-width bitfield is
still empty.
Fixes Sec9/6/R09387.r0.  Really this time.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23819 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
jason [Mon, 23 Nov 1998 20:37:32 +0000 (20:37 +0000)]
* libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
The strategy we now use is to pre allocate the top_elt along
with the EH context so that each thread has its own top_elt.
This is necessary as the dynmanic cleanup chain is used on the
top element of the stack and each thread MUST have its own.
(eh_context_static): Likewise.
(new_eh_context): Likewise.
(__sjthrow): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23818 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
jason [Mon, 23 Nov 1998 20:25:50 +0000 (20:25 +0000)]
* i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
* i386.md (prologue_get_pc): Remove unused variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23816 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoopps
law [Mon, 23 Nov 1998 20:04:45 +0000 (20:04 +0000)]
opps

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23815 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoCan't use new API yet because of old compilers.
wilson [Mon, 23 Nov 1998 17:08:34 +0000 (17:08 +0000)]
Can't use new API yet because of old compilers.
* i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23814 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoUlrich Drepper <drepper@cygnus.com>
rth [Mon, 23 Nov 1998 16:41:12 +0000 (16:41 +0000)]
Ulrich Drepper  <drepper@cygnus.com>
        * Makefile.in (OBJS): Add graph.o
        (graph.o): New dependency list.
        * flags.h: Declare dump_for_graph and define graph_dump_types type.
        * print-rtl.c (dump_for_graph): Define new variable.
        (print_rtx): Rewrite to allow use in graph dumping functions.
        * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
        finish_graph_dump_file.
        Define graph_dump_format.
        (compile_file): If graph dumping is enabled also clear these files.
        Finish graph dump files.
        (rest_of_compilation): Also dump graph information if enabled.
        (main): Recognize -dv to enabled VCG based graph dumping.
        * graph.c: New file.  Graph dumping functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23813 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * configure.in: Look for <sys/stat.h>.
rth [Mon, 23 Nov 1998 16:39:37 +0000 (16:39 +0000)]
    * configure.in: Look for <sys/stat.h>.
        * system.h: Include it before substitute S_ISREG definitions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23812 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoSeparate the 64 bit version of ABI_32 into ABI_O64.
gavin [Mon, 23 Nov 1998 14:43:41 +0000 (14:43 +0000)]
Separate the 64 bit version of ABI_32 into ABI_O64.
* config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
* config/mips/iris6.h: Same.
* config/mips/mips.md: Same.
* config/mips/mips.c: Same; also add "-mabi=o64" option.
* config/mips/mips.h: Same; also define ABI_O64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23809 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * pt.c (instantiate_class_template): Don't try to figure out what
mmitchel [Mon, 23 Nov 1998 14:41:37 +0000 (14:41 +0000)]
* pt.c (instantiate_class_template): Don't try to figure out what
specialization to use for a partial instantiation.  Correct
typos in a couple of comments.  Avoid calling uses_template_parms
multiple times.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23808 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * configure.in: Use AC_PREREQ(2.12.1).
ghazi [Mon, 23 Nov 1998 14:07:53 +0000 (14:07 +0000)]
    *  configure.in: Use AC_PREREQ(2.12.1).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23805 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * configure.in: Use AC_PREREQ(2.12.1).
ghazi [Mon, 23 Nov 1998 14:01:42 +0000 (14:01 +0000)]
    *  configure.in: Use AC_PREREQ(2.12.1).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23804 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * configure.in: Use AC_PREREQ(2.12.1).
ghazi [Mon, 23 Nov 1998 13:58:48 +0000 (13:58 +0000)]
    *  configure.in: Use AC_PREREQ(2.12.1).
        *  libF77/configure.in: Likewise.
        *  libI77/configure.in: Likewise.
        *  libU77/configure.in: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23803 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * configure.in: Use AC_PREREQ(2.12.1).
ghazi [Mon, 23 Nov 1998 13:51:40 +0000 (13:51 +0000)]
    *  configure.in: Use AC_PREREQ(2.12.1).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23802 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bkoz [Mon, 23 Nov 1998 12:12:03 +0000 (12:12 +0000)]

1998-11-16  Benjamin Kosnik  <bkoz@haight.constant.com>
        * cplus-dem.c (demangle_fund_type): Add demangling for C9x types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23799 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bkoz [Mon, 23 Nov 1998 12:03:46 +0000 (12:03 +0000)]

1998-11-23  Benjamin Kosnik  <bkoz@cygnus.com>
        * method.c (process_overload_item): Add call to
        build_mangled_C9x_name for intTI_type_nodes.
        (build_mangled_C9x_name): Add prototype, define.
        * decl.c (init_decl_processing): Add names for
        TImode_type_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23798 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago1998-11-23 Benjamin Kosnik <bkoz@cygnus.com>
bkoz [Mon, 23 Nov 1998 12:03:45 +0000 (12:03 +0000)]
1998-11-23  Benjamin Kosnik  <bkoz@cygnus.com>
        * method.c (process_overload_item): Add call to
        build_mangled_C9x_name for intTI_type_nodes.
        (build_mangled_C9x_name): Add prototype, define.
        * decl.c (init_decl_processing): Add names for
        TImode_type_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23797 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
bkoz [Mon, 23 Nov 1998 12:03:42 +0000 (12:03 +0000)]

1998-11-23  Benjamin Kosnik  <bkoz@cygnus.com>
        * method.c (process_overload_item): Add call to
        build_mangled_C9x_name for intTI_type_nodes.
        (build_mangled_C9x_name): Add prototype, define.
        * decl.c (init_decl_processing): Add names for
        TImode_type_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23796 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago(
law [Mon, 23 Nov 1998 09:39:24 +0000 (09:39 +0000)]
(
        * caller-save.c (insert_one_insn): Initialize the live_before and
        live_after register sets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23789 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agop
law [Mon, 23 Nov 1998 09:39:22 +0000 (09:39 +0000)]
p
        * caller-save.c (insert_one_insn): Initialize the live_before and
        live_after register sets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23788 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoUpdate.
drepper [Mon, 23 Nov 1998 09:21:24 +0000 (09:21 +0000)]
Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23787 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago(operator>>): Cast new character to char before adding to string.
drepper [Mon, 23 Nov 1998 09:21:12 +0000 (09:21 +0000)]
(operator>>): Cast new character to char before adding to string.
(getline): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23786 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * cccp.c (S_ISREG, S_ISDIR): Delete defines.
law [Mon, 23 Nov 1998 09:20:35 +0000 (09:20 +0000)]
    * cccp.c (S_ISREG, S_ISDIR): Delete defines.
        * cpplib.c, gcc.c: Likewise.
        * system.h (S_ISREG, S_ISDIR): Define if not already defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23785 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago(
law [Mon, 23 Nov 1998 08:57:40 +0000 (08:57 +0000)]
(
        * local-alloc.c (local_alloc): Use malloc not alloca for
        reg_qty, reg_offset, ref_next_in_qty.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23783 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
law [Mon, 23 Nov 1998 08:57:38 +0000 (08:57 +0000)]

        * local-alloc.c (local_alloc): Use malloc not alloca for
        reg_qty, reg_offset, ref_next_in_qty.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23782 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago Add SH4 support:
amylaar [Mon, 23 Nov 1998 08:50:42 +0000 (08:50 +0000)]
Add SH4 support:
* config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
(___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
* sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
(fp_reg_names, assembler_dialect): New variables.
(print_operand_address): Handle SUBREGs.
(print_operand): Added 'o' case.
Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
Name of FP registers depends on mode.
(expand_block_move): Emit different code for SH4 hardware.
(prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
(from_compare): Likewise.
(add_constant): New argument last_value.  Changed all callers.
(find_barrier): Don't try HImode load for FPUL_REG.
(machine_dependent_reorg): Likewise.
(sfunc_uses_reg): A CLOBBER cannot be the address register use.
(gen_far_branch): Emit a barrier after the new jump.
(barrier_align): Don't trust instruction lengths before
fixing up pcloads.
(machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
Use auto-inc addressing for fp registers if doubles need to
be loaded in two steps.
Set sh_flag_remove_dead_before_cse.
(push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
(pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
(calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
Support for FIRST_XD_REG .. LAST_XD_REG.
(sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
(sh_expand_epilogue): Likewise.
(sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
(initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
(arith_reg_operand): FPUL_REG is OK for SH4.
(fp_arith_reg_operand, fp_extended_operand) New functions.
(tertiary_reload_operand, fpscr_operand): Likewise.
(commutative_float_operator, noncommutative_float_operator): Likewise.
(binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
(emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
(expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
(emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
* sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
(CONDITIONAL_REGISTER_USAGE): Likewise.
(HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
(TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
(target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
(OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
to -1 and sh_flag_remove_dead_before_cse to 1.
(ASSEMBLER_DIALECT): Define to assembler_dialect.
(assembler_dialect, fp_reg_names): Declare.
(OVERRIDE_OPTIONS): Add code for TARGET_SH4.
Hide names of registers that are not accessible.
(CACHE_LOG): Take TARGET_CACHE32 into account.
(LOOP_ALIGN): Take TARGET_HARWARD into account.
(FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
(FIRST_PSEUDO_REGISTER: Now 49.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
(HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
(HARD_REGNO_MODE_OK): Update.
(enum reg_class): Add DF_REGS and FPSCR_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
(CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
(NPARM_REGS): Eight floating point parameter registers on SH4.
(BASE_RETURN_VALUE_REG): SH4 also passes double values
in floating point registers.
(GET_SH_ARG_CLASS) Likewise.
Complex float types are also returned in float registers.
(BASE_ARG_REG): Complex float types are also passes in float registers.
(FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
(LIBCALL_VALUE): Remove trailing semicolon.
(ROUND_REG): Round when double precision value is passed in floating
point register(s).
(FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
passed on the stack.
(FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
(FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
(TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
(INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
(MODE_DISP_OK_8): Not for SH4 DFmode.
(GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
Allow indexed addressing for PSImode after reload.
(LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
(LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
(DOUBLE_TYPE_SIZE): 64 for SH4.
(RTX_COSTS): Add PLUS case.
Increae cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
(REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
MAC_REGS, PR_REGS, DF_REGS.
(REGISTER_NAMES): Use fp_reg_names.
(enum processor_type): Add PROCESSOR_SH4.
(sh_flag_remove_dead_before_cse): Declare.
(rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
(PREDICATE_CODES): Add binary_float_operator,
commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
fpscr_operand, noncommutative_float_operator.
(ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
(SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
* sh.md (attribute cpu): Add value sh4.
(attrbutes fmovd, issues): Define.
(attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
(function units memory, int, mpy, fp): Make dependent on issue rate.
(function units issue, single_issue, load_si, load): Define.
(function units load_store, fdiv, gp_fpul): Define.
(attribute hit_stack): Provide proper default.
(use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
(udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
(udivsi3, divsi3): Emit special patterns for SH4 hardware,
(mulsi3_call): Now uses match_operand for function address.
(mulsi3): Also emit code for SH1 case.  Wrap result in REG_LIBCALL /
REG_RETVAL notes.
(push, pop, push_e, pop_e): Now define_expands.
(push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
(movsi_ie): Added y/i alternative.
(ic_invalidate_line_i, movdf_i4): New insns.
(movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
(reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
(movdf): Add special code for SH4.
(movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
(call_valuei, calli, call_value): Likewise.
(movsf): Emit no-op move.
(mov_nop, movsi_y): New insns.
(blt, sge): generalize to handle DFmode.
(return predicate): Call emit_fpscr_use and remove_dead_before_cse.
(block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
(block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
(fpu_switch0, fpu_switch1, movpsi): New expanders.
(fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
(toggle_sz): New insn.
(addsf3, subsf3, mulsf3, divsf3): Now define_expands.
(addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
(macsf3): Make use of fpscr visible.  Disable for SH4.
(floatsisf2): Make use of fpscr visible.
(floatsisf2_i4): New insn.
(floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
(ieee_ccmpeqsf_t): Likewise.
(fix_truncsfsi2): Emit different code for SH4.
(fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
(cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
(negsf2, sqrtsf2, abssf2): Now expanders.
(adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
(negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
(muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
(fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
(fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
(fix_truncdfsi2_i4_2+1): New splitters.
(negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
(extendsfdf2, truncdfsf2): New expanders.
(truncdfsf2_i4): New insn.
* t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
(MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
* float-sh.h: When testing for __SH3E__, also test for
__SH4_SINGLE_ONLY__ .
* va-sh.h (__va_freg): Define to float.
(__va_greg, __fa_freg, __gnuc_va_list, va_start):
        Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
        (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
(__PASS_AS_FLOAT): Use different definition for __SH4__ and
 __SH4_SINGLE__.
(TARGET_SH4_P): Define.
(va_arg): Use it.
* sh.md (movdf_k, movsf_i): Tweak the condition so that
init_expr_once is satisfied about the existence of load / store insns.
* sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
        change m constraint in source operand to mr / mf .
* va-sh.h (__va_arg_sh1): Use __asm instead of asm.
* (__VA_REEF): Define.
(__va_arg_sh1): Use it.
* va-sh.h (va_start, va_arg, va_copy): Add parenteses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23777 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * parse.y (named_class_head): Update CLASSTYPE_DECLARED_CLASS.
jason [Mon, 23 Nov 1998 03:16:06 +0000 (03:16 +0000)]
* parse.y (named_class_head): Update CLASSTYPE_DECLARED_CLASS.
Fixes Sec14/5/P14139.C

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23765 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoupdate copyrights
jason [Mon, 23 Nov 1998 03:12:41 +0000 (03:12 +0000)]
update copyrights

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23764 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agonew
jason [Mon, 23 Nov 1998 02:42:28 +0000 (02:42 +0000)]
new

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23763 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * class.c (finish_struct_1): Set things up for 0-width bitfields
jason [Mon, 23 Nov 1998 01:14:55 +0000 (01:14 +0000)]
* class.c (finish_struct_1): Set things up for 0-width bitfields
like we do for others.
* decl.c (check_tag_decl): New fn.
(shadow_tag): Split out from here.
* decl2.c (grok_x_components): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23762 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoDaily bump.
law [Mon, 23 Nov 1998 00:45:03 +0000 (00:45 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23761 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agofix implicit int
jason [Sun, 22 Nov 1998 23:23:45 +0000 (23:23 +0000)]
fix implicit int

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23760 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * decl.c: Lose warn_about_return_type.
jason [Sun, 22 Nov 1998 23:21:44 +0000 (23:21 +0000)]
* decl.c: Lose warn_about_return_type.
(grokdeclarator): Always complain about implicit int, except for
`main () { ... }'.
Fixes Sec7/1_5/C07352.cm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23759 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * decl.c (tag_name): New fn.
jason [Sun, 22 Nov 1998 21:34:27 +0000 (21:34 +0000)]
* decl.c (tag_name): New fn.
(xref_tag): Complain about using typedef-name after class-key.
Fixes Sec7/1_3/C07351.cm.
* init.c (expand_vec_init): Also keep going if from_array.
Fixes g++.other/copy1.C.
* tree.c (is_overloaded_fn): Also handle the output of
build_offset_ref.
Fixes Sec5/3_3/S05162.C.
* decl.c (grokdeclarator): Use constructor_name when comparing
field name against enclosing class.
* class.c (finish_struct_anon): Likewise.
Fixes Sec9/2/C09268.cm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23758 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoupdate
jason [Sun, 22 Nov 1998 21:27:47 +0000 (21:27 +0000)]
update

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23757 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * i386/dgux.c (struct option): Add new "description field".
law [Sun, 22 Nov 1998 20:36:55 +0000 (20:36 +0000)]
    * i386/dgux.c (struct option): Add new "description field".
        * m88k/m88k.c (struct option): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23756 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * decl.c (poplevel): Remove code to handle KEEP == 2.
mmitchel [Sun, 22 Nov 1998 17:50:33 +0000 (17:50 +0000)]
* decl.c (poplevel): Remove code to handle KEEP == 2.
(finish_function): Don't confuse BLOCK-order when
processing a destructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23755 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agonew
jason [Sun, 22 Nov 1998 17:43:18 +0000 (17:43 +0000)]
new

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23754 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoBump for snapshot
law [Sun, 22 Nov 1998 16:08:02 +0000 (16:08 +0000)]
Bump for snapshot

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23752 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoComment on fix.
fx [Sun, 22 Nov 1998 14:02:22 +0000 (14:02 +0000)]
Comment on fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23751 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * regmove.c (regmove_profitable_p): Use return value of find_matches
crux [Sun, 22 Nov 1998 05:59:02 +0000 (05:59 +0000)]
* regmove.c (regmove_profitable_p): Use return value of find_matches
properly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23750 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoBump for snapshot
law [Sun, 22 Nov 1998 02:47:41 +0000 (02:47 +0000)]
Bump for snapshot

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23749 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
law [Sun, 22 Nov 1998 02:46:22 +0000 (02:46 +0000)]
    * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
        without reload having been called earlier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23748 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
law [Sun, 22 Nov 1998 02:09:49 +0000 (02:09 +0000)]
    * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
        addressing modes.
        (v850_reorg): Similarly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23747 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoDaily bump.
law [Sun, 22 Nov 1998 00:45:32 +0000 (00:45 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23746 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
law [Sat, 21 Nov 1998 21:14:46 +0000 (21:14 +0000)]

        * loop.c (check_dbra_loop): Avoid using gen_add2_insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23745 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago
law [Sat, 21 Nov 1998 20:42:05 +0000 (20:42 +0000)]

        * gcc.c-torture/execute/980526-1.c: Do nothing if NO_LABEL_VALUES
        is defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23744 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * decl.c (require_complete_types_for_parms): Call layout_decl
jason [Sat, 21 Nov 1998 16:20:55 +0000 (16:20 +0000)]
* decl.c (require_complete_types_for_parms): Call layout_decl
after we've completed the type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23743 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago * decl2.c (validate_nonmember_using_decl): Allow using templates
loewis [Sat, 21 Nov 1998 13:42:29 +0000 (13:42 +0000)]
* decl2.c (validate_nonmember_using_decl): Allow using templates
from the global namespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23742 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoNew test case.
loewis [Sat, 21 Nov 1998 13:40:51 +0000 (13:40 +0000)]
New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23741 138bc75d-0d04-0410-961f-82ee72b054a4

25 years ago Handle specifying template args to member function templates.
jason [Sat, 21 Nov 1998 05:42:20 +0000 (05:42 +0000)]
Handle specifying template args to member function templates.
* tree.c (build_overload): Always create an OVERLOAD for a template.
* search.c (add_conversions): Handle finding an OVERLOAD.
* decl2.c (check_classfn): Likewise.
* lex.c (identifier_type): See through a baselink.
* parse.y (do_id): Don't call do_identifier if we got a baselink.
* class.c (instantiate_type, case TREE_LIST): Recurse.
* decl.c (grokdeclarator): Allow a boolean constant for array
bounds, odd as that sounds.
* pt.c (unify): Be more strict about non-type parms, except for
array bounds.
(UNIFY_ALLOW_INTEGER): New macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23740 138bc75d-0d04-0410-961f-82ee72b054a4

25 years agoDaily bump.
law [Sat, 21 Nov 1998 00:45:03 +0000 (00:45 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23739 138bc75d-0d04-0410-961f-82ee72b054a4