]>
Commit | Line | Data |
---|---|---|
20effc67 TL |
1 | /* |
2 | * Copyright Andrey Semashev 2020. | |
3 | * Distributed under the Boost Software License, Version 1.0. | |
4 | * (See accompanying file LICENSE_1_0.txt or copy at | |
5 | * http://www.boost.org/LICENSE_1_0.txt) | |
6 | */ | |
7 | ||
8 | #include <boost/config.hpp> | |
9 | ||
10 | #if !defined(BOOST_ATOMIC_ENABLE_WARNINGS) | |
11 | ||
12 | #if defined(BOOST_MSVC) | |
13 | ||
14 | #pragma warning(push, 3) | |
15 | // 'm_A' : class 'A' needs to have dll-interface to be used by clients of class 'B' | |
16 | #pragma warning(disable: 4251) | |
17 | // non dll-interface class 'A' used as base for dll-interface class 'B' | |
18 | #pragma warning(disable: 4275) | |
19 | // 'this' : used in base member initializer list | |
20 | #pragma warning(disable: 4355) | |
21 | // 'int' : forcing value to bool 'true' or 'false' (performance warning) | |
22 | #pragma warning(disable: 4800) | |
23 | // unreferenced formal parameter | |
24 | #pragma warning(disable: 4100) | |
25 | // conditional expression is constant | |
26 | #pragma warning(disable: 4127) | |
27 | // default constructor could not be generated | |
28 | #pragma warning(disable: 4510) | |
29 | // copy constructor could not be generated | |
30 | #pragma warning(disable: 4511) | |
31 | // assignment operator could not be generated | |
32 | #pragma warning(disable: 4512) | |
33 | // function marked as __forceinline not inlined | |
34 | #pragma warning(disable: 4714) | |
35 | // decorated name length exceeded, name was truncated | |
36 | #pragma warning(disable: 4503) | |
37 | // declaration of 'A' hides previous local declaration | |
38 | #pragma warning(disable: 4456) | |
39 | // declaration of 'A' hides global declaration | |
40 | #pragma warning(disable: 4459) | |
41 | // 'X': This function or variable may be unsafe. Consider using Y instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. | |
42 | #pragma warning(disable: 4996) | |
43 | // 'A' : multiple assignment operators specified | |
44 | #pragma warning(disable: 4522) | |
45 | // unary minus operator applied to unsigned type, result still unsigned | |
46 | #pragma warning(disable: 4146) | |
47 | // frame pointer register 'ebx' modified by inline assembly code | |
48 | #pragma warning(disable: 4731) | |
49 | // alignment is sensitive to packing | |
50 | #pragma warning(disable: 4121) | |
51 | // 'struct_name' : structure was padded due to __declspec(align()) | |
52 | #pragma warning(disable: 4324) | |
53 | ||
54 | #elif defined(BOOST_GCC) && BOOST_GCC >= 40600 | |
55 | ||
56 | #pragma GCC diagnostic push | |
57 | // unused parameter 'arg' | |
58 | #pragma GCC diagnostic ignored "-Wunused-parameter" | |
59 | // missing initializer for member var | |
60 | #pragma GCC diagnostic ignored "-Wmissing-field-initializers" | |
61 | ||
62 | #elif defined(BOOST_CLANG) | |
63 | ||
64 | #pragma clang diagnostic push | |
65 | // unused parameter 'arg' | |
66 | #pragma clang diagnostic ignored "-Wunused-parameter" | |
67 | // missing initializer for member var | |
68 | #pragma clang diagnostic ignored "-Wmissing-field-initializers" | |
69 | ||
70 | #endif | |
71 | ||
72 | #endif // !defined(BOOST_ATOMIC_ENABLE_WARNINGS) |