summaryrefslogtreecommitdiff
path: root/gcc/genattrtab.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-02-10 13:08:17 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-02-10 13:08:17 +0000
commita6f0927c69a0333b32b68311fcf844e8d3bced58 (patch)
tree20baaa50bc7c93136efe725cb008305bb4aefc98 /gcc/genattrtab.c
parente5fcd76a21ac3954be758546e5b3ee8edc4c3ff1 (diff)
downloadgcc-a6f0927c69a0333b32b68311fcf844e8d3bced58.tar.gz
If __STDC__, include gstdarg and use ANSI form of varargs.
(attr_printf): Only declare when defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6515 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genattrtab.c')
-rw-r--r--gcc/genattrtab.c40
1 files changed, 26 insertions, 14 deletions
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index 865c0e74703..55ec2255dd3 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -1,6 +1,6 @@
/* Generate code from machine description to compute values of attributes.
- Copyright (C) 1991, 1993 Free Software Foundation, Inc.
- Contributed by Richard Kenner (kenner@nyu.edu)
+ Copyright (C) 1991, 1993, 1994 Free Software Foundation, Inc.
+ Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC.
@@ -96,7 +96,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "hconfig.h"
/* gvarargs must always be included after *config.h. */
+#ifdef __STDC__
+#include "gstdarg.h"
+#else
#include "gvarargs.h"
+#endif
#include "rtl.h"
#include "insn-config.h" /* For REGISTER_CONSTRAINTS */
#include <stdio.h>
@@ -355,11 +359,10 @@ static char *alternative_name;
rtx frame_pointer_rtx, hard_frame_pointer_rtx, stack_pointer_rtx;
rtx arg_pointer_rtx;
-#if 0
static rtx attr_rtx PROTO((enum rtx_code, ...));
+#ifdef HAVE_VPRINTF
static char *attr_printf PROTO((int, char *, ...));
#else
-static rtx attr_rtx ();
static char *attr_printf ();
#endif
@@ -524,11 +527,12 @@ attr_hash_add_string (hashcode, str)
/*VARARGS1*/
static rtx
-attr_rtx (va_alist)
- va_dcl
+attr_rtx VPROTO((enum rtx_code code, ...))
{
- va_list p;
+#ifndef __STDC__
enum rtx_code code;
+#endif
+ va_list p;
register int i; /* Array indices... */
register char *fmt; /* Current rtx's format... */
register rtx rt_val; /* RTX to return to caller... */
@@ -536,8 +540,11 @@ attr_rtx (va_alist)
register struct attr_hash *h;
struct obstack *old_obstack = rtl_obstack;
- va_start (p);
+ VA_START (p, code);
+
+#ifndef __STDC__
code = va_arg (p, enum rtx_code);
+#endif
/* For each of several cases, search the hash table for an existing entry.
Use that entry if one is found; otherwise create a new RTL and add it
@@ -719,19 +726,24 @@ attr_rtx (va_alist)
/*VARARGS2*/
static char *
-attr_printf (va_alist)
- va_dcl
+attr_printf VPROTO((register int len, register char *fmt, ...))
{
- va_list p;
+#ifndef __STDC__
register int len;
register char *fmt;
+#endif
+ va_list p;
register char *str;
- /* Print the string into a temporary location. */
- va_start (p);
+ VA_START (p, fmt);
+
+#ifndef __STDC__
len = va_arg (p, int);
+ fmt = va_arg (p, char*);
+#endif
+
+ /* Print the string into a temporary location. */
str = (char *) alloca (len);
- fmt = va_arg (p, char *);
vsprintf (str, fmt, p);
va_end (p);