Ice 3.7 C++11 API Reference
PushDisableWarnings.h
Go to the documentation of this file.
1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 // No pragma once as this file can be included several times in a translation
6 // unit
7 
8 #if defined(_MSC_VER)
9 # pragma warning(push)
10 # pragma warning(disable:4250) // ... : inherits ... via dominance
11 # pragma warning(disable:4251) // class ... needs to have dll-interface to be used by clients of class ...
12 # pragma warning(disable:4512) // ... assignment operator could not be generated
13 
14 # if _MSC_VER >= 1900
15 # pragma warning(disable:4275) // non dll-interface class ... used as base for dll-interface class ...
16 # endif
17 
18 #elif defined(__clang__)
19 # pragma clang diagnostic push
20 # pragma clang diagnostic ignored "-Wredundant-decls" // expected when using forward Slice declarations
21 # pragma clang diagnostic ignored "-Wdocumentation-deprecated-sync" // see zeroc-ice/ice issue #211
22 
23 # if (__clang_major__ >= 4)
24 # pragma clang diagnostic ignored "-Wshadow-field-in-constructor" // expected in some generated header files
25 # else
26 # pragma clang diagnostic ignored "-Wshadow-all" // expected in some generated header files
27 # endif
28 
29 #elif defined(__GNUC__)
30 # pragma GCC diagnostic push
31 # pragma GCC diagnostic ignored "-Wredundant-decls" // expected when using forward Slice declarations
32 # pragma GCC diagnostic ignored "-Wshadow" // expected in some generated header files
33 #endif