]> git.ipfire.org Git - thirdparty/bash.git/blame - include/stdc.h
Imported from ../bash-2.05a.tar.gz.
[thirdparty/bash.git] / include / stdc.h
CommitLineData
726f6388
JA
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
bb70624e 10 the Free Software Foundation; either version 2, or (at your option)
726f6388
JA
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
bb70624e 20 Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
726f6388 21
ccc6cda3
JA
22#if !defined (_STDC_H_)
23#define _STDC_H_
726f6388
JA
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)); */
ccc6cda3 30
bb70624e
JA
31#if !defined (__P)
32# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus)
726f6388 33# define __P(protos) protos
bb70624e
JA
34# else
35# define __P(protos) ()
726f6388 36# endif
bb70624e
JA
37#endif
38
f73dda09 39#if defined (HAVE_STRINGIZE)
726f6388 40# define __STRING(x) #x
f73dda09 41#else
726f6388 42# define __STRING(x) "x"
f73dda09
JA
43#endif
44
45#if !defined (__STDC__)
726f6388
JA
46
47#if defined (__GNUC__) /* gcc with -traditional */
726f6388
JA
48# if !defined (signed)
49# define signed __signed
50# endif
51# if !defined (volatile)
52# define volatile __volatile
53# endif
54#else /* !__GNUC__ */
726f6388
JA
55# if !defined (inline)
56# define inline
57# endif
58# if !defined (signed)
59# define signed
60# endif
61# if !defined (volatile)
62# define volatile
63# endif
64#endif /* !__GNUC__ */
65
66#endif /* !__STDC__ */
67
f73dda09
JA
68#ifndef __attribute__
69# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
70# define __attribute__(x)
71# endif
72#endif
73
ccc6cda3 74#endif /* !_STDC_H_ */