ufe  4.2
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
CfgWarningMacros.h
Go to the documentation of this file.
1 #line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.10-windows/ufe/gitmodules/peptide/src/config/CfgWarningMacros.h"
2 //-
3 // =============================================================================
4 // Copyright 2019 Autodesk, Inc. All rights reserved.
5 //
6 // Use of this software is subject to the terms of the Autodesk license
7 // agreement provided at the time of installation or download, or which
8 // otherwise accompanies this software in either electronic or hard copy form.
9 // =============================================================================
10 //+
11 
33 
34 
35 #ifndef PEPTIDE_CFG_WARNINGS_MACROS_H
36 #define PEPTIDE_CFG_WARNINGS_MACROS_H
37 
38 #include "CfgCompilerMacros.h"
39 
40 
47 #if PEPTIDE_IS_CLANG || PEPTIDE_IS_GCC
48 #define PEPTIDE_DO_PRAGMA(a) _Pragma(#a)
49 #elif PEPTIDE_IS_MSC
50 #define PEPTIDE_DO_PRAGMA(a) __pragma(a)
51 #else
52 #define PEPTIDE_DO_PRAGMA(a) /* empty */
53 #endif
54 
55 
65 #if PEPTIDE_IS_CLANG || PEPTIDE_IS_GCC
66  #define PEPTIDE_WARNING_PUSH PEPTIDE_DO_PRAGMA(GCC diagnostic push)
67 #elif PEPTIDE_IS_MSC
68  #define PEPTIDE_WARNING_PUSH PEPTIDE_DO_PRAGMA( warning( push ) )
69 #else
70  #define PEPTIDE_WARNING_PUSH
71 #endif
72 
73 
83 #if PEPTIDE_IS_CLANG || PEPTIDE_IS_GCC
84  #define PEPTIDE_WARNING_DISABLE(a) PEPTIDE_DO_PRAGMA(GCC diagnostic ignored #a)
85 #elif PEPTIDE_IS_MSC
86  #define PEPTIDE_WARNING_DISABLE(a) PEPTIDE_DO_PRAGMA( warning( disable : a ) )
87 #else
88  #define PEPTIDE_WARNING_DISABLE(a)
89 #endif
90 
91 
94 #if PEPTIDE_IS_MSC
95  #define PEPTIDE_WARNING_DISABLE_MSC(a) PEPTIDE_WARNING_DISABLE(a)
96 #else
97  #define PEPTIDE_WARNING_DISABLE_MSC(a)
98 #endif
99 
100 #if PEPTIDE_IS_CLANG
101  #define PEPTIDE_WARNING_DISABLE_CLANG(a) PEPTIDE_WARNING_DISABLE(a)
102 #else
103  #define PEPTIDE_WARNING_DISABLE_CLANG(a)
104 #endif
105 
106 #if PEPTIDE_IS_CLANG && (__clang_major__ >= 8)
107  #define PEPTIDE_WARNING_DISABLE_CLANG_80(a) PEPTIDE_WARNING_DISABLE(a)
108 #else
109  #define PEPTIDE_WARNING_DISABLE_CLANG_80(a)
110 #endif
111 
112 #if PEPTIDE_IS_GCC
113  #define PEPTIDE_WARNING_DISABLE_GCC(a) PEPTIDE_WARNING_DISABLE(a)
114 #else
115  #define PEPTIDE_WARNING_DISABLE_GCC(a)
116 #endif
117 
124 #if PEPTIDE_IS_CLANG || PEPTIDE_IS_GCC
125  #define PEPTIDE_WARNING_POP PEPTIDE_DO_PRAGMA(GCC diagnostic pop)
126 #elif PEPTIDE_IS_MSC
127  #define PEPTIDE_WARNING_POP PEPTIDE_DO_PRAGMA( warning( pop ) )
128 #else
129  #define PEPTIDE_WARNING_POP
130 #endif
131 
143 #if PEPTIDE_IS_MSC
144  #define PEPTIDE_WARNING_PUSH_SYSTEM_HEADER_MSC PEPTIDE_DO_PRAGMA( warning(push, 0) )
145 #else
146  #define PEPTIDE_WARNING_PUSH_SYSTEM_HEADER_MSC
147 #endif
148 
149 
154 #if PEPTIDE_IS_MSC
155  #define PEPTIDE_WARNING_POP_SYSTEM_HEADER_MSC PEPTIDE_DO_PRAGMA( warning( pop ) )
156 #else
157  #define PEPTIDE_WARNING_POP_SYSTEM_HEADER_MSC
158 #endif
159 
160 #endif
Macro definition for identifying compilers and there capabilities.