2010-05-15 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sat, 15 May 2010 21:34:56 +0000 (21:34 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sat, 15 May 2010 21:34:56 +0000 (21:34 -0000)
* src/glib.h (g_error): Add a for (;;) after the call to tell GCC this doesn't
return, fixing some warnings.

svn path=/trunk/mono/; revision=157386

eglib/ChangeLog
eglib/src/glib.h

index aeec644d37c2f143115526e6ecaf6cb490401d24..72cf165632a0cc360d2d66dde78ce1204724b4fc 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-15  Zoltan Varga  <vargaz@gmail.com>
+
+       * src/glib.h (g_error): Add a for (;;) after the call to tell GCC this doesn't
+       return, fixing some warnings.
+
 2010-05-13  Alan McGovern  <amcgovern@novell.com>
 
        * src/gstring.c: Put in some null guards for the ctors
index 39240388a46056a00125021f1ed200d054379a00..9ce0e9264a86acc25b3e0ca48c060cad6ed09e4e 100644 (file)
@@ -522,13 +522,14 @@ void           g_log                  (const gchar *log_domain, GLogLevelFlags l
 void           g_assertion_message    (const gchar *format, ...) G_GNUC_NORETURN;
 
 #ifdef HAVE_C99_SUPPORT
-#define g_error(format, ...)    g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format, __VA_ARGS__)
+/* The for (;;) tells gc thats g_error () doesn't return, avoiding warnings */
+#define g_error(format, ...)    do { g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format, __VA_ARGS__); for (;;); } while (0)
 #define g_critical(format, ...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, format, __VA_ARGS__)
 #define g_warning(format, ...)  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, format, __VA_ARGS__)
 #define g_message(format, ...)  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format, __VA_ARGS__)
 #define g_debug(format, ...)    g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format, __VA_ARGS__)
 #else   /* HAVE_C99_SUPPORT */
-#define g_error(...)    g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, __VA_ARGS__)
+#define g_error(...)    do { g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, __VA_ARGS__); for (;;); } while (0)
 #define g_critical(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, __VA_ARGS__)
 #define g_warning(...)  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, __VA_ARGS__)
 #define g_message(...)  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, __VA_ARGS__)