_Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 12 Jul 2011 08:15:20 +0000 (01:15 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 12 Jul 2011 08:15:20 +0000 (01:15 -0700)
* build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
Reparenthesize to avoid GCC warning.
Support Microsoft's syntax.
* m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.

ChangeLog
build-aux/_Noreturn.h
m4/gnulib-common.m4

index 6824524675b8a4ffd70c544466c9946f2383578d..28973716c2ed9545cce30421f04b6cbd8fbc3924 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
 
+       _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
+       * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
+       Reparenthesize to avoid GCC warning.
+       Support Microsoft's syntax.
+       * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
+
        _Noreturn-tests: remove module
        * modules/_Noreturn-tests: Remove.
        * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
index e309292180245e09a3b84094aeea3a246df9798a..1a7b4daed0a18e3939896b4953ef37243ad0e237 100644 (file)
@@ -1,7 +1,9 @@
-#if ! defined _Noreturn && __STDC_VERSION__ < 201000
-# if (3 <= __GNUC__ || __GNUC__ == 2 && 8 <= __GNUC_MINOR__ \
+#ifndef _Noreturn
+# 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
index f3f0a7d1602ac447e315ca26ecf461d938abf4f0..6b5923a0ea6e02608468ca28148d442650aba472 100644 (file)
@@ -1,4 +1,4 @@
-# gnulib-common.m4 serial 27
+# gnulib-common.m4 serial 28
 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -14,10 +14,12 @@ AC_DEFUN([gl_COMMON], [
 AC_DEFUN([gl_COMMON_BODY], [
   AH_VERBATIM([_Noreturn],
 [/* The _Noreturn keyword of draft C1X.  */
-#if ! defined _Noreturn && __STDC_VERSION__ < 201000L
-# if (3 <= __GNUC__ || __GNUC__ == 2 && 8 <= __GNUC_MINOR__ \
+#ifndef _Noreturn
+# 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