Enable and clean up compiler warnings in src (#824)

* WIP: enable and clean up warnings in src

* All warnings handled

---------

Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
This commit is contained in:
Kawrakow
2025-10-11 16:01:13 +03:00
committed by GitHub
parent 4daff01b39
commit 764eefd1bc
6 changed files with 76 additions and 317 deletions

View File

@@ -11,6 +11,32 @@ endif()
# llama
if (LLAMA_ALL_WARNINGS)
if (NOT MSVC)
list(APPEND WARNING_FLAGS -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wno-sign-compare)
if (APPLE)
# shut up c99 extensions warning I get on my system due to arm_neon.h
list(APPEND WARNING_FLAGS -Wno-c99-extensions)
endif()
list(APPEND C_FLAGS -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes
-Werror=implicit-int -Werror=implicit-function-declaration)
list(APPEND CXX_FLAGS -Wmissing-declarations -Wmissing-noreturn)
list(APPEND C_FLAGS ${WARNING_FLAGS})
list(APPEND CXX_FLAGS ${WARNING_FLAGS})
get_flags(${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})
add_compile_options("$<$<COMPILE_LANGUAGE:C>:${C_FLAGS};${GF_C_FLAGS}>"
"$<$<COMPILE_LANGUAGE:CXX>:${CXX_FLAGS};${GF_CXX_FLAGS}>")
else()
# todo : msvc
set(C_FLAGS "")
set(CXX_FLAGS "")
endif()
endif()
add_library(llama
../include/llama.h
llama.cpp
@@ -34,9 +60,9 @@ add_library(llama
unicode-data.cpp
)
target_include_directories(llama PUBLIC . ../include ../common)
target_include_directories(llama PUBLIC . ../include)
target_include_directories(llama PRIVATE ../ggml/src)
target_compile_features (llama PUBLIC cxx_std_11) # don't bump
target_compile_features (llama PUBLIC cxx_std_17)
target_link_libraries(llama PUBLIC ggml)