aboutsummaryrefslogtreecommitdiff
path: root/C/Compiler.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--C/Compiler.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/C/Compiler.h b/C/Compiler.h
new file mode 100644
index 0000000..a9816fa
--- /dev/null
+++ b/C/Compiler.h
@@ -0,0 +1,43 @@
1/* Compiler.h
22021-01-05 : Igor Pavlov : Public domain */
3
4#ifndef __7Z_COMPILER_H
5#define __7Z_COMPILER_H
6
7 #ifdef __clang__
8 #pragma clang diagnostic ignored "-Wunused-private-field"
9 #endif
10
11#ifdef _MSC_VER
12
13 #ifdef UNDER_CE
14 #define RPC_NO_WINDOWS_H
15 /* #pragma warning(disable : 4115) // '_RPC_ASYNC_STATE' : named type definition in parentheses */
16 #pragma warning(disable : 4201) // nonstandard extension used : nameless struct/union
17 #pragma warning(disable : 4214) // nonstandard extension used : bit field types other than int
18 #endif
19
20 #if _MSC_VER >= 1300
21 #pragma warning(disable : 4996) // This function or variable may be unsafe
22 #else
23 #pragma warning(disable : 4511) // copy constructor could not be generated
24 #pragma warning(disable : 4512) // assignment operator could not be generated
25 #pragma warning(disable : 4514) // unreferenced inline function has been removed
26 #pragma warning(disable : 4702) // unreachable code
27 #pragma warning(disable : 4710) // not inlined
28 #pragma warning(disable : 4714) // function marked as __forceinline not inlined
29 #pragma warning(disable : 4786) // identifier was truncated to '255' characters in the debug information
30 #endif
31
32 #ifdef __clang__
33 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
34 #pragma clang diagnostic ignored "-Wmicrosoft-exception-spec"
35 // #pragma clang diagnostic ignored "-Wreserved-id-macro"
36 #endif
37
38#endif
39
40#define UNUSED_VAR(x) (void)x;
41/* #define UNUSED_VAR(x) x=x; */
42
43#endif