]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Bug 2633] Provide stdnoreturn.h for windows port
authorHarlan Stenn <stenn@ntp.org>
Sun, 10 Aug 2014 22:26:19 +0000 (22:26 +0000)
committerHarlan Stenn <stenn@ntp.org>
Sun, 10 Aug 2014 22:26:19 +0000 (22:26 +0000)
bk: 53e7f18bIvJ3KctjhNnLDwpj5FMjCg

ChangeLog
ports/winnt/include/hopf_PCI_io.h [changed mode: 0755->0644]
ports/winnt/include/stdnoreturn.h [new file with mode: 0644]

index 2be176ec549f45fac24b5e6e8b7a1536cd3c04fa..32fffbaa700564df1ef6a5984128bc397ae03736 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+* [Bug 2633] Provide stdnoreturn.h for windows port.
 (4.2.7p457) 2014/08/09 Released by Harlan Stenn <stenn@ntp.org>
 * [Bug 2622] Synchronisation problem using SHM when time difference is
   more than four hours: Change SHM driver so TOY restricted API is not
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/ports/winnt/include/stdnoreturn.h b/ports/winnt/include/stdnoreturn.h
new file mode 100644 (file)
index 0000000..65702e0
--- /dev/null
@@ -0,0 +1,61 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* A substitute for ISO C11 <stdnoreturn.h>.
+
+   Copyright 2012-2014 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as published by
+   the Free Software Foundation; either version 2.1, or (at your option)
+   any later version.
+
+   This program 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+#ifndef noreturn
+
+/* ISO C11 <stdnoreturn.h> for platforms that lack it.
+
+   References:
+   ISO C11 (latest free draft
+   <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>)
+   section 7.23 */
+
+/* The definition of _Noreturn is copied here.  */
+#if !defined _Noreturn && __STDC_VERSION__ < 201112
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+      || 0x5110 <= __SUNPRO_C)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
+
+#if 1200 <= _MSC_VER
+/* Standard include files on this platform contain declarations like
+   "__declspec (noreturn) void abort (void);".  "#define noreturn
+   _Noreturn" would cause this declaration to be rewritten to the
+   invalid "__declspec (__declspec (noreturn)) void abort (void);".
+   Instead, define noreturn to empty, so that such declarations are
+   rewritten to "__declspec () void abort (void);", which is
+   equivalent to "void abort (void);"; this gives up on noreturn's
+   advice to the compiler but at least it is valid code.  */
+# define noreturn /*empty*/
+#else
+# define noreturn _Noreturn
+#endif
+
+/* Did he ever return?
+   No he never returned
+   And his fate is still unlearn'd ...
+     -- Steiner J, Hawes BL.  M.T.A. (1949)  */
+
+#endif /* noreturn */