From 757e6639b9513610e16cd9795148668bcb82d944 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 13 Jan 2001 12:34:02 +0000 Subject: [PATCH] c-decl.c (start_function): Don't warn if old prototype is builtin that's not in C's namespace. * c-decl.c (start_function): Don't warn if old prototype is builtin that's not in C's namespace. * libgcc2.c (_varargs): Update definition of __builtin_saveregs. (_bb): Add prototype for ctime. * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos. From-SVN: r38980 --- gcc/ChangeLog | 8 ++++++++ gcc/c-decl.c | 10 ++++++++-- gcc/config/alpha/osf.h | 5 ++++- gcc/libgcc2.c | 8 ++++---- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33025c28167..a39915fe3e8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Sat Jan 13 07:30:02 2001 Richard Kenner + + * c-decl.c (start_function): Don't warn if old prototype is builtin + that's not in C's namespace. + * libgcc2.c (_varargs): Update definition of __builtin_saveregs. + (_bb): Add prototype for ctime. + * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos. + Sat Jan 13 09:53:32 MET 2001 Jan Hubicka * i386.c (ix86_fp_comparison_arithmetics_cost, diff --git a/gcc/c-decl.c b/gcc/c-decl.c index bcd414e03cc..97ae2bae9bb 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -5837,12 +5837,18 @@ start_function (declspecs, declarator, prefix_attributes, attributes) /* Optionally warn of old-fashioned def with no previous prototype. */ if (warn_strict_prototypes && TYPE_ARG_TYPES (TREE_TYPE (decl1)) == 0 - && !(old_decl != 0 && TYPE_ARG_TYPES (TREE_TYPE (old_decl)) != 0)) + && !(old_decl != 0 + && (TYPE_ARG_TYPES (TREE_TYPE (old_decl)) != 0 + || (DECL_BUILT_IN (old_decl) + && ! C_DECL_ANTICIPATED (old_decl))))) warning ("function declaration isn't a prototype"); /* Optionally warn of any global def with no previous prototype. */ else if (warn_missing_prototypes && TREE_PUBLIC (decl1) - && !(old_decl != 0 && TYPE_ARG_TYPES (TREE_TYPE (old_decl)) != 0) + && !(old_decl != 0 + && (TYPE_ARG_TYPES (TREE_TYPE (old_decl)) != 0 + || (DECL_BUILT_IN (old_decl) + && ! C_DECL_ANTICIPATED (old_decl)))) && ! MAIN_NAME_P (DECL_NAME (decl1))) warning_with_decl (decl1, "no previous prototype for `%s'"); /* Optionally warn of any def with no previous prototype diff --git a/gcc/config/alpha/osf.h b/gcc/config/alpha/osf.h index 17538f6188f..1d1109b3c2f 100644 --- a/gcc/config/alpha/osf.h +++ b/gcc/config/alpha/osf.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for DEC Alpha on OSF/1. - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998 + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) @@ -128,10 +128,13 @@ Boston, MA 02111-1307, USA. */ /* Attempt to turn on access permissions for the stack. */ #define TRANSFER_FROM_TRAMPOLINE \ +extern void __enable_execute_stack PARAMS ((void *)); \ + \ void \ __enable_execute_stack (addr) \ void *addr; \ { \ + extern int mprotect PARAMS ((const void *, size_t, int)); \ long size = getpagesize (); \ long mask = ~(size-1); \ char *page = (char *) (((long) addr) & mask); \ diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index f38bfc88d39..341ed4abc12 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -1,7 +1,7 @@ /* More subroutines needed by GCC output code on some machines. */ /* Compile this one with gcc. */ /* Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 - Free Software Foundation, Inc. + 2001 Free Software Foundation, Inc. This file is part of GNU CC. @@ -1457,8 +1457,8 @@ asm ("___builtin_saveregs:"); asm (" .end __builtin_saveregs"); #else /* not __mips__, etc. */ -void * __attribute__ ((__noreturn__)) -__builtin_saveregs (void) +void * ATTRIBUTE_NORETURN +__builtin_saveregs () { abort (); } @@ -1517,7 +1517,7 @@ BLOCK_PROFILER_CODE #undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */ #include -char *ctime (); +char *ctime PARAMS ((const time_t *)); #include "gbl-ctors.h" #include "gcov-io.h" -- 2.30.2