Skip to content

Commit 55a7da8

Browse files
committed
compiler warnings
1 parent f77c8d5 commit 55a7da8

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

DrJson/drjson.c

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ typedef long long ssize_t;
2222
#include <windows.h>
2323
#endif
2424

25+
#include "../compiler_warnings.h"
2526
#ifndef DRJSON_API
2627

2728
#ifndef DRJSON_STATIC_LIB

compiler_warnings.h

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

0 commit comments

Comments
 (0)