xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Thu Sep 18 22:29:01 PDT 2014


 hw/xfree86/os-support/linux/lnx_init.c |    6 +++++-
 os/log.c                               |   10 ++++------
 test/signal-logging.c                  |    7 ++++---
 3 files changed, 13 insertions(+), 10 deletions(-)

New commits:
commit 28337cb14e4347e1dd7936c5393a22e042866687
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date:   Fri Sep 19 14:22:13 2014 +1000

    xserver: Move 'pragma GCC diagnostic' outside functions
    
    $ gcc --version
    gcc (Gentoo 4.4.3-r2 p1.2) 4.4.3
    
    /jhbuild/checkout/xorg/xserver/os/log.c: In function ‘LogInit’:
    /jhbuild/checkout/xorg/xserver/os/log.c:199: error: #pragma GCC diagnostic not allowed inside functions
    /jhbuild/checkout/xorg/xserver/os/log.c:201: warning: format not a string literal, argument types not checked
    /jhbuild/checkout/xorg/xserver/os/log.c:212: error: #pragma GCC diagnostic not allowed inside functions
    /jhbuild/checkout/xorg/xserver/os/log.c:214: warning: format not a string literal, argument types not checked
    
    etc.
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c
index 85709c6..9485307 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -76,6 +76,9 @@ switch_to(int vt, const char *from)
         FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno));
 }
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+
 void
 xf86OpenConsole(void)
 {
@@ -166,7 +169,6 @@ xf86OpenConsole(void)
 
         i = 0;
         while (vcs[i] != NULL) {
-#pragma GCC diagnostic ignored "-Wformat-nonliteral"
             snprintf(vtname, sizeof(vtname), vcs[i], xf86Info.vtno);    /* /dev/tty1-64 */
             if ((xf86Info.consoleFd = open(vtname, O_RDWR | O_NDELAY, 0)) >= 0)
                 break;
@@ -272,6 +274,8 @@ xf86OpenConsole(void)
     }
 }
 
+#pragma GCC diagnostic pop
+
 void
 xf86CloseConsole(void)
 {
diff --git a/os/log.c b/os/log.c
index 629021e..7348ad4 100644
--- a/os/log.c
+++ b/os/log.c
@@ -189,15 +189,15 @@ strlen_sigsafe(const char *s)
  * string.
  */
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+
 const char *
 LogInit(const char *fname, const char *backup)
 {
     char *logFileName = NULL;
 
     if (fname && *fname) {
-#if __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 5
-#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-#endif
         if (asprintf(&logFileName, fname, display) == -1)
             FatalError("Cannot allocate space for the log file name\n");
 
@@ -208,9 +208,6 @@ LogInit(const char *fname, const char *backup)
                 char *suffix;
                 char *oldLog;
 
-#if __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 5
-#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-#endif
                 if ((asprintf(&suffix, backup, display) == -1) ||
                     (asprintf(&oldLog, "%s%s", logFileName, suffix) == -1))
                     FatalError("Cannot allocate space for the log file name\n");
@@ -254,6 +251,7 @@ LogInit(const char *fname, const char *backup)
 
     return logFileName;
 }
+#pragma GCC diagnostic pop
 
 void
 LogClose(enum ExitCode error)
diff --git a/test/signal-logging.c b/test/signal-logging.c
index 4320121..3d2d048 100644
--- a/test/signal-logging.c
+++ b/test/signal-logging.c
@@ -113,12 +113,13 @@ double float_tests[] = { 0, 5, 0.1, 0.01, 5.2342, 10.2301,
                          -1, -2.00, -0.6023, -1203.30
                         };
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Woverflow"
+
 static void
 number_formatting(void)
 {
     int i;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Woverflow"
     long unsigned int unsigned_tests[] = { 0,/* Zero */
                                            5, /* Single digit number */
                                            12, /* Two digit decimal number */
@@ -141,7 +142,6 @@ number_formatting(void)
                                 -0x15D027BF211B37A, /* Large > 32 bit number */
                                 -0x7FFFFFFFFFFFFFFF, /* Maximum 64-bit signed number */
     } ;
-#pragma GCC diagnostic pop
 
     for (i = 0; i < sizeof(unsigned_tests) / sizeof(unsigned_tests[0]); i++)
         assert(check_number_format_test(unsigned_tests[i]));
@@ -152,6 +152,7 @@ number_formatting(void)
     for (i = 0; i < sizeof(float_tests) / sizeof(float_tests[0]); i++)
         assert(check_float_format_test(float_tests[i]));
 }
+#pragma GCC diagnostic pop
 
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wformat-security"


More information about the xorg-commit mailing list