--- gcc/config/convex/convex.h 2018/04/24 18:15:22 1.1.1.2 +++ gcc/config/convex/convex.h 2018/04/24 18:29:09 1.1.1.4 @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Convex version. - Copyright (C) 1988, 1993 Free Software Foundation, Inc. + Copyright (C) 1988, 1994, 1995 Free Software Foundation, Inc. This file is part of GNU CC. @@ -15,7 +15,8 @@ GNU General Public License for more deta 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ /* Standard GCC variables that we reference. */ @@ -743,11 +744,12 @@ enum reg_class { /* Value is the number of bytes of arguments automatically popped when returning from a subroutine call. + FUNDECL is the declaration node of the function (as a tree), FUNTYPE is the data type of the function (as a tree), or for a library call it is an identifier node for the subroutine name. SIZE is the number of bytes of arguments passed on the stack. */ -#define RETURN_POPS_ARGS(FUNTYPE, SIZE) (SIZE) +#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) (SIZE) /* Define how to find the value returned by a function. VALTYPE is the data type of the value (as a tree). @@ -1119,7 +1121,6 @@ enum reg_class { else break; \ case MULT: \ return 4 * (char) (0x03060403 >> target_cpu * 8); \ - case LSHIFT: \ case ASHIFT: \ case LSHIFTRT: \ case ASHIFTRT: \ @@ -1180,8 +1181,8 @@ enum reg_class { extern double atof(); /* Check a `double' value for validity for a particular machine mode. */ -#define CHECK_FLOAT_VALUE(mode, d) \ - check_float_value ((mode), &(d)) +#define CHECK_FLOAT_VALUE(MODE, D, OVERFLOW) \ + overflow = check_float_value (MODE, &D, OVERFLOW) /* Tell final.c how to eliminate redundant test instructions. */ @@ -1488,21 +1489,11 @@ bss_section () \ #define PRINT_OPERAND_ADDRESS(FILE, ADDR) \ print_operand_address (FILE, ADDR) -/* Definitions for g++. */ - /* Do not put out GNU stabs for constructors and destructors. ld bounces them. */ #define FASCIST_ASSEMBLER -/* Convex user addresses are negative, so use positive numbers - to mean `vtable index'. */ - -#define VTABLE_USES_MASK -#define VINDEX_MAX ((unsigned) 0x80000000) -#define SET_DECL_VINDEX(DECL, INDEX) \ - (DECL_VINDEX (DECL) = (INDEX)) - /* __gcc_cleanup is loader-aliased to __ap$do_registered_functions if we are linking against standard libc, 0 if old (-traditional) libc. */ @@ -1514,12 +1505,6 @@ bss_section () \ _cleanup (); \ } -/* cexp.y uses LONG_TYPE_SIZE which depends on target_flags, which it - doesn't have. Until some better way exists, provide a def here. */ -#ifdef YYBISON -int target_flags; -#endif - /* Header for convex.c. Here at the end so we can use types defined above. */ @@ -1536,5 +1521,5 @@ extern char *output_cmp (); extern char *output_condjump (); extern char *output_call (); extern void gen_ap_for_call (); -extern void check_float_value (); +extern int check_float_value (); extern void asm_declare_function_name ();