TIMPI
Loading...
Searching...
No Matches
ignore_warnings.h
Go to the documentation of this file.
1// The TIMPI Message-Passing Parallelism Library.
2// Copyright (C) 2002-2025 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3
4// This library is free software; you can redistribute it and/or
5// modify it under the terms of the GNU Lesser General Public
6// License as published by the Free Software Foundation; either
7// version 2.1 of the License, or (at your option) any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// Lesser General Public License for more details.
13
14// You should have received a copy of the GNU Lesser General Public
15// License along with this library; if not, write to the Free Software
16// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
18
19// Note: no include guards! We want to be able to #include this
20// header multiple times.
21
22#include "timpi/timpi_config.h"
23
24// TODO: icpc options
25#ifdef __clang__
26#pragma clang diagnostic push
27#pragma clang diagnostic ignored "-Wunused-parameter"
28#pragma clang diagnostic ignored "-Wextra-semi"
29#pragma clang diagnostic ignored "-Wvariadic-macros"
30#pragma clang diagnostic ignored "-Wc++11-extensions"
31#pragma clang diagnostic ignored "-Wnested-anon-types"
32#pragma clang diagnostic ignored "-Wsign-compare"
33#pragma clang diagnostic ignored "-Wunused-private-field"
34#pragma clang diagnostic ignored "-Wextra"
35#pragma clang diagnostic ignored "-Wredundant-decls"
36#pragma clang diagnostic ignored "-Wcast-align"
37#pragma clang diagnostic ignored "-Wcast-qual"
38#pragma clang diagnostic ignored "-Wswitch-default"
39#pragma clang diagnostic ignored "-Wdeprecated-declarations"
40#pragma clang diagnostic ignored "-Woverloaded-virtual"
41// This isn't supported in 3.4.2 at least
42#if (__clang_major__ > 3)
43#pragma clang diagnostic ignored "-Wmacro-redefined"
44#endif
45#if (__clang_major__ > 3) || (__clang_major__ == 3 && __clang_minor__ > 5)
46// This was introduced in 3.6
47#pragma clang diagnostic ignored "-Winconsistent-missing-override"
48#endif // clang > 3.5
49#endif
50
51#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__)
52// GCC > 4.5 supports diagnostic pragmas with push/pop
53#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
54#pragma GCC diagnostic push
55// These two don't work?
56#pragma GCC diagnostic ignored "-Wpedantic"
57#pragma GCC diagnostic ignored "-Wdeprecated"
58// But this is helpful with some MPI stacks
59#pragma GCC diagnostic ignored "-Wunused-parameter"
60// And these are for cppunit
61#pragma GCC diagnostic ignored "-Woverloaded-virtual"
62#pragma GCC diagnostic ignored "-Wundef"
63// And these are for Trilinos
64#pragma GCC diagnostic ignored "-Wextra"
65#pragma GCC diagnostic ignored "-Wshadow"
66// And these are for PETSc
67#pragma GCC diagnostic ignored "-Wredundant-decls"
68#pragma GCC diagnostic ignored "-Wcast-qual"
69#pragma GCC diagnostic ignored "-Wswitch-default"
70// And these are for Eigen
71#pragma GCC diagnostic ignored "-Wconversion"
72#pragma GCC diagnostic ignored "-Wstack-protector"
73// And this for VTK
74#pragma GCC diagnostic ignored "-Wlogical-op"
75// Ignore warnings from code that uses deprecated members of std, like std::auto_ptr.
76#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
77#if (__GNUC__ > 5)
78// Ignore this for VTK
79#pragma GCC diagnostic ignored "-Wfloat-conversion"
80// Ignore warnings from code that does "if (foo) bar();"
81#pragma GCC diagnostic ignored "-Wmisleading-indentation"
82// Ignore warnings from bad placement new use
83#pragma GCC diagnostic ignored "-Wplacement-new"
84#if (__GNUC__ > 6)
85#pragma GCC diagnostic ignored "-Wint-in-bool-context"
86#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
87#if (__GNUC__ > 7)
88#pragma GCC diagnostic ignored "-Wparentheses"
89#pragma GCC diagnostic ignored "-Wcast-function-type"
90#if (__GNUC__ > 8)
91#pragma GCC diagnostic ignored "-Wdeprecated-copy"
92#endif // GCC > 8
93#endif // GCC > 7
94#endif // GCC > 6
95#endif // GCC > 5
96#endif // GCC > 4.5
97#endif // __GNUC__ && !__INTEL_COMPILER