Imported from ../bash-2.03.tar.gz.
[platform/upstream/bash.git] / lib / posixheaders / stdc.h
1 /* stdc.h -- macros to make source compile on both ANSI C and K&R C
2    compilers. */
3
4 /* Copyright (C) 1993 Free Software Foundation, Inc.
5
6    This file is part of GNU Bash, the Bourne Again SHell.
7
8    Bash is free software; you can redistribute it and/or modify it
9    under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 1, or (at your option)
11    any later version.
12
13    Bash is distributed in the hope that it will be useful, but WITHOUT
14    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16    License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with Bash; see the file COPYING.  If not, write to the Free
20    Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
21
22 #if !defined (_STDC_H_)
23 #define _STDC_H_
24
25 /* Adapted from BSD /usr/include/sys/cdefs.h. */
26
27 /* A function can be defined using prototypes and compile on both ANSI C
28    and traditional C compilers with something like this:
29         extern char *func __P((char *, char *, int)); */
30
31 #if defined (__STDC__)
32
33 #  if !defined (__P)
34 #    define __P(protos) protos
35 #  endif
36 #  define __STRING(x) #x
37
38 #  if !defined (__GNUC__)
39 #    define inline
40 #  endif
41
42 #else /* !__STDC__ */
43
44 #  if !defined (__P)
45 #    define __P(protos) ()
46 #  endif
47 #  define __STRING(x) "x"
48
49 #if defined (__GNUC__)          /* gcc with -traditional */
50 #  if !defined (const)
51 #    define const  __const
52 #  endif
53 #  if !defined (inline)
54 #    define inline __inline
55 #  endif
56 #  if !defined (signed)
57 #    define signed __signed
58 #  endif
59 #  if !defined (volatile)
60 #    define volatile __volatile
61 #  endif
62 #else /* !__GNUC__ */
63 #  if !defined (const)
64 #    define const
65 #  endif
66 #  if !defined (inline)
67 #    define inline
68 #  endif
69 #  if !defined (signed)
70 #    define signed
71 #  endif
72 #  if !defined (volatile)
73 #    define volatile
74 #  endif
75 #endif /* !__GNUC__ */
76
77 #endif /* !__STDC__ */
78
79 #endif /* !_STDC_H_ */