Emit #pragma system_header after the inclusion guard, not before.
authorBruno Haible <bruno@clisp.org>
Tue, 30 Mar 2010 00:35:49 +0000 (02:35 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 30 Mar 2010 00:35:49 +0000 (02:35 +0200)
30 files changed:
ChangeLog
lib/arpa_inet.in.h
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/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_time.in.h
lib/sys_times.in.h
lib/sys_utsname.in.h
lib/sys_wait.in.h
lib/sysexits.in.h
lib/wctype.in.h

index b6f1dc11e5a7a5f8aaa3b903ae1cb92d3834fef5..b8c880be35166ef1e191efff05435fc5a769ae81 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,38 @@
+2010-03-29  Bruno Haible  <bruno@clisp.org>
+
+       Emit #pragma system_header after the inclusion guard, not before.
+       * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
+       guard that spans the entire file, not before. This enables an
+       optimization in GCC's preprocessor.
+       * lib/ctype.in.h: Likewise.
+       * lib/dirent.in.h: Likewise.
+       * lib/errno.in.h: Likewise.
+       * lib/float.in.h: Likewise.
+       * lib/getopt.in.h: Likewise.
+       * lib/iconv.in.h: Likewise.
+       * lib/langinfo.in.h: Likewise.
+       * lib/locale.in.h: Likewise.
+       * lib/math.in.h: Likewise.
+       * lib/netdb.in.h: Likewise.
+       * lib/netinet_in.in.h: Likewise.
+       * lib/pty.in.h: Likewise.
+       * lib/sched.in.h: Likewise.
+       * lib/se-selinux.in.h: Likewise.
+       * lib/search.in.h: Likewise.
+       * lib/spawn.in.h: Likewise.
+       * lib/stdarg.in.h: Likewise.
+       * lib/stdint.in.h: Likewise.
+       * lib/string.in.h: Likewise.
+       * lib/strings.in.h: Likewise.
+       * lib/sys_file.in.h: Likewise.
+       * lib/sys_ioctl.in.h: Likewise.
+       * lib/sys_time.in.h: Likewise.
+       * lib/sys_times.in.h: Likewise.
+       * lib/sys_utsname.in.h: Likewise.
+       * lib/sys_wait.in.h: Likewise.
+       * lib/sysexits.in.h: Likewise.
+       * lib/wctype.in.h: Likewise.
+
 2010-03-28  James Youngman  <jay@gnu.org>
 
        save-cwd: don't leak a file descriptor when the caller execs.
index c1d088b8bc240aba47596ae28d2b16e6b2f15d9f..da4740b22786c2c95fe4ce5f3def80c349aed651 100644 (file)
    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_ARPA_INET_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* Gnulib's sys/socket.h is responsible for pulling in winsock2.h etc
    under MinGW.
    But avoid namespace pollution on glibc systems.  */
index fdf9e1e55a4082c615921e179d801e031dcba19b..ccf222d76af363774d15897a3dcc72d008167659 100644 (file)
  * <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@
index 15d488b3563c87bab93b8eeb07eac9ea9778ca2e..3989a2546e923046af5d73853aaa454cc23836d1 100644 (file)
    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@
 
index f5166bcf613139af51617e72169b061dec8c9f8a..9ac3a5b4e80fb3e8b84f2d47308ef11110f698bd 100644 (file)
    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@
 
index b4ea3436fe6328975459d7d285ca95384e1c2b05..caf822f1d0a98a043977c2e1283acb57c2aeffeb 100644 (file)
    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@
 
index c90baa53cdb89fdf417fc4e6a6cf311d78283abf..57a8e8992d98cd03cd5cbb1119b00e3dd56a7937 100644 (file)
    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.  */
index 162d980decf2df488aadc2ccd2f8e1d54d6cc0fa..c8f516b0675a1e9cbbc7a074ba411936d9c34272 100644 (file)
    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@
 
index 04834ce6656e0b6758118650879fe8e3b2d73c42..54fa1af350dcd7e0895e78947538dcca989937a3 100644 (file)
  * <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@
index 26059bae3dbbf60da3c5c74d2cb0270e7447b09d..ad92d8f2b0c13bae1673e4302f4bf7a66f25f4dc 100644 (file)
    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@
 
index dd7a6344985a2cffe4c7c61db54ec06c40180459..5aad1a8e92ecc4e16d3558c029f6696c280d6aca 100644 (file)
    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@
 
index 461d12f4c9a03a673c94cca530823e1fa9f587eb..8f091411f81313cde1d2ce8c955a95bb14c3297e 100644 (file)
    It is intended to provide definitions and prototypes needed by an
    application.  */
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 #ifndef _GL_NETDB_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #if @HAVE_NETDB_H@
 
 /* The include_next requires a split double-inclusion guard.  */
index 8e79bdb100f6c900a24793d2f4b78da3501d2fac..cbb38f3ff08492cc30be26c6c9fbd5d5cb5ecea5 100644 (file)
    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 __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #if @HAVE_NETINET_IN_H@
 
 /* On many platforms, <netinet/in.h> assumes prior inclusion of
index 98106bb1d584d8d00710a1860a3e9d280b2d0dd4..af98dfe2ae0048bbec8f2441dfedda75ff568d2c 100644 (file)
    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@
index bc280362dabb157c3f64ad056a0bcb1b9d9966b6..a164133bbd8c2d5680b9cc1f909379677f7a404b 100644 (file)
    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@
index d756b69bc916c51dd7011f97017d56949c056b02..d00f81bfa287b9aa4f7ce583597334516bdcabc7 100644 (file)
    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@
index 9689d58cc6ecfe46f25db79196685dd860bd1305..20551a94af3617f9422acf7b491646e1b1752cc5 100644 (file)
    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_SEARCH_H
+
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
-#ifndef _GL_SEARCH_H
-
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_SEARCH_H@
 # @INCLUDE_NEXT@ @NEXT_SEARCH_H@
index 6a15e5f3a3f9f50aef48398bb614ce96940be192..cc8d9a9c478a4e112e892ff21358c2c80afbd173 100644 (file)
    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@
index 99fff31618e4c0054718604f9cb3dbf06f87443a..9a8d02930c5ba1e777ed42c8f2fe6586fd005eec 100644 (file)
    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@
 
index 0979a95682adee8e329990ed011d1cd07302bc38..a861c07940f80ee3b9836394409f75875ad95fcc 100644 (file)
  * <http://www.opengroup.org/susv3xbd/stdint.h.html>
  */
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 #ifndef _GL_STDINT_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* When including a system file that in turn includes <inttypes.h>,
    use the system <inttypes.h>, not our substitute.  This avoids
    problems with (for example) VMS, whose <sys/bitypes.h> includes
index 4a98302c116ae995a199fdc0028b4375e1aa2ea7..4788a195e2b798a4ee105558fc32e86b950e9171 100644 (file)
    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@
 
index e2487bcc09275459bd3520b06e0a0c43cd41111a..093189921d13c703a3399351e6532e806c10142f 100644 (file)
    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@
 
index bf7600111f5ba6f794bef6b0ccb2ab0ebea7e33b..9ace671b915bef059e32b89b227f271b0a2be6d1 100644 (file)
 
 /* Written by Richard W.M. Jones.  */
 
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-
 #ifndef _GL_SYS_FILE_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* The include_next requires a split double-inclusion guard.  */
-# if @HAVE_SYS_FILE_H@
-#  @INCLUDE_NEXT@ @NEXT_SYS_FILE_H@
-# endif
+#if @HAVE_SYS_FILE_H@
+# @INCLUDE_NEXT@ @NEXT_SYS_FILE_H@
+#endif
 
 #ifndef _GL_SYS_FILE_H
 #define _GL_SYS_FILE_H
index 50d0e9d24fd007e0a036577aedb5c94b886ef67c..6066ecf72d91ed3f27f28e958ca232e955cd849c 100644 (file)
    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@
index 6e0c7db9844c899834abaa427ecc136715ebb53d..6d818d1e81fb347df7e2f2bf37649758863d6897 100644 (file)
 
 /* Written by Paul Eggert.  */
 
+#if defined _GL_SYS_TIME_H
+
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
-#if defined _GL_SYS_TIME_H
-
 /* Simply delegate to the system's header, without adding anything.  */
 # if @HAVE_SYS_TIME_H@
 #  @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
index 1b66bbdf98f396daf16b60a015c1510588ff4521..57f3a7209d5145c276234ea9a7bcf49bef7b89a8 100644 (file)
 /* 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
index 2d576056cf74886831887a865e6e123ad6a459ec..c0dabccb2e648bba63e84b850674ec0a7be0fd71 100644 (file)
    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
index 623c8d5e30c037d97e3798452cfbd05ea3fa93fb..6699c61f07e2ae81200979d26d14008131de953a 100644 (file)
    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@
index b477111f287d8e3eefdaff374031d958c7cdbc01..45255dfa53cfc8316bf750927e5e84f37fc62703 100644 (file)
 
 /* Written by Simon Josefsson based on sysexits(3) man page */
 
+#ifndef _GL_SYSEXITS_H
+
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
-#ifndef _GL_SYSEXITS_H
-
 #if @HAVE_SYSEXITS_H@
 
 /* IRIX 6.5 has an <unistd.h> that defines a macro EX_OK with a nonzero
index 400f2502591ee733cf86252e84190dc0e3478087..8016203060c2c7b24ae97eb24422663f65c3cbc9 100644 (file)
  * 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