summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile29
1 files changed, 29 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 0a2070b5..90179860 100644
--- a/Makefile
+++ b/Makefile
@@ -215,6 +215,35 @@ MK_CFLAGS += $(WARN_FLAGS) -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmis
-Werror=implicit-function-declaration
MK_CXXFLAGS += $(WARN_FLAGS) -Wmissing-declarations -Wmissing-noreturn
+ifeq ($(LLAMA_FATAL_WARNINGS),1)
+ MK_CFLAGS += -Werror
+ MK_CXXFLAGS += -Werror
+endif
+
+ifeq ($(CC_IS_CLANG), 1)
+ # clang options
+ MK_CFLAGS += -Wunreachable-code-break -Wunreachable-code-return
+ MK_HOST_CXXFLAGS += -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi
+
+ ifneq '' '$(and $(CC_IS_LLVM_CLANG),$(filter 1,$(shell expr $(CC_VER) \>= 030800)))'
+ MK_CFLAGS += -Wdouble-promotion
+ endif
+ ifneq '' '$(and $(CC_IS_APPLE_CLANG),$(filter 1,$(shell expr $(CC_VER) \>= 070300)))'
+ MK_CFLAGS += -Wdouble-promotion
+ endif
+else
+ # gcc options
+ MK_CFLAGS += -Wdouble-promotion
+ MK_HOST_CXXFLAGS += -Wno-array-bounds
+
+ ifeq ($(shell expr $(CC_VER) \>= 070100), 1)
+ MK_HOST_CXXFLAGS += -Wno-format-truncation
+ endif
+ ifeq ($(shell expr $(CC_VER) \>= 080100), 1)
+ MK_HOST_CXXFLAGS += -Wextra-semi
+ endif
+endif
+
# this version of Apple ld64 is buggy
ifneq '' '$(findstring dyld-1015.7,$(shell $(CC) $(LDFLAGS) -Wl,-v 2>&1))'
MK_CPPFLAGS += -DHAVE_BUGGY_APPLE_LINKER