source: trunk/third/gcc/gansidecl.h @ 11288

Revision 11288, 2.4 KB checked in by ghudson, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r11287, which included commits to RCS files with non-trunk default branches.
Line 
1/* ANSI and traditional C compatibility macros.
2   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU CC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU CC; see the file COPYING.  If not, write to
18the Free Software Foundation, 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA.  */
20
21/* This file mimics some of the support provided by include/ansidecl.h
22   in binutils and gdb releases.
23   ??? Over time the two should be merged into one.  */
24
25#ifndef ANSIDECL_H
26#define ANSIDECL_H
27
28/* Add prototype support.  */
29#ifndef PROTO
30#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
31#define PROTO(ARGS) ARGS
32#else
33#define PROTO(ARGS) ()
34#endif
35#endif
36
37#ifndef VPROTO
38#ifdef __STDC__
39#define PVPROTO(ARGS)           ARGS
40#define VPROTO(ARGS)            ARGS
41#define VA_START(va_list,var)  va_start(va_list,var)
42#else
43#define PVPROTO(ARGS)           ()
44#define VPROTO(ARGS)            (va_alist) va_dcl
45#define VA_START(va_list,var)  va_start(va_list)
46#endif
47#endif
48
49/* Define a generic NULL if one hasn't already been defined.  */
50
51#ifndef NULL
52#define NULL 0
53#endif
54
55#ifndef GENERIC_PTR
56#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
57#define GENERIC_PTR void *
58#else
59#define GENERIC_PTR char *
60#endif
61#endif
62
63#ifndef NULL_PTR
64#define NULL_PTR ((GENERIC_PTR) 0)
65#endif
66
67#ifdef __STDC__
68
69#define PTR void *
70
71#else
72
73#define PTR char *
74#ifndef const
75#define const
76#endif
77
78#endif /* ! __STDC__ */
79
80/* We don't have autoconf for libgcc2.c since it's a target, so don't
81   define these functions, which aren't used there anyway.  */
82
83#ifndef IN_LIBGCC2
84
85#ifndef HAVE_BCOPY
86#define bcopy(src,dst,len) memcpy ((dst),(src),(len))
87#endif
88
89#ifndef HAVE_BZERO
90#define bzero(dst,len) memset ((dst),0,(len))
91#endif
92
93#ifndef HAVE_BCMP
94#define bcmp(left,right,len) memcmp ((left),(right),(len))
95#endif
96
97#ifndef HAVE_RINDEX
98#define rindex strrchr
99#endif
100
101#ifndef HAVE_INDEX
102#define index strchr
103#endif
104
105#endif /* IN_LIBGCC2 */
106
107#endif /* ANSIDECL_H */
Note: See TracBrowser for help on using the repository browser.