changeset 1034:f4a73a991623

Fix warning on old GCC versions
author Sebastien Decugis <sdecugis@freediameter.net>
date Wed, 17 Apr 2013 18:38:12 +0800
parents 000e1904074c
children cceb552b9b54
files extensions/app_diameap/diameap_tls.h extensions/app_diameap/libcrypt.h extensions/app_diameap/plugins/eap_md5/eap_md5.c extensions/app_sip/app_sip.h extensions/test_sip/test_sip.h include/freeDiameter/libfdproto.h libfdcore/config.c libfdcore/core.c libfdcore/sctps.c tests/tests.h
diffstat 10 files changed, 55 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/extensions/app_diameap/diameap_tls.h	Tue Apr 16 11:45:52 2013 +0800
+++ b/extensions/app_diameap/diameap_tls.h	Wed Apr 17 18:38:12 2013 +0800
@@ -39,12 +39,28 @@
 #ifndef DIAMEAP_TLS_H_
 #define DIAMEAP_TLS_H_
 
+ #if defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 405
+# define GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)
+# define GCC_DIAG_PRAGMA(x) GCC_DIAG_DO_PRAGMA(GCC diagnostic x)
+# if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406
+#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(push) \
+     GCC_DIAG_PRAGMA(ignored x)
+#  define GCC_DIAG_ON(x) GCC_DIAG_PRAGMA(pop)
+# else
+#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(ignored x)
+#  define GCC_DIAG_ON(x)  GCC_DIAG_PRAGMA(warning x)
+# endif
+#else
+# define GCC_DIAG_OFF(x)
+# define GCC_DIAG_ON(x)
+#endif
+
+
 #include "diameap_defs.h"
 #include <gnutls/gnutls.h>
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #include <gcrypt.h>
-#pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 #include <errno.h>
 #include <pthread.h>
 
--- a/extensions/app_diameap/libcrypt.h	Tue Apr 16 11:45:52 2013 +0800
+++ b/extensions/app_diameap/libcrypt.h	Wed Apr 17 18:38:12 2013 +0800
@@ -39,14 +39,14 @@
 #ifndef LIBCRYPT_H_
 #define LIBCRYPT_H_
 
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+/* EAP-TLS*/
+#include "diameap_tls.h"
+
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #include <gcrypt.h>
-#pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 #include <stdio.h>
 
-/* EAP-TLS*/
-#include "diameap_tls.h"
 
 
 int md5hash(void * buffer, int length, void * digest);
--- a/extensions/app_diameap/plugins/eap_md5/eap_md5.c	Tue Apr 16 11:45:52 2013 +0800
+++ b/extensions/app_diameap/plugins/eap_md5/eap_md5.c	Wed Apr 17 18:38:12 2013 +0800
@@ -37,10 +37,9 @@
 
 
 #include "../../plugins.h"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #include <gcrypt.h>
-#pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 
 #define CHALLENGE_LEN	16
 
--- a/extensions/app_sip/app_sip.h	Tue Apr 16 11:45:52 2013 +0800
+++ b/extensions/app_sip/app_sip.h	Wed Apr 17 18:38:12 2013 +0800
@@ -38,10 +38,9 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <stdio.h>
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #include <gcrypt.h>
-#pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 #include <string.h>
 #include <mysql.h>
 #include "md5.h"
--- a/extensions/test_sip/test_sip.h	Tue Apr 16 11:45:52 2013 +0800
+++ b/extensions/test_sip/test_sip.h	Wed Apr 17 18:38:12 2013 +0800
@@ -38,10 +38,9 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <stdio.h>
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #include <gcrypt.h>
-#pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 #include <string.h>
 #include <mysql.h>
 
--- a/include/freeDiameter/libfdproto.h	Tue Apr 16 11:45:52 2013 +0800
+++ b/include/freeDiameter/libfdproto.h	Wed Apr 17 18:38:12 2013 +0800
@@ -89,6 +89,23 @@
 #define _ATTRIBUTE_PRINTFLIKE_(_f,_v) __attribute__ ((format (printf, _f, _v)))
 #endif /* SWIG */
 
+/* Remove some deprecated warnings from some gnutls versions, when possible */
+#if defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 405
+# define GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)
+# define GCC_DIAG_PRAGMA(x) GCC_DIAG_DO_PRAGMA(GCC diagnostic x)
+# if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406
+#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(push) \
+     GCC_DIAG_PRAGMA(ignored x)
+#  define GCC_DIAG_ON(x) GCC_DIAG_PRAGMA(pop)
+# else
+#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(ignored x)
+#  define GCC_DIAG_ON(x)  GCC_DIAG_PRAGMA(warning x)
+# endif
+#else
+# define GCC_DIAG_OFF(x)
+# define GCC_DIAG_ON(x)
+#endif
+
 /*============================================================*/
 /*                       CONSTANTS                            */
 /*============================================================*/
--- a/libfdcore/config.c	Tue Apr 16 11:45:52 2013 +0800
+++ b/libfdcore/config.c	Wed Apr 17 18:38:12 2013 +0800
@@ -226,8 +226,7 @@
 #endif /* GNUTLS_VERSION_300 */
 
 #ifndef GNUTLS_VERSION_300
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #endif /* !GNUTLS_VERSION_300 */
 /* Parse the configuration file (using the yacc parser) */
 int fd_conf_parse()
@@ -599,7 +598,7 @@
 	return 0;
 }
 #ifndef GNUTLS_VERSION_300
-# pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 #endif /* !GNUTLS_VERSION_300 */
 
 
--- a/libfdcore/core.c	Tue Apr 16 11:45:52 2013 +0800
+++ b/libfdcore/core.c	Wed Apr 17 18:38:12 2013 +0800
@@ -35,10 +35,9 @@
 
 #include "fdcore-internal.h"
 
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #include <gcrypt.h>
-#pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 
 /* The static configuration structure */
 static struct fd_config g_conf;
--- a/libfdcore/sctps.c	Tue Apr 16 11:45:52 2013 +0800
+++ b/libfdcore/sctps.c	Wed Apr 17 18:38:12 2013 +0800
@@ -230,8 +230,7 @@
 
 /* Set the parameters of a session to use the appropriate fifo and stream information */
 #ifndef GNUTLS_VERSION_300
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #endif /* !GNUTLS_VERSION_300 */
 static void set_sess_transport(gnutls_session_t session, struct sctps_ctx *ctx)
 {
@@ -251,7 +250,7 @@
 	return;
 }
 #ifndef GNUTLS_VERSION_300
-# pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 #endif /* !GNUTLS_VERSION_300 */
 
 /*************************************************************/
--- a/tests/tests.h	Tue Apr 16 11:45:52 2013 +0800
+++ b/tests/tests.h	Wed Apr 17 18:38:12 2013 +0800
@@ -46,10 +46,9 @@
 
 #include <pthread.h>
 #include <errno.h>
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+GCC_DIAG_OFF("-Wdeprecated-declarations")
 #include <gcrypt.h>
-#pragma GCC diagnostic pop
+GCC_DIAG_ON("-Wdeprecated-declarations")
 
 /* Test timeout duration, unless -n is passed on the command line */
 #ifndef TEST_TIMEOUT
"Welcome to our mercurial repository"