--- gcc/config/i386/sco.h 2018/04/24 18:10:27 1.1.1.1 +++ gcc/config/i386/sco.h 2018/04/24 18:30:43 1.1.1.4 @@ -1,5 +1,22 @@ -/* Definitions for Intel 386 running SCO Unix System V. */ +/* Definitions for Intel 386 running SCO Unix System V. + Copyright (C) 1988, 1992, 1994, 1995 Free Software Foundation, Inc. +This file is part of GNU CC. + +GNU CC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU CC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ /* Mostly it's like AT&T Unix System V. */ @@ -16,6 +33,11 @@ #undef TARGET_DEFAULT #define TARGET_DEFAULT 0201 +/* Let's guess that the SCO software FPU emulator can't handle + 80-bit XFmode insns, so don't generate them. */ +#undef LONG_DOUBLE_TYPE_SIZE +#define LONG_DOUBLE_TYPE_SIZE 64 + /* Use crt1.o as a startup file and crtn.o as a closing file. */ #undef STARTFILE_SPEC @@ -33,7 +55,7 @@ /* Specify predefined symbols in preprocessor. */ #undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Dunix -Di386 -DM_UNIX -DM_I386 -DM_COFF -DM_WORDSWAP" +#define CPP_PREDEFINES "-Dunix -Di386 -DM_UNIX -DM_I386 -DM_COFF -DM_WORDSWAP -Asystem(unix) -Asystem(svr3) -Acpu(i386) -Amachine(i386)" #undef CPP_SPEC #define CPP_SPEC "%{scointl:-DM_INTERNAT}" @@ -62,7 +84,8 @@ #undef VALUE_REGNO #define VALUE_REGNO(MODE) \ - ((TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode)) + ((TARGET_80387 + && ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode) ? FIRST_FLOAT_REG : 0) #undef HARD_REGNO_MODE_OK @@ -80,7 +103,7 @@ structures. */ #undef RETURN_POPS_ARGS -#define RETURN_POPS_ARGS(FUNTYPE,SIZE) \ +#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ (TREE_CODE (FUNTYPE) == IDENTIFIER_NODE ? 0 \ : (TARGET_RTD \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \ @@ -88,4 +111,7 @@ == void_type_node))) ? (SIZE) \ : 0) /* On other 386 systems, the last line looks like this: - : (aggregate_value_p (FUNTYPE)) ? GET_MODE_SIZE (Pmode) : 0) */ + : (aggregate_value_p (TREE_TYPE (FUNTYPE))) ? GET_MODE_SIZE (Pmode) : 0) */ + +/* Handle #pragma pack. */ +#define HANDLE_SYSV_PRAGMA