summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2011-12-25 20:51:40 +0000
committered <ed@FreeBSD.org>2011-12-25 20:51:40 +0000
commitb5c974de6b8a3108890e218e067cd4cd73cd47e5 (patch)
tree82656a646e0516e83206cac512b4b08d41d154c3
parent270a49c593b1dbdbe4e5f6e8c3edf6b9eb68bb43 (diff)
downloadFreeBSD-src-b5c974de6b8a3108890e218e067cd4cd73cd47e5.zip
FreeBSD-src-b5c974de6b8a3108890e218e067cd4cd73cd47e5.tar.gz
Add <stdalign.h> and <stdnoreturn.h>.
Even though these header files make little sense to me, they are part of the standard. By including these header files, you can simply use `alignas', `alignof' and `noreturn' instead of the underscore-prefixed versions.
-rw-r--r--include/Makefile4
-rw-r--r--include/stdalign.h47
-rw-r--r--include/stdnoreturn.h36
3 files changed, 85 insertions, 2 deletions
diff --git a/include/Makefile b/include/Makefile
index 763c254..5fc3923 100644
--- a/include/Makefile
+++ b/include/Makefile
@@ -19,8 +19,8 @@ INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
printf.h proc_service.h pthread.h \
pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \
res_update.h resolv.h runetype.h search.h semaphore.h setjmp.h \
- signal.h spawn.h stab.h stdatomic.h \
- stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \
+ signal.h spawn.h stab.h stdalign.h stdatomic.h stdbool.h stddef.h \
+ stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \
strings.h sysexits.h tar.h termios.h tgmath.h \
time.h timeconv.h timers.h ttyent.h \
ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h vis.h \
diff --git a/include/stdalign.h b/include/stdalign.h
new file mode 100644
index 0000000..2fb13aa
--- /dev/null
+++ b/include/stdalign.h
@@ -0,0 +1,47 @@
+/*-
+ * Copyright (c) 2012 Ed Schouten <ed@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __alignas_is_defined
+#define __alignas_is_defined 1
+
+#if !defined(__cplusplus) || __cplusplus < 201103L
+#include <sys/cdefs.h>
+#define alignas _Alignas
+#endif
+
+#endif /* !__alignas_is_defined */
+
+#ifndef __alignof_is_defined
+#define __alignof_is_defined 1
+
+#if !defined(__cplusplus) || __cplusplus < 201103L
+#include <sys/cdefs.h>
+#define alignof _Alignof
+#endif
+
+#endif /* !__alignof_is_defined */
diff --git a/include/stdnoreturn.h b/include/stdnoreturn.h
new file mode 100644
index 0000000..f022730
--- /dev/null
+++ b/include/stdnoreturn.h
@@ -0,0 +1,36 @@
+/*-
+ * Copyright (c) 2012 Ed Schouten <ed@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef noreturn
+
+#if !defined(__cplusplus) || __cplusplus < 201103L
+#include <sys/cdefs.h>
+#define noreturn _Noreturn
+#endif
+
+#endif /* !noreturn */
OpenPOWER on IntegriCloud