]>
Commit | Line | Data |
---|---|---|
27e0c3c6 CMAB |
1 | ifndef COMPILER_FEATURES |
2 | COMPILER_FEATURES := $(shell ./detect-compiler $(CC)) | |
3 | endif | |
4 | ||
99f763ba | 5 | ifeq ($(filter no-error,$(DEVOPTS)),) |
6d5d4b4e | 6 | DEVELOPER_CFLAGS += -Werror |
521dc562 | 7 | SPARSE_FLAGS += -Wsparse-error |
99f763ba | 8 | endif |
27e0c3c6 | 9 | DEVELOPER_CFLAGS += -Wall |
6a8cbc41 | 10 | ifeq ($(filter no-pedantic,$(DEVOPTS)),) |
6d5d4b4e | 11 | DEVELOPER_CFLAGS += -pedantic |
6a8cbc41 | 12 | DEVELOPER_CFLAGS += -Wpedantic |
27e0c3c6 | 13 | ifneq ($(filter gcc5,$(COMPILER_FEATURES)),) |
6a8cbc41 | 14 | DEVELOPER_CFLAGS += -Wno-pedantic-ms-format |
27e0c3c6 CMAB |
15 | DEVELOPER_CFLAGS += -Wno-incompatible-pointer-types |
16 | endif | |
6d5d4b4e | 17 | endif |
6d5d4b4e ÆAB |
18 | DEVELOPER_CFLAGS += -Wdeclaration-after-statement |
19 | DEVELOPER_CFLAGS += -Wformat-security | |
6d5d4b4e ÆAB |
20 | DEVELOPER_CFLAGS += -Wold-style-definition |
21 | DEVELOPER_CFLAGS += -Woverflow | |
22 | DEVELOPER_CFLAGS += -Wpointer-arith | |
23 | DEVELOPER_CFLAGS += -Wstrict-prototypes | |
24 | DEVELOPER_CFLAGS += -Wunused | |
25 | DEVELOPER_CFLAGS += -Wvla | |
55391836 | 26 | DEVELOPER_CFLAGS += -fno-common |
1da1580e | 27 | |
1da1580e | 28 | ifneq ($(filter clang4,$(COMPILER_FEATURES)),) |
6d5d4b4e | 29 | DEVELOPER_CFLAGS += -Wtautological-constant-out-of-range-compare |
1da1580e NTND |
30 | endif |
31 | ||
32 | ifneq ($(or $(filter gcc6,$(COMPILER_FEATURES)),$(filter clang4,$(COMPILER_FEATURES))),) | |
6d5d4b4e | 33 | DEVELOPER_CFLAGS += -Wextra |
1da1580e NTND |
34 | # if a function is public, there should be a prototype and the right |
35 | # header file should be included. If not, it should be static. | |
6d5d4b4e | 36 | DEVELOPER_CFLAGS += -Wmissing-prototypes |
26d2e4fb | 37 | ifeq ($(filter extra-all,$(DEVOPTS)),) |
1da1580e | 38 | # These are disabled because we have these all over the place. |
6d5d4b4e ÆAB |
39 | DEVELOPER_CFLAGS += -Wno-empty-body |
40 | DEVELOPER_CFLAGS += -Wno-missing-field-initializers | |
41 | DEVELOPER_CFLAGS += -Wno-sign-compare | |
42 | DEVELOPER_CFLAGS += -Wno-unused-parameter | |
1da1580e | 43 | endif |
26d2e4fb | 44 | endif |
1da1580e NTND |
45 | |
46 | # uninitialized warnings on gcc 4.9.2 in xdiff/xdiffi.c and config.c | |
47 | # not worth fixing since newer compilers correctly stop complaining | |
48 | ifneq ($(filter gcc4,$(COMPILER_FEATURES)),) | |
49 | ifeq ($(filter gcc5,$(COMPILER_FEATURES)),) | |
6d5d4b4e | 50 | DEVELOPER_CFLAGS += -Wno-uninitialized |
1da1580e NTND |
51 | endif |
52 | endif | |
5338ed2b JK |
53 | |
54 | GIT_TEST_PERL_FATAL_WARNINGS = YesPlease |