c-decl.c (start_function): Don't warn if old prototype is builtin that's not in C...
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Sat, 13 Jan 2001 12:34:02 +0000 (12:34 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 13 Jan 2001 12:34:02 +0000 (07:34 -0500)
* 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
gcc/c-decl.c
gcc/config/alpha/osf.h
gcc/libgcc2.c

index 33025c2..a39915f 100644 (file)
@@ -1,3 +1,11 @@
+Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * 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  <jh@suse.cz>
 
        * i386.c (ix86_fp_comparison_arithmetics_cost,
index bcd414e..97ae2ba 100644 (file)
@@ -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
index 17538f6..1d1109b 100644 (file)
@@ -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);                                \
index f38bfc8..341ed4a 100644 (file)
@@ -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 <stdio.h>
-char *ctime ();
+char *ctime PARAMS ((const time_t *));
 
 #include "gbl-ctors.h"
 #include "gcov-io.h"