Move LYX_(BEGIN|END)_MUTE_GCC_WARNING macros to their own header.

It was not nice to other build systems to define that in configure.ac.
This commit is contained in:
Jean-Marc Lasgouttes 2023-11-10 13:14:34 +01:00
parent c2653e451c
commit 2b0841b0c9
6 changed files with 6 additions and 26 deletions

View File

@ -313,32 +313,6 @@ char * strerror(int n);
# define USE_WCHAR_T # define USE_WCHAR_T
#endif #endif
#if defined(__GNUC__) && !defined(__clang__)
/* This macro can be used to stipulate that a given GCC warning is not
* relevant in a given block.
*
* The -Wpragmas bit takes care of the case where -W<warn> is not implemented
*
* The idea for PRAGMA_IGNORE has been stolen from
* https://stackoverflow.com/questions/45762357/how-to-concatenate-strings-in-the-arguments-of-pragma#comment124444258_45783809
* The difficulty is to put the <warn> value inside nested quotes; it is done
* using nested macros.
*/
# define PRAGMA_IGNORE(x) PRAGMA_IGNORE_1(-W##x)
# define PRAGMA_IGNORE_1(x) PRAGMA_IGNORE_2(#x)
# define PRAGMA_IGNORE_2(x) PRAGMA_IGNORE_3(GCC diagnostic ignored x)
# define PRAGMA_IGNORE_3(x) _Pragma(#x)
# define LYX_BEGIN_MUTE_GCC_WARNING(warn) \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wpragmas\"") \
PRAGMA_IGNORE(warn)
# define LYX_END_MUTE_GCC_WARNING \
_Pragma("GCC diagnostic pop")
#else
# define LYX_BEGIN_MUTE_GCC_WARNING(warn)
# define LYX_END_MUTE_GCC_WARNING
#endif
#endif #endif
]) ])

View File

@ -15,6 +15,7 @@
#include <map> #include <map>
#include <string> #include <string>
#include "support/mute_warning.h"
namespace lyx { namespace lyx {

View File

@ -13,6 +13,7 @@
#define WORDLIST_H #define WORDLIST_H
#include "support/docstring.h" #include "support/docstring.h"
#include "support/mute_warning.h"
#include <memory> #include <memory>

View File

@ -14,6 +14,8 @@
#ifndef FONT_METRICS_H #ifndef FONT_METRICS_H
#define FONT_METRICS_H #define FONT_METRICS_H
#include "support/mute_warning.h"
#include "support/strfwd.h" #include "support/strfwd.h"
#include <vector> #include <vector>

View File

@ -71,6 +71,7 @@
#include "support/lassert.h" #include "support/lassert.h"
#include "support/lstrings.h" #include "support/lstrings.h"
#include "support/lyxalgo.h" // sorted #include "support/lyxalgo.h" // sorted
#include "support/mute_warning.h"
#include "support/textutils.h" #include "support/textutils.h"
#include "support/Messages.h" #include "support/Messages.h"
#include "support/os.h" #include "support/os.h"

View File

@ -85,6 +85,7 @@ liblyxsupport_a_SOURCES = \
lyxmagic.h \ lyxmagic.h \
lyxtime.cpp \ lyxtime.cpp \
lyxtime.h \ lyxtime.h \
mute_warning.h \
mutex.h \ mutex.h \
mutex.cpp \ mutex.cpp \
Messages.cpp \ Messages.cpp \