AGX Dynamics 2.42.0.2
Loading...
Searching...
No Matches
PushDisableWarnings.h
Go to the documentation of this file.
1/*
2Copyright 2007-2025. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16
17
18/*
19No include guard on purpose - this is for easier enabling/disabling of warnings
20around includes of external header files.
21
22ALWAYS REMEMBER to include in the following order:
23
24...
25#include <agx/PushDisableWarnings.h> // Disabling warnings. Include agx/PopDisableWarnings.h below!
26#include <externalHeaderFoo.h>
27#include <externalHeaderBar.h>
28...
29#include <agx/PopDisableWarnings.h> // End of disabled warnings.
30...
31*/
32
33// define AGX_WARNINGS_IN_EXTERNAL_HEADERS if warnings in external headers should be enabled
34#ifndef AGX_WARNINGS_IN_EXTERNAL_HEADERS
35
36#ifdef _MSC_VER
37# pragma warning(push, 0)
38# include <CodeAnalysis/Warnings.h>
39# pragma warning ( disable : ALL_CODE_ANALYSIS_WARNINGS )
40#endif
41
42#ifdef __clang__
43# pragma clang diagnostic push
44# pragma clang diagnostic ignored "-Wcast-align"
45# pragma clang diagnostic ignored "-Wconversion"
46# pragma clang diagnostic ignored "-Wempty-body"
47# pragma clang diagnostic ignored "-Wunused-parameter"
48# pragma clang diagnostic ignored "-Wunused-function"
49# pragma clang diagnostic ignored "-Woverloaded-virtual"
50# pragma clang diagnostic ignored "-Wnull-dereference"
51# pragma clang diagnostic ignored "-Wreturn-stack-address" // <osg/io_utils>
52# if __clang_major__ > 4
53# pragma clang diagnostic ignored "-Wdeprecated-declarations"
54# else
55# pragma clang diagnostic ignored "-Wdeprecated"
56# endif
57# pragma clang diagnostic ignored "-Wall"
58# pragma clang diagnostic ignored "-Wextra"
59# pragma clang diagnostic ignored "-Wshadow"
60# pragma clang diagnostic ignored "-Wundef"
61#elif defined(__GNUC__) && ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) )
62# pragma GCC diagnostic push
63# pragma GCC diagnostic ignored "-Wformat-nonliteral"
64# pragma GCC diagnostic ignored "-Wpragmas"
65# pragma GCC diagnostic ignored "-Wliteral-suffix"
66# pragma GCC diagnostic ignored "-Wconversion"
67# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
68#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC__ >= 9)
69# pragma GCC diagnostic ignored "-Wfloat-conversion"
70# pragma GCC diagnostic ignored "-Wnonnull-compare"
71#endif
72# pragma GCC diagnostic ignored "-Wliteral-suffix"
73# pragma GCC diagnostic ignored "-Wunused-parameter"
74# pragma GCC diagnostic ignored "-Wunused-function"
75# pragma GCC diagnostic ignored "-Wunused-value"
76# pragma GCC diagnostic ignored "-Woverloaded-virtual"
77# pragma GCC diagnostic ignored "-Wall"
78# pragma GCC diagnostic ignored "-Wextra"
79# pragma GCC diagnostic ignored "-Wshadow"
80# pragma GCC diagnostic ignored "-Wstrict-aliasing"
81# pragma GCC diagnostic ignored "-Wundef"
82#endif
83
84#if defined(__APPLE__)
85// OSG with deprecated OpenGL API
86#define GL_SILENCE_DEPRECATION 1
87#endif
88
89#endif