changeset 10333:818ccd4c7d55

PSARC 2009/429 sys/stdbool.h 6870093 RFE: C99 <stdbool.h> should be visible for kernel modules Contributed by Roland Mainz <roland.mainz@nrubsig.org>
author Garrett D'Amore <Garrett.Damore@Sun.COM>
date Mon, 17 Aug 2009 20:49:16 -0700
parents 9e2bbecf6d7a
children 2f82b01640c4
files usr/src/head/stdbool.h usr/src/pkgdefs/SUNWhea/prototype_com usr/src/uts/common/sys/Makefile usr/src/uts/common/sys/stdbool.h
diffstat 4 files changed, 71 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/head/stdbool.h	Tue Aug 18 09:00:07 2009 +0800
+++ b/usr/src/head/stdbool.h	Mon Aug 17 20:49:16 2009 -0700
@@ -20,49 +20,13 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
 #ifndef _STDBOOL_H
 #define	_STDBOOL_H
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-/*
- * This header is included for alignment with the ISO/IEC 9899:1999 standard.
- * The contents are only visible when using a c99 compiler. In the case of
- * the Sun compiler, some C99 features, including the _Bool built-in type,
- * are provided in the default compilation mode. This is a subset of what
- * is provided when __STDC_VERSION__ is 199901; hence the contents of this
- * header are made visible when either __STDC_VERSION__ >= 199901 (_STDC_C99
- * as defined in sys/feature_tests.h) or if __C99FEATURES__ (a Sun compiler
- * built-in) is defined. Likewise for GNU C, support for C99 features,
- * including this header, is provided in versions 3.0 or greater. In no
- * case should the contents of this header be visible in a C++ build
- * environment.
- *
- * Note that the ability to undefine and redefine the macros bool,
- * true, and false  is an obsolescent feature which may be withdrawn
- * in a future version of the standards specifications.
- */
+#include <sys/stdbool.h>
 
-#include <sys/feature_tests.h>
-
-#ifndef __cplusplus
-#if defined(_STDC_C99) || defined(__C99FEATURES__) || __GNUC__ >= 3
-
-#undef	bool
-#undef	true
-#undef	false
-
-#define	bool	_Bool
-#define	true	1
-#define	false	0
-
-#define	__bool_true_false_are_defined	1
-
-#endif /* defined(_STDC_C99) || defined(__C99FEATURES__) || __GNUC__ >= 3 */
-#endif /* __cplusplus */
-
-#endif /* _STDBOOL_H */
+#endif	/* _STDBOOL_H */
--- a/usr/src/pkgdefs/SUNWhea/prototype_com	Tue Aug 18 09:00:07 2009 +0800
+++ b/usr/src/pkgdefs/SUNWhea/prototype_com	Mon Aug 17 20:49:16 2009 -0700
@@ -1253,6 +1253,7 @@
 f none usr/include/sys/stat_impl.h 644 root bin
 f none usr/include/sys/statfs.h 644 root bin
 f none usr/include/sys/statvfs.h 644 root bin
+f none usr/include/sys/stdbool.h 644 root bin
 f none usr/include/sys/stdint.h 644 root bin
 f none usr/include/sys/stermio.h 644 root bin
 f none usr/include/sys/stream.h 644 root bin
--- a/usr/src/uts/common/sys/Makefile	Tue Aug 18 09:00:07 2009 +0800
+++ b/usr/src/uts/common/sys/Makefile	Mon Aug 17 20:49:16 2009 -0700
@@ -505,6 +505,7 @@
 	stat.h			\
 	statfs.h		\
 	statvfs.h		\
+	stdbool.h		\
 	stdint.h		\
 	stermio.h		\
 	stmf.h			\
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/sys/stdbool.h	Mon Aug 17 20:49:16 2009 -0700
@@ -0,0 +1,66 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#ifndef _SYS_STDBOOL_H
+#define	_SYS_STDBOOL_H
+
+/*
+ * This header is included for alignment with the ISO/IEC 9899:1999 standard.
+ * The contents are only visible when using a c99 compiler. In the case of
+ * the Sun compiler, some C99 features, including the _Bool built-in type,
+ * are provided in the default compilation mode. This is a subset of what
+ * is provided when __STDC_VERSION__ is 199901; hence the contents of this
+ * header are made visible when either __STDC_VERSION__ >= 199901 (_STDC_C99
+ * as defined in sys/feature_tests.h) or if __C99FEATURES__ (a Sun compiler
+ * built-in) is defined. Likewise for GNU C, support for C99 features,
+ * including this header, is provided in versions 3.0 or greater. In no
+ * case should the contents of this header be visible in a C++ build
+ * environment.
+ *
+ * Note that the ability to undefine and redefine the macros bool,
+ * true, and false  is an obsolescent feature which may be withdrawn
+ * in a future version of the standards specifications.
+ */
+
+#include <sys/feature_tests.h>
+
+#ifndef __cplusplus
+#if defined(_STDC_C99) || defined(__C99FEATURES__) || __GNUC__ >= 3
+
+#undef	bool
+#undef	true
+#undef	false
+
+#define	bool	_Bool
+#define	true	1
+#define	false	0
+
+#define	__bool_true_false_are_defined	1
+
+#endif /* defined(_STDC_C99) || defined(__C99FEATURES__) || __GNUC__ >= 3 */
+#endif /* __cplusplus */
+
+#endif /* !_SYS_STDBOOL_H */