changeset 13055:c7be8484e434

maint: use pragma consistently across replacement headers Several headers set #pragma GCC system_header prior to checking any multiple inclusion guards; maintenance is easiest if all replacement headers follow the same paradigm. * lib/ctype.in.h (system_header): Hoist for consistent placement. * lib/dirent.in.h (system_header): Likewise. * lib/errno.in.h (system_header): Likewise. * lib/float.in.h (system_header): Likewise. * lib/getopt.in.h (system_header): Likewise. * lib/iconv.in.h (system_header): Likewise. * lib/inttypes.in.h (system_header): Likewise. * lib/langinfo.in.h (system_header): Likewise. * lib/locale.in.h (system_header): Likewise. * lib/math.in.h (system_header): Likewise. * lib/netdb.in.h (system_header): Likewise. * lib/netinet_in.in.h (system_header): Likewise. * lib/pty.in.h (system_header): Likewise. * lib/sched.in.h (system_header): Likewise. * lib/se-selinux.in.h (system_header): Likewise. * lib/search.in.h (system_header): Likewise. * lib/spawn.in.h (system_header): Likewise. * lib/stdarg.in.h (system_header): Likewise. * lib/stdint.in.h (system_header): Likewise. * lib/string.in.h (system_header): Likewise. * lib/strings.in.h (system_header): Likewise. * lib/sys_file.in.h (system_header): Likewise. * lib/sys_ioctl.in.h (system_header): Likewise. * lib/sys_socket.in.h (system_header): Likewise. * lib/sys_times.in.h (system_header): Likewise. * lib/sys_utsname.in.h (system_header): Likewise. * lib/sys_wait.in.h (system_header): Likewise. * lib/sysexits.in.h (system_header): Likewise. * lib/unistd.in.h (system_header): Likewise. * lib/wctype.in.h (system_header): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Thu, 25 Mar 2010 16:28:02 -0600
parents 0b6e401a5e89
children 62e78871e746
files ChangeLog lib/ctype.in.h lib/dirent.in.h lib/errno.in.h lib/float.in.h lib/getopt.in.h lib/iconv.in.h lib/inttypes.in.h lib/langinfo.in.h lib/locale.in.h lib/math.in.h lib/netdb.in.h lib/netinet_in.in.h lib/pty.in.h lib/sched.in.h lib/se-selinux.in.h lib/search.in.h lib/spawn.in.h lib/stdarg.in.h lib/stdint.in.h lib/string.in.h lib/strings.in.h lib/sys_file.in.h lib/sys_ioctl.in.h lib/sys_socket.in.h lib/sys_times.in.h lib/sys_utsname.in.h lib/sys_wait.in.h lib/sysexits.in.h lib/unistd.in.h lib/wctype.in.h
diffstat 31 files changed, 127 insertions(+), 75 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,37 @@
 2010-03-25  Eric Blake  <eblake@redhat.com>
 
+	maint: use pragma consistently across replacement headers
+	* lib/ctype.in.h (system_header): Hoist for consistent placement.
+	* lib/dirent.in.h (system_header): Likewise.
+	* lib/errno.in.h (system_header): Likewise.
+	* lib/float.in.h (system_header): Likewise.
+	* lib/getopt.in.h (system_header): Likewise.
+	* lib/iconv.in.h (system_header): Likewise.
+	* lib/inttypes.in.h (system_header): Likewise.
+	* lib/langinfo.in.h (system_header): Likewise.
+	* lib/locale.in.h (system_header): Likewise.
+	* lib/math.in.h (system_header): Likewise.
+	* lib/netdb.in.h (system_header): Likewise.
+	* lib/netinet_in.in.h (system_header): Likewise.
+	* lib/pty.in.h (system_header): Likewise.
+	* lib/sched.in.h (system_header): Likewise.
+	* lib/se-selinux.in.h (system_header): Likewise.
+	* lib/search.in.h (system_header): Likewise.
+	* lib/spawn.in.h (system_header): Likewise.
+	* lib/stdarg.in.h (system_header): Likewise.
+	* lib/stdint.in.h (system_header): Likewise.
+	* lib/string.in.h (system_header): Likewise.
+	* lib/strings.in.h (system_header): Likewise.
+	* lib/sys_file.in.h (system_header): Likewise.
+	* lib/sys_ioctl.in.h (system_header): Likewise.
+	* lib/sys_socket.in.h (system_header): Likewise.
+	* lib/sys_times.in.h (system_header): Likewise.
+	* lib/sys_utsname.in.h (system_header): Likewise.
+	* lib/sys_wait.in.h (system_header): Likewise.
+	* lib/sysexits.in.h (system_header): Likewise.
+	* lib/unistd.in.h (system_header): Likewise.
+	* lib/wctype.in.h (system_header): Likewise.
+
 	arpa/inet: fix mingw compilation warning
 	* lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
 	Reported by Matthew Bolte.
@@ -295,7 +327,7 @@
 	errno value in error message.
 
 2010-03-20  Bruno Haible  <bruno@clisp.org>
-            Jim Meyering  <meyering@redhat.com>
+	    Jim Meyering  <meyering@redhat.com>
 
 	lchown: Avoid "unused variable" warning.
 	* lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
--- a/lib/ctype.in.h
+++ b/lib/ctype.in.h
@@ -23,12 +23,12 @@
  * <http://www.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html>
  */
 
-#ifndef _GL_CTYPE_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_CTYPE_H
+
 /* Include the original <ctype.h>.  */
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_CTYPE_H@
--- a/lib/dirent.in.h
+++ b/lib/dirent.in.h
@@ -14,12 +14,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_DIRENT_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_DIRENT_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_DIRENT_H@
 
--- a/lib/errno.in.h
+++ b/lib/errno.in.h
@@ -16,12 +16,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_ERRNO_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_ERRNO_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_ERRNO_H@
 
--- a/lib/float.in.h
+++ b/lib/float.in.h
@@ -15,12 +15,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_FLOAT_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_FLOAT_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_FLOAT_H@
 
--- a/lib/getopt.in.h
+++ b/lib/getopt.in.h
@@ -16,12 +16,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_GETOPT_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_GETOPT_H
+
 /* The include_next requires a split double-inclusion guard.  We must
    also inform the replacement unistd.h to not recursively use
    <getopt.h>; our definitions will be present soon enough.  */
--- a/lib/iconv.in.h
+++ b/lib/iconv.in.h
@@ -16,12 +16,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_ICONV_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_ICONV_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_ICONV_H@
 
--- a/lib/inttypes.in.h
+++ b/lib/inttypes.in.h
@@ -20,15 +20,16 @@
  * <http://www.opengroup.org/susv3xbd/inttypes.h.html>
  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* Include the original <inttypes.h> if it exists, and if this file
    has not been included yet or if this file includes gnulib stdint.h
    which in turn includes this file.
    The include_next requires a split double-inclusion guard.  */
 #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 # if @HAVE_INTTYPES_H@
-#  if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#  endif
 #  @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
 # endif
 #endif
--- a/lib/langinfo.in.h
+++ b/lib/langinfo.in.h
@@ -20,12 +20,12 @@
  * <http://www.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html>
  */
 
-#ifndef _GL_LANGINFO_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_LANGINFO_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_LANGINFO_H@
 # @INCLUDE_NEXT@ @NEXT_LANGINFO_H@
--- a/lib/locale.in.h
+++ b/lib/locale.in.h
@@ -14,12 +14,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_LOCALE_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_LOCALE_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_LOCALE_H@
 
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -15,12 +15,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_MATH_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_MATH_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
 
--- a/lib/netdb.in.h
+++ b/lib/netdb.in.h
@@ -20,14 +20,14 @@
    It is intended to provide definitions and prototypes needed by an
    application.  */
 
+# if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+# endif
+
 #ifndef _GL_NETDB_H
 
 #if @HAVE_NETDB_H@
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 /* The include_next requires a split double-inclusion guard.  */
 # @INCLUDE_NEXT@ @NEXT_NETDB_H@
 
--- a/lib/netinet_in.in.h
+++ b/lib/netinet_in.in.h
@@ -15,14 +15,14 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
+# if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+# endif
+
 #ifndef _GL_NETINET_IN_H
 
 #if @HAVE_NETINET_IN_H@
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 /* On many platforms, <netinet/in.h> assumes prior inclusion of
    <sys/types.h>.  */
 # include <sys/types.h>
--- a/lib/pty.in.h
+++ b/lib/pty.in.h
@@ -15,12 +15,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_PTY_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_PTY_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_PTY_H@
 # @INCLUDE_NEXT@ @NEXT_PTY_H@
--- a/lib/sched.in.h
+++ b/lib/sched.in.h
@@ -14,12 +14,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_SCHED_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_SCHED_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_SCHED_H@
 # @INCLUDE_NEXT@ @NEXT_SCHED_H@
--- a/lib/se-selinux.in.h
+++ b/lib/se-selinux.in.h
@@ -1,10 +1,26 @@
+/* Replacement <selinux/selinux.h> for platforms that lack it.
+   Copyright (C) 2008-2010 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #ifndef _GL_SELINUX_SELINUX_H
 # define _GL_SELINUX_SELINUX_H
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 # if HAVE_SELINUX_SELINUX_H
 
 #@INCLUDE_NEXT@ @NEXT_SELINUX_SELINUX_H@
--- a/lib/search.in.h
+++ b/lib/search.in.h
@@ -15,13 +15,14 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #ifndef _GL_SEARCH_H
 
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_SEARCH_H@
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
 # @INCLUDE_NEXT@ @NEXT_SEARCH_H@
 #endif
 
--- a/lib/spawn.in.h
+++ b/lib/spawn.in.h
@@ -15,12 +15,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_SPAWN_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_SPAWN_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_SPAWN_H@
 # @INCLUDE_NEXT@ @NEXT_SPAWN_H@
--- a/lib/stdarg.in.h
+++ b/lib/stdarg.in.h
@@ -15,12 +15,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_STDARG_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_STDARG_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STDARG_H@
 
--- a/lib/stdint.in.h
+++ b/lib/stdint.in.h
@@ -21,6 +21,10 @@
  * <http://www.opengroup.org/susv3xbd/stdint.h.html>
  */
 
+# if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+# endif
+
 #ifndef _GL_STDINT_H
 
 /* When including a system file that in turn includes <inttypes.h>,
@@ -49,9 +53,6 @@
      in <inttypes.h> would reinclude us, skipping our contents because
      _GL_STDINT_H is defined.
      The include_next requires a split double-inclusion guard.  */
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
 #endif
 
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -16,12 +16,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_STRING_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_STRING_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRING_H@
 
--- a/lib/strings.in.h
+++ b/lib/strings.in.h
@@ -16,12 +16,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_STRINGS_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_STRINGS_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRINGS_H@
 
--- a/lib/sys_file.in.h
+++ b/lib/sys_file.in.h
@@ -17,12 +17,13 @@
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 /* Written by Richard W.M. Jones.  */
-#ifndef _GL_SYS_FILE_H
 
 # if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 # endif
 
+#ifndef _GL_SYS_FILE_H
+
 /* The include_next requires a split double-inclusion guard.  */
 # if @HAVE_SYS_FILE_H@
 #  @INCLUDE_NEXT@ @NEXT_SYS_FILE_H@
--- a/lib/sys_ioctl.in.h
+++ b/lib/sys_ioctl.in.h
@@ -15,12 +15,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_SYS_IOCTL_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_SYS_IOCTL_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_SYS_IOCTL_H@
 # @INCLUDE_NEXT@ @NEXT_SYS_IOCTL_H@
--- a/lib/sys_socket.in.h
+++ b/lib/sys_socket.in.h
@@ -23,6 +23,10 @@
    It is intended to provide definitions and prototypes needed by an
    application.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #if defined _GL_ALREADY_INCLUDING_SYS_SOCKET_H
 /* Special invocation convention:
    - On Cygwin 1.5.x we have a sequence of nested includes
@@ -41,10 +45,6 @@
 
 # define _GL_ALREADY_INCLUDING_SYS_SOCKET_H
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 /* On many platforms, <sys/socket.h> assumes prior inclusion of
    <sys/types.h>.  */
 # include <sys/types.h>
--- a/lib/sys_times.in.h
+++ b/lib/sys_times.in.h
@@ -20,12 +20,12 @@
 /* This file is supposed to be used on platforms where <sys/times.h>
    is missing.  */
 
-#ifndef _GL_SYS_TIMES_H
-
 # if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 # endif
 
+#ifndef _GL_SYS_TIMES_H
+
 # if @HAVE_SYS_TIMES_H@
 #  @INCLUDE_NEXT@ @NEXT_SYS_TIMES_H@
 # endif
--- a/lib/sys_utsname.in.h
+++ b/lib/sys_utsname.in.h
@@ -15,12 +15,12 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifndef _GL_SYS_UTSNAME_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_SYS_UTSNAME_H
+
 #if @HAVE_SYS_UTSNAME_H@
 # @INCLUDE_NEXT@ @NEXT_SYS_UTSNAME_H@
 #endif
--- a/lib/sys_wait.in.h
+++ b/lib/sys_wait.in.h
@@ -16,12 +16,12 @@
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 
-#ifndef _GL_SYS_WAIT_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_SYS_WAIT_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
 # @INCLUDE_NEXT@ @NEXT_SYS_WAIT_H@
--- a/lib/sysexits.in.h
+++ b/lib/sysexits.in.h
@@ -16,14 +16,14 @@
 
 /* Written by Simon Josefsson based on sysexits(3) man page */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #ifndef _GL_SYSEXITS_H
 
 #if @HAVE_SYSEXITS_H@
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 /* IRIX 6.5 has an <unistd.h> that defines a macro EX_OK with a nonzero
    value.  Override it.  See
    <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00361.html>  */
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -15,6 +15,10 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* Special invocation convention:
    - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
      but we need to ensure that both the system <unistd.h> and <winsock2.h>
@@ -33,10 +37,6 @@
 /* Normal invocation.  */
 #elif !defined _GL_UNISTD_H
 
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
--- a/lib/wctype.in.h
+++ b/lib/wctype.in.h
@@ -26,12 +26,12 @@
  * wctrans_t, and wctype_t are not yet implemented.
  */
 
-#ifndef _GL_WCTYPE_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
+#ifndef _GL_WCTYPE_H
+
 #if @HAVE_WINT_T@
 /* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.
    Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before