-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompiler_warnings.h
62 lines (58 loc) · 2.7 KB
/
compiler_warnings.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef COMPILER_WARNINGS_H
#define COMPILER_WARNINGS_H
#if defined(__GNUC__) || defined(__clang__)
// #pragma GCC diagnostic error "-Wpedantic"
#pragma GCC diagnostic error "-Wall"
#pragma GCC diagnostic error "-Wextra"
#pragma GCC diagnostic error "-Wvla"
#pragma GCC diagnostic error "-Wmissing-noreturn"
#pragma GCC diagnostic ignored "-Wcast-qual"
#pragma GCC diagnostic error "-Wdeprecated"
#pragma GCC diagnostic error "-Wdouble-promotion"
#pragma GCC diagnostic error "-Wint-conversion"
#pragma GCC diagnostic error "-Wimplicit-int"
#pragma GCC diagnostic error "-Wimplicit-function-declaration"
#pragma GCC diagnostic error "-Wincompatible-pointer-types"
#pragma GCC diagnostic error "-Wunused-result"
#pragma GCC diagnostic error "-Wswitch"
#pragma GCC diagnostic error "-Wformat"
#pragma GCC diagnostic error "-Wreturn-type"
#pragma GCC diagnostic ignored "-Woverlength-strings"
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wnullability-extension"
#pragma clang diagnostic ignored "-Wfixed-enum-extension"
#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
#pragma clang diagnostic ignored "-Wlanguage-extension-token"
#pragma clang diagnostic ignored "-Wgnu-auto-type"
#pragma clang diagnostic ignored "-Wextra-semi"
#pragma clang diagnostic error "-Wassign-enum"
#pragma clang diagnostic ignored "-Wshadow"
#pragma clang diagnostic error "-Warray-bounds-pointer-arithmetic"
#pragma clang diagnostic error "-Wcovered-switch-default"
#pragma clang diagnostic error "-Wfor-loop-analysis"
#pragma clang diagnostic error "-Winfinite-recursion"
#pragma clang diagnostic error "-Wduplicate-enum"
#pragma clang diagnostic error "-Wmissing-field-initializers"
#pragma clang diagnostic error "-Wpointer-type-mismatch"
#pragma clang diagnostic error "-Wextra-tokens"
#pragma clang diagnostic error "-Wmacro-redefined"
#pragma clang diagnostic error "-Winitializer-overrides"
#pragma clang diagnostic error "-Wsometimes-uninitialized"
#pragma clang diagnostic error "-Wunused-comparison"
#pragma clang diagnostic error "-Wundefined-internal"
#pragma clang diagnostic error "-Wnon-literal-null-conversion"
#pragma clang diagnostic ignored "-Wnullable-to-nonnull-conversion"
#pragma clang diagnostic error "-Wnullability-completeness"
#pragma clang diagnostic error "-Wnullability"
#pragma clang diagnostic error "-Wuninitialized"
#pragma clang diagnostic error "-Wconditional-uninitialized"
#pragma clang diagnostic error "-Wcomma"
#endif
#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic ignored "-Wmissing-braces"
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#pragma GCC diagnostic ignored "-Wsuggest-attribute=noreturn"
#endif
#endif