2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2024-12-27 18:35:47 +08:00
Commit Graph

14716 Commits

Author SHA1 Message Date
Doug Evans
bf65b159ec (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
fmovd so it works if a quad float ends up in one of the upper 32
	float regs.

From-SVN: r15985
1997-10-17 23:21:12 +00:00
Doug Evans
9d162eb296 sparc.c (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD...
* sparc.c (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
fmovd so it works if a quad float ends up in one of the upper 32
float regs.

From-SVN: r15984
1997-10-17 23:20:03 +00:00
David S. Miller
7e37212eeb sparc.md (pic_{lo_sum,sethi}_di): New patterns necessary for PIC support on sparc64.
* sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
	necessary for PIC support on sparc64.

From-SVN: r15982
1997-10-17 23:01:29 +00:00
Doug Evans
bd6c666f80 Reorg sethi_{hi,si} patterns.
From-SVN: r15979
1997-10-17 22:45:15 +00:00
Jeff Law
67c5b7ada6 Add some stuff.
From-SVN: r15978
1997-10-17 16:16:29 -06:00
Doug Evans
f4f8e3703a sparc.c (output_double_int): Output DI mode values correctly when HOST_BITS_PER_WIDE_INT is 64.
* sparc/sparc.c (output_double_int): Output DI mode values
	correctly when HOST_BITS_PER_WIDE_INT is 64.

From-SVN: r15977
1997-10-17 21:59:06 +00:00
David S. Miller
da2a90f71a sparc.h (FUNCTION_PROFILER): Fix format string when TARGET_MEDANY.
* sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
	TARGET_MEDANY.

From-SVN: r15974
1997-10-17 21:35:20 +00:00
David S. Miller
64562cc84e * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
From-SVN: r15972
1997-10-17 21:21:12 +00:00
David S. Miller
bf2a2c6b9f * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
From-SVN: r15971
1997-10-17 21:16:36 +00:00
Doug Evans
9ff84e679a First pass at updating to current sparc v9 abi.
From-SVN: r15969
1997-10-17 20:41:17 +00:00
Doug Evans
4fb4e4b8be sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
* sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
	* sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
	(PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
	(SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
	(SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
	(SPARC_FP_ARG_FIRST): New macro.
	(CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
	(NPARM_REGS): There are 32 fp argument registers now.
	(FUNCTION_ARG_REGNO_P): Likewise.
	(FIRST_PARM_OFFSET): Update to new v9 abi.
	(REG_PARM_STACK_SPACE): Define for arch64.
	(enum sparc_arg_class): Delete.
	(sparc_arg_count,sparc_n_named_args): Delete.
	(struct sparc_args): Redefine and use for arch32 as well as arch64.
	(GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
	(FUNCTION_ARG_ADVANCE): Rewrite.
	(FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
	(FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
	(FUNCTION_ARG_CALLEE_COPIES): Delete.
	(FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
	(STRICT_ARGUMENT_NAMING): Define.
	(doublemove_string): Declare.
	* sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
	(single_move_string): Use GEN_INT, and HOST_WIDE_INT.
	(doublemove_string): New function.
	(output_move_quad): Clean up some of the arch64 support.
	(compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
	Don't add 8 bytes of reserved space if arch64.
	(sparc_builtin_saveregs): Combine arch32/arch64 versions.
	(init_cumulative_args): New function.
	(function_arg_slotno): New static function.
	(function_arg,function_arg_partial_nregs): New functions.
	(function_arg_{pass_by_reference,advance}): New functions.
	(function_arg_padding): New function.
First pass at updating to current v9 abi.

From-SVN: r15968
1997-10-17 20:39:37 +00:00
Jeff Law
941b1165c2 Fix from Joern.
From-SVN: r15955
1997-10-17 09:54:01 -06:00
Christian Iseli
f22376c716 regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P for hard regs to determine base and index...
* regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
        for hard regs to determine base and index registers.

From-SVN: r15954
1997-10-17 09:46:57 -06:00
Christian Iseli
b8fb2d721d reload.c (debug_reload_to_stream): New function.
* reload.c (debug_reload_to_stream): New function.  Specify stream
        into which to write debug info.
        (debug_reload): Modify to call debug_reload_to_stream with stderr.
Thanks.  Installed.

From-SVN: r15953
1997-10-17 09:40:52 -06:00
Richard Henderson
b79ee7eb70 combine.c (can_combine_p): Don't combine with an asm whose output is a hard register.
* combine.c (can_combine_p): Don't combine with an asm whose
        output is a hard register.

From-SVN: r15940
1997-10-16 15:06:43 -07:00
Mike Stump
5c19a35643 c-decl.c (start_struct): Ensure that structs with forward declarations are in fact packed when...
* c-decl.c (start_struct): Ensure that structs with forward
        declarations are in fact packed when -fpack-struct is given.

        * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
        we are packing a structure.  This allows a structure with only
        bytes to be aligned on a byte boundary and have no padding on a
        m68k.

From-SVN: r15939
1997-10-16 15:45:24 -06:00
Judy Goldberg
bdd7e652f4 pt.c (determine_explicit_specialization): Initialize "dummy" to keep Purify quiet.
* pt.c (determine_explicit_specialization): Initialize "dummy"
        to keep Purify quiet.

From-SVN: r15938
1997-10-16 15:33:36 -06:00
Richard Kenner
02bef6da38 rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
* rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
Bring over from gcc2.

From-SVN: r15937
1997-10-16 15:16:09 -06:00
Richard Henderson
9ecc37f0e2 alpha.c (alpha_return_addr_rtx): New variable.
* alpha.c (alpha_return_addr_rtx): New variable.
        (alpha_save_machine_status): New; save it.
        (alpha_restore_machine_status): New; restore it.
        (alpha_init_expanders): New; clear it.
        (alpha_return_addr): New; set it.
        (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
        is overly conservative, so search the insns explicitly.
        (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
        (alpha_sa_size [VMS && !VMS]): Likewise.
        * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
        (INIT_EXPANDERS): New definition.

        * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
        (output_prolog [!VMS]): Use them.

        * alpha.c (output_prolog [!VMS]): Move gp detection to ...
        (alpha_does_function_need_gp): ... a new function.  Refine the
        CALL_INSN test to just TYPE_JSR.
        * alpha.md (most call insns): Fix some jsr/ibr type transpositions.

From-SVN: r15936
1997-10-16 11:37:59 -07:00
Jeffrey A Law
bda2ffefc8 * version.c: Bump for snapshot.
From-SVN: r15932
1997-10-16 09:39:00 -06:00
Jeff Law
1510f52e3e configure.in: Create compatibility code in bits/libc-lock.h file.
* configure.in: Create compatibility code in bits/libc-lock.h file.


        * libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
        not defined.

        * filedoalloc.c (_IO_file_doallocate): Don't call
        _IO_cleanup_registration_needed if __linux__ is defined.

        * iofclose.c (fclose): Make it weak alias of _IO_fclose if
        __ELF__ is defined.

        * iovsprintf.c (vsprintf): Make it weak alias of _IO_vsprintf
        if __ELF__ is defined.

        * iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
        __ELF__ is defined.

        * config/linuxlibc1.mt (MT_CFLAGS): Defined as -D_G_HAVE_MMAP.
        (IO_OBJECTS): Add filedoalloc.o fileops.o genops.o iofclose.o
        iovsprintf.o iovsscanf.o strops.o.

From-SVN: r15931
1997-10-16 09:30:26 -06:00
Paul Koning
022abf9081 Make-lang.in (stmp-f2c.h): Don't configure the runtime directory if LANGUAGES does not include f77.
* Make-lang.in (stmp-f2c.h): Don't configure the runtime
        directory if LANGUAGES does not include f77.

From-SVN: r15930
1997-10-16 02:02:09 -06:00
Ian Lance Taylor
a6e74b833c asprintf.c: Consistently use either stdarg or varargs.
* asprintf.c: Consistently use either stdarg or varargs.

Bring over from devo.

From-SVN: r15929
1997-10-16 01:39:03 -06:00
Jason Merrill
2636fde4ba method.c (build_overload_value): Handle TEMPLATE_CONST_PARMs here.
* method.c (build_overload_value): Handle TEMPLATE_CONST_PARMs here.
	(build_overload_int): Not here.

Wed Oct 15 00:35:28 1997  Mike Stump  <mrs@wrs.com>

	* class.c (build_type_pathname): Remove.
	(prepare_fresh_vtable): Fix problem with complex MI vtable names.

From-SVN: r15928
1997-10-16 03:20:46 -04:00
Richard Kenner
96b63cd7a2 pa.c (move_operand): Respect -mdisable-indexing.
* pa.c (move_operand): Respect -mdisable-indexing.
        * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
Bring over from gcc2.  Fixes ada -O2 bootstrap.

From-SVN: r15927
1997-10-15 21:37:28 -06:00
David Edelsohn
f192bf8b22 Add patch from Edelsohn
From-SVN: r15918
1997-10-16 01:37:11 +00:00
Richard Henderson
2ea844d394 alpha.c (final_prescan_insn): Gut, remove and transform to ...
* alpha.c (final_prescan_insn): Gut, remove and transform to ...
        (alpha_handle_trap_shadows): ... a new function.  Handle the entire
        function in one go.  Emit RTL for trapb, instead of printf directly.
        (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
        (trap_pending): Kill global variable.
        (output_epilog): Don't call final_prescan_insn.
        (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
        * alpha.h (FINAL_PRESCAN_INSN): Remove.
        (MACHINE_DEPENENT_REORG): Define.
        * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
        (trapb): New insn.

From-SVN: r15917
1997-10-15 18:23:23 -07:00
Richard Henderson
74835ed802 alpha.h (ISSUE_RATE): Define.
* alpha.h (ISSUE_RATE): Define.
        * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
        EV4 adjustments to EV5.
        * alpha.md: Remove all scaling from function unit delays.  Rework
        EV5 function units to match the CPU.
        (umuldi3_highpart): EV5 added the IMULH insn class.

From-SVN: r15916
1997-10-15 18:16:42 -07:00
Richard Henderson
ee80685a3b Forgot to commit last night.
From-SVN: r15915
1997-10-15 17:47:47 -06:00
Jeffrey A Law
cdc0de30d8 pa.c (following_call): Fail if the CALL_INSN is an indirect call.
* pa.c (following_call): Fail if the CALL_INSN is an indirect
        call.
Brought over from devo.

From-SVN: r15914
1997-10-15 17:41:10 -06:00
Jason Merrill
af4142d50b restore dwarf2 prototypes
From-SVN: r15912
1997-10-15 13:19:40 -04:00
Richard Henderson
0e52c1777d signal_.c (G77_signal_0): Make return type sig_pf as well.
* libF77/signal_.c (G77_signal_0): Make return type sig_pf as well.
        * libI77/fio.h: Include <string.h> if STDC_HEADERS.
        * libU77/chmod_.c: Likewise.

From-SVN: r15911
1997-10-15 10:02:53 -06:00
Richard Henderson
38bf38c1bc man.c (find_man_formatter): Don't cast getenv(), but provide a minimal declaration at top level.
* info/man.c (find_man_formatter): Don't cast getenv(), but provide
        a minimal declaration at top level.

        * makeinfo/makeinfo.c: Don't redefine alloca if it is already defined.

From-SVN: r15910
1997-10-15 09:49:40 -06:00
Jeff Law
87a0d1ac69 Remove code accidentally added twice.
From-SVN: r15909
1997-10-15 09:44:05 -06:00
Jeff Law
434fc96fca No .Sanitize files in egcs.
From-SVN: r15908
1997-10-14 22:26:58 -06:00
Brendan Kehoe
32066e1ae2 parse.y (unary_expr): Give a pedwarn if someone tries to use the &&label GNU extension.
* parse.y (unary_expr): Give a pedwarn if someone tries to use the
	&&label GNU extension.

From-SVN: r15907
1997-10-14 21:26:06 -04:00
Brendan Kehoe
6640eba99b fix two typos
From-SVN: r15906
1997-10-14 16:45:22 -04:00
Jason Merrill
1f479842ab regen
From-SVN: r15905
1997-10-14 15:19:35 -04:00
Mark Mitchell
1f06b26767 decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it, so as to avoid incorrect manglings.
Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>

	* decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it,
	so as to avoid incorrect manglings.
	* method.c (build_decl_overload_real): Don't mangle return types
	for constructors.

From-SVN: r15904
1997-10-14 15:12:56 -04:00
Mark Mitchell
041c97f2fb cplus-dem.c (demangle_signature): Don't look for return types on constructors.
* cplus-dem.c (demangle_signature): Don't look for return types on
	constructors.  Handle member template constructors.

From-SVN: r15903
1997-10-14 15:12:27 -04:00
Jason Merrill
438998a93d and these
From-SVN: r15902
1997-10-14 15:11:36 -04:00
Jason Merrill
19ddc834bc cplus-dem.c (demangle_signature): Don't look for return types on constructors.
Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>

	* cplus-dem.c (demangle_signature): Don't look for return types on
	constructors.  Handle member template constructors.

and update from devo.

From-SVN: r15901
1997-10-14 15:10:45 -04:00
Jason Merrill
e66d884e7b cp-tree.h (scratchalloc, [...]): Define as macros for now.
* cp-tree.h (scratchalloc, build_scratch_list, make_scratch_vec,
	scratch_tree_cons): Define as macros for now.
	* call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c,
	lex.c, method.c, parse.y, pt.c, rtti.c, search.c, tree.c, typeck.c,
	typeck2.c: Use them and the expression_obstack variants.

From-SVN: r15900
1997-10-14 14:59:03 -04:00
Jason Merrill
22ef8a131a tree.h: Declare them.
* tree.h: Declare them.

Oop.

From-SVN: r15899
1997-10-14 14:52:33 -04:00
Jason Merrill
f06327624c * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
From-SVN: r15898
1997-10-14 14:43:16 -04:00
Benjamin Kosnik
378ec56d93 Bring over test cases
From-SVN: r15897
1997-10-14 18:41:30 +00:00
Benjamin Kosnik
dae1d6f685 decl.c (store_return_init): Allow classes with explicit ctors to be used with the named return values extension.
* decl.c (store_return_init): Allow classes with explicit ctors to
  be used with the named return values extension.

From-SVN: r15896
1997-10-14 18:36:34 +00:00
Jeff Law
31c0e01bc5 new test from egcs-bug archives.
From-SVN: r15895
1997-10-14 11:35:26 -06:00
Richard Henderson
9abbaac7c2 Make-lang.in (g77*): Copied from cp/Make-lang.in g++*.
* Make-lang.in (g77*): Copied from cp/Make-lang.in g++*.
        * g77spec.c: New file, mostly copied from g++spec.c
        * g77.c: Removed.

From-SVN: r15893
1997-10-13 12:09:13 -06:00
Jeff Law
8c0a849156 Bring over from devo.
From-SVN: r15892
1997-10-13 10:03:04 -06:00