glib r6476 - in trunk: . glib



Author: ryanl
Date: Thu Feb  7 07:13:39 2008
New Revision: 6476
URL: http://svn.gnome.org/viewvc/glib?rev=6476&view=rev

Log:
2008-02-07  Ryan Lortie  <desrt desrt ca>

        * glib/gmessages.h (g_error): add for(;;); after the g_log call so
        that GCC stops issuing false warnings about reachability  Bug #514920



Modified:
   trunk/ChangeLog
   trunk/glib/gmessages.h

Modified: trunk/glib/gmessages.h
==============================================================================
--- trunk/glib/gmessages.h	(original)
+++ trunk/glib/gmessages.h	Thu Feb  7 07:13:39 2008
@@ -130,9 +130,14 @@
 #define G_LOG_DOMAIN    ((gchar*) 0)
 #endif  /* G_LOG_DOMAIN */
 #ifdef G_HAVE_ISO_VARARGS
-#define g_error(...)    g_log (G_LOG_DOMAIN,         \
+/* for(;;); so that GCC knows that control doesn't go past g_error() */
+#define g_error(...)  G_STMT_START {                 \
+                        g_log (G_LOG_DOMAIN,         \
                                G_LOG_LEVEL_ERROR,    \
-                               __VA_ARGS__)
+                               __VA_ARGS__);         \
+                        for (;;);                    \
+                      } G_STMT_END
+                        
 #define g_message(...)  g_log (G_LOG_DOMAIN,         \
                                G_LOG_LEVEL_MESSAGE,  \
                                __VA_ARGS__)
@@ -146,9 +151,13 @@
                                G_LOG_LEVEL_DEBUG,    \
                                __VA_ARGS__)
 #elif defined(G_HAVE_GNUC_VARARGS)
-#define g_error(format...)      g_log (G_LOG_DOMAIN,         \
+#define g_error(format...)    G_STMT_START {                 \
+                                g_log (G_LOG_DOMAIN,         \
                                        G_LOG_LEVEL_ERROR,    \
-                                       format)
+                                       format);              \
+                                for (;;);                    \
+                              } G_STMT_END
+                              
 #define g_message(format...)    g_log (G_LOG_DOMAIN,         \
                                        G_LOG_LEVEL_MESSAGE,  \
                                        format)
@@ -170,6 +179,8 @@
   va_start (args, format);
   g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format, args);
   va_end (args);
+
+  for(;;);
 }
 static void
 g_message (const gchar *format,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]