LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
macros.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #define LC_STRINGIZE_(x) #x
12 #define LC_STRINGIZE(x) LC_STRINGIZE_(x)
13 #define LC_PRAGMA(x) _Pragma(LC_STRINGIZE(x))
14 
15 #if defined(__clang__)
16  #define LC_DIAG_PUSH LC_PRAGMA(clang diagnostic push)
17  #define LC_DIAG_POP LC_PRAGMA(clang diagnostic pop)
18  #define LC_DIAG_IGNORE_DEPRECATED LC_PRAGMA(clang diagnostic ignored "-Wdeprecated-declarations")
19 #elif defined(__GNUC__)
20  #define LC_DIAG_PUSH LC_PRAGMA(GCC diagnostic push)
21  #define LC_DIAG_POP LC_PRAGMA(GCC diagnostic pop)
22  #define LC_DIAG_IGNORE_DEPRECATED LC_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
23 #else
24  #define LC_DIAG_PUSH
25  #define LC_DIAG_POP
26  #define LC_DIAG_IGNORE_DEPRECATED
27 #endif
28 
29 #define LC_SUPPRESS_DEPRECATED_BEGIN \
30  LC_DIAG_PUSH \
31  LC_DIAG_IGNORE_DEPRECATED
32 
33 #define LC_SUPPRESS_DEPRECATED_END \
34  LC_DIAG_POP