Add the <stdnoreturn.h> header for C11 conformance.
authorSascha Wildner <saw@online.de>
Wed, 30 Apr 2014 09:39:03 +0000 (11:39 +0200)
committerSascha Wildner <saw@online.de>
Wed, 30 Apr 2014 09:39:03 +0000 (11:39 +0200)
Per clause 7.23 from the final draft.

Taken-from: FreeBSD

include/Makefile
include/stdnoreturn.h [new file with mode: 0644]

index f781d88..4dfd1dd 100644 (file)
@@ -21,7 +21,7 @@ INCS= a.out.h ar.h assert.h bitstring.h cpio.h ctype.h db.h \
        res_update.h resolv.h re_comp.h rmd160.h \
        runetype.h search.h setjmp.h sgtty.h \
        signal.h spawn.h stab.h stdalign.h stdarg.h stdbool.h \
-       stddef.h stdint.h stdio.h stdlib.h \
+       stddef.h stdint.h stdio.h stdlib.h stdnoreturn.h \
        string.h stringlist.h strings.h struct.h sysexits.h \
        tar.h tgmath.h time.h \
        timeconv.h \
diff --git a/include/stdnoreturn.h b/include/stdnoreturn.h
new file mode 100644 (file)
index 0000000..275befd
--- /dev/null
@@ -0,0 +1,38 @@
+/*-
+ * 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: head/include/stdnoreturn.h 229437 2012-01-03 23:05:23Z ed $
+ */
+
+#ifdef __cplusplus
+#error "<stdnoreturn.h> cannot be used in combination with C++11."
+#endif
+
+#ifndef noreturn
+
+#include <sys/cdefs.h>
+#define        noreturn                _Noreturn
+
+#endif /* !noreturn */