1 /*
2  *  Copyright 2014 Two Blue Cubes Ltd
3  *
4  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
5  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6  */
7 
8 #ifdef __clang__
9 #   ifdef __ICC // icpc defines the __clang__ macro
10 #       pragma warning(push)
11 #       pragma warning(disable: 161 1682)
12 #   else // __ICC
13 #       pragma clang diagnostic push
14 #       pragma clang diagnostic ignored "-Wpadded"
15 #       pragma clang diagnostic ignored "-Wswitch-enum"
16 #       pragma clang diagnostic ignored "-Wcovered-switch-default"
17 #    endif
18 #elif defined __GNUC__
19      // Because REQUIREs trigger GCC's -Wparentheses, and because still
20      // supported version of g++ have only buggy support for _Pragmas,
21      // Wparentheses have to be suppressed globally.
22 #    pragma GCC diagnostic ignored "-Wparentheses" // See #674 for details
23 
24 #    pragma GCC diagnostic push
25 #    pragma GCC diagnostic ignored "-Wunused-variable"
26 #    pragma GCC diagnostic ignored "-Wpadded"
27 #endif
28