pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
prc
pragma.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSD-2-Clause
2
3
#ifndef pRC_PRAGMA_H
4
#define pRC_PRAGMA_H
5
6
#define DO_PRAGMA(x) _Pragma(#x)
7
8
#if defined(__clang__)
9
10
# define BEGIN_IGNORE_DIAGNOSTIC(warning) \
11
_Pragma("clang diagnostic push") \
12
DO_PRAGMA(GCC diagnostic ignored warning)
13
14
# define END_IGNORE_DIAGNOSTIC _Pragma("clang diagnostic pop")
15
16
# define BEGIN_IGNORE_DIAGNOSTIC_GCC(warning)
17
# define END_IGNORE_DIAGNOSTIC_GCC
18
19
# define BEGIN_IGNORE_DIAGNOSTIC_CLANG(warning) \
20
BEGIN_IGNORE_DIAGNOSTIC(warning)
21
# define END_IGNORE_DIAGNOSTIC_CLANG END_IGNORE_DIAGNOSTIC
22
23
#elif defined(__GNUC__)
24
25
# define BEGIN_IGNORE_DIAGNOSTIC(warning) \
26
_Pragma("GCC diagnostic push") DO_PRAGMA(GCC diagnostic ignored warning)
27
28
# define END_IGNORE_DIAGNOSTIC _Pragma("GCC diagnostic pop")
29
30
# define BEGIN_IGNORE_DIAGNOSTIC_GCC(warning) \
31
BEGIN_IGNORE_DIAGNOSTIC(warning)
32
# define END_IGNORE_DIAGNOSTIC_GCC END_IGNORE_DIAGNOSTIC
33
34
# define BEGIN_IGNORE_DIAGNOSTIC_CLANG(warning)
35
# define END_IGNORE_DIAGNOSTIC_CLANG
36
37
#else
38
39
# define BEGIN_IGNORE_DIAGNOSTIC(warning)
40
# define END_IGNORE_DIAGNOSTIC
41
42
# define BEGIN_IGNORE_DIAGNOSTIC_GCC(warning)
43
# define END_IGNORE_DIAGNOSTIC_GCC
44
45
# define BEGIN_IGNORE_DIAGNOSTIC_CLANG(warning)
46
# define END_IGNORE_DIAGNOSTIC_CLANG
47
48
#endif
49
50
#endif
// pRC_PRAGMA_H
Generated by
1.9.8