[sound-juicer] Add SJ_BEGIN/END_IGNORE_DISCARDED_QUANTIFIERS



commit e38111db4c32cbeaa3566ed70303c1a1f1b1f6d3
Author: Phillip Wood <phillip wood dunelm org uk>
Date:   Thu Nov 3 11:29:24 2016 +0000

    Add SJ_BEGIN/END_IGNORE_DISCARDED_QUANTIFIERS
    
    These make it simple to turn -Wdiscarded-quantifiers warnings created by
    -Wwrite-strings off. As clang uses
    -Wincompatible-pointer-types-discards-qualifiers instead we have to
    check which compiler is being used.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=777692

 libjuicer/sj-util.h |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/libjuicer/sj-util.h b/libjuicer/sj-util.h
index d5e5fb0..ec28518 100644
--- a/libjuicer/sj-util.h
+++ b/libjuicer/sj-util.h
@@ -29,4 +29,26 @@
 void sj_add_default_dirs (GtkFileChooser *dialog);
 GFile *sj_get_default_music_directory (void);
 gboolean sj_str_is_empty (const char *s);
+
+/* clang has -Wincompatible-pointer-types-discards-qualifiers instead
+   of -Wdiscarded-qualifiers */
+#if !defined __clang__ && G_GNUC_CHECK_VERSION (4, 2)
+#define SJ_BEGIN_IGNORE_DISCARDED_QUANTIFIERS                                   \
+  _Pragma ("GCC diagnostic push")                                               \
+  _Pragma ("GCC diagnostic ignored \"-Wdiscarded-qualifiers\"")
+
+#define SJ_END_IGNORE_DISCARDED_QUANTIFIERS                                     \
+  _Pragma ("GCC diagnostic pop")
+#elif defined __clang__ && G_GNUC_CHECK_VERSION (4, 2)
+#define SJ_BEGIN_IGNORE_DISCARDED_QUANTIFIERS                                   \
+  _Pragma ("clang diagnostic push")                                             \
+  _Pragma ("clang diagnostic ignored \"-Wincompatible-pointer-types-discards-qualifiers\"")
+
+#define SJ_END_IGNORE_DISCARDED_QUANTIFIERS                                     \
+  _Pragma ("clang diagnostic pop")
+#else
+#define SJ_BEGIN_IGNORE_DISCARDED_QUANTIFIERS
+#define SJ_END_IGNORE_DISCARDED_QUANTIFIERS
+#endif
+
 #endif /* SJ_UTIL_H */


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