LeechCraft 0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
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