Imported from ../bash-4.0-rc1.tar.gz.
[platform/upstream/bash.git] / include / stdc.h
index c216a69..df01d81 100644 (file)
@@ -5,19 +5,19 @@
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
-   Bash is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
 
-   Bash is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with Bash; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
 
 #if !defined (_STDC_H_)
 #define _STDC_H_
        extern char *func __P((char *, char *, int)); */
 
 #if !defined (__P)
-#  if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus)
+#  if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus) || defined (PROTOTYPES)
 #    define __P(protos) protos
 #  else 
 #    define __P(protos) ()
 #  endif
 #endif
 
-#if defined (__STDC__)
-
+#if defined (HAVE_STRINGIZE)
 #  define __STRING(x) #x
-
-#  if !defined (__GNUC__)
-#    define inline
-#  endif
-
-#else /* !__STDC__ */
-
+#else
 #  define __STRING(x) "x"
+#endif
+
+#if !defined (__STDC__)
 
 #if defined (__GNUC__)         /* gcc with -traditional */
-#  if !defined (const)
-#    define const  __const
-#  endif
-#  if !defined (inline)
-#    define inline __inline
-#  endif
 #  if !defined (signed)
 #    define signed __signed
 #  endif
@@ -62,9 +52,6 @@
 #    define volatile __volatile
 #  endif
 #else /* !__GNUC__ */
-#  if !defined (const)
-#    define const
-#  endif
 #  if !defined (inline)
 #    define inline
 #  endif
 
 #endif /* !__STDC__ */
 
+#ifndef __attribute__
+#  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
+#    define __attribute__(x)
+#  endif
+#endif
+
+/* For those situations when gcc handles inlining a particular function but
+   other compilers complain. */
+#ifdef __GNUC__
+#  define INLINE inline
+#else
+#  define INLINE
+#endif
+
+#if defined (PREFER_STDARG)
+#  define SH_VA_START(va, arg)  va_start(va, arg)
+#else
+#  define SH_VA_START(va, arg)  va_start(va)
+#endif
+
 #endif /* !_STDC_H_ */