Build with -Wpedantic
This commit is contained in:
parent
38f3d04784
commit
d4a55a5554
24
.github/workflows/cmake-integration.yml
vendored
24
.github/workflows/cmake-integration.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
||||
cp -rv cpptrace/test/fetchcontent-integration .
|
||||
mkdir fetchcontent-integration/build
|
||||
cd fetchcontent-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
make
|
||||
./main
|
||||
test-linux-findpackage:
|
||||
@ -37,7 +37,7 @@ jobs:
|
||||
tag=$(git rev-parse --abbrev-ref HEAD)
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
sudo make -j install
|
||||
cd ../..
|
||||
cp -rv cpptrace/test/findpackage-integration .
|
||||
@ -61,7 +61,7 @@ jobs:
|
||||
cp -rv cpptrace add_subdirectory-integration
|
||||
mkdir add_subdirectory-integration/build
|
||||
cd add_subdirectory-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
make
|
||||
./main
|
||||
|
||||
@ -81,7 +81,7 @@ jobs:
|
||||
cp -rv cpptrace/test/fetchcontent-integration .
|
||||
mkdir fetchcontent-integration/build
|
||||
cd fetchcontent-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
make
|
||||
./main
|
||||
test-macos-findpackage:
|
||||
@ -98,7 +98,7 @@ jobs:
|
||||
echo $tag
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
sudo make -j install
|
||||
cd ../..
|
||||
cp -rv cpptrace/test/findpackage-integration .
|
||||
@ -122,7 +122,7 @@ jobs:
|
||||
cp -rv cpptrace add_subdirectory-integration
|
||||
mkdir add_subdirectory-integration/build
|
||||
cd add_subdirectory-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
make
|
||||
./main
|
||||
|
||||
@ -142,7 +142,7 @@ jobs:
|
||||
cp -Recurse cpptrace/test/fetchcontent-integration .
|
||||
mkdir fetchcontent-integration/build
|
||||
cd fetchcontent-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG="$tag" "-GUnix Makefiles" -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG="$tag" "-GUnix Makefiles" -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
make
|
||||
.\main.exe
|
||||
test-mingw-findpackage:
|
||||
@ -159,7 +159,7 @@ jobs:
|
||||
echo $tag
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} "-GUnix Makefiles" -DCMAKE_INSTALL_PREFIX=C:/foo
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} "-GUnix Makefiles" -DCMAKE_INSTALL_PREFIX=C:/foo -DCPPTRACE_WERROR_BUILD=On
|
||||
make -j install
|
||||
cd ../..
|
||||
mv cpptrace/test/findpackage-integration .
|
||||
@ -183,7 +183,7 @@ jobs:
|
||||
cp -Recurse cpptrace add_subdirectory-integration
|
||||
mkdir add_subdirectory-integration/build
|
||||
cd add_subdirectory-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug "-GUnix Makefiles" -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug "-GUnix Makefiles" -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
make
|
||||
.\main.exe
|
||||
test-windows-fetchcontent:
|
||||
@ -204,7 +204,7 @@ jobs:
|
||||
cp -Recurse cpptrace/test/fetchcontent-integration .
|
||||
mkdir fetchcontent-integration/build
|
||||
cd fetchcontent-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG="$tag" -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG="$tag" -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
msbuild demo_project.sln
|
||||
.\Debug\main.exe
|
||||
test-windows-findpackage:
|
||||
@ -223,7 +223,7 @@ jobs:
|
||||
echo $tag
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCMAKE_INSTALL_PREFIX=C:/foo
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCMAKE_INSTALL_PREFIX=C:/foo -DCPPTRACE_WERROR_BUILD=On
|
||||
msbuild cpptrace.sln
|
||||
msbuild INSTALL.vcxproj
|
||||
cd ../..
|
||||
@ -250,6 +250,6 @@ jobs:
|
||||
cp -Recurse cpptrace add_subdirectory-integration
|
||||
mkdir add_subdirectory-integration/build
|
||||
cd add_subdirectory-integration/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}}
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
|
||||
msbuild demo_project.sln
|
||||
.\Debug\main.exe
|
||||
|
||||
@ -237,23 +237,28 @@ target_include_directories(
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/cpptrace/>
|
||||
)
|
||||
|
||||
target_compile_options(
|
||||
${target_name}
|
||||
PRIVATE
|
||||
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wall -Wextra -Werror=return-type -Wundef>
|
||||
set(
|
||||
warning_options
|
||||
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wall -Wextra -Werror=return-type -Wundef -Wpedantic>
|
||||
$<$<CXX_COMPILER_ID:GNU>:-Wuseless-cast -Wmaybe-uninitialized>
|
||||
$<$<CXX_COMPILER_ID:MSVC>:/W4 /WX /permissive->
|
||||
)
|
||||
|
||||
if(CPPTRACE_WERROR_BUILD)
|
||||
target_compile_options(
|
||||
${target_name}
|
||||
PRIVATE
|
||||
set(
|
||||
warning_options
|
||||
${warning_options}
|
||||
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Werror>
|
||||
$<$<CXX_COMPILER_ID:MSVC>:/WX>
|
||||
)
|
||||
endif()
|
||||
|
||||
target_compile_options(
|
||||
${target_name}
|
||||
PRIVATE
|
||||
${warning_options}
|
||||
)
|
||||
|
||||
# ---- Generate Build Info Headers ----
|
||||
|
||||
if(build_type STREQUAL "STATIC")
|
||||
|
||||
@ -5,6 +5,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
macro(add_test_dependencies exec_name)
|
||||
target_compile_features(${exec_name} PRIVATE cxx_std_11)
|
||||
target_link_libraries(${exec_name} PRIVATE ${target_name})
|
||||
target_compile_options(${exec_name} PRIVATE ${warning_options})
|
||||
# Clang has been fast to adopt dwarf 5, other tools (e.g. addr2line from binutils) have not
|
||||
check_cxx_compiler_flag("-gdwarf-4" HAS_DWARF4)
|
||||
if(HAS_DWARF4)
|
||||
@ -50,5 +51,6 @@ if(NOT CPPTRACE_IS_GH_ACTIONS)
|
||||
add_executable(unittest unittest.cpp)
|
||||
target_compile_features(unittest PRIVATE cxx_std_20)
|
||||
target_link_libraries(unittest PRIVATE ${target_name} GTest::gtest_main GTest::gmock_main)
|
||||
target_compile_options(unittest PRIVATE ${warning_options} -Wno-pedantic)
|
||||
add_test(NAME unittest COMMAND unittest)
|
||||
endif()
|
||||
|
||||
@ -23,14 +23,17 @@ void bar(int n) {
|
||||
}
|
||||
|
||||
void foo(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j) {
|
||||
(void)a, (void)b, (void)c, (void)d, (void)e, (void)f, (void)g, (void)h, (void)i, (void)j;
|
||||
bar(1);
|
||||
}
|
||||
|
||||
void function_two(int a, float b) {
|
||||
(void)a, (void)b;
|
||||
foo(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
|
||||
}
|
||||
|
||||
void function_one(int a) {
|
||||
(void)a;
|
||||
function_two(0, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ void foo(int n) {
|
||||
}
|
||||
|
||||
template<typename... Args>
|
||||
void foo(int x, Args... args) {
|
||||
void foo(int, Args... args) {
|
||||
foo(args...);
|
||||
}
|
||||
|
||||
|
||||
@ -29,11 +29,11 @@ void trace() {
|
||||
|
||||
// padding to avoid upsetting existing trace expected files
|
||||
|
||||
void www(std::string&&, const std::string& str, std::vector<std::string*>&& foobar) {
|
||||
void www(std::string&&, const std::string&, std::vector<std::string*>&&) {
|
||||
trace();
|
||||
}
|
||||
|
||||
void jjj(void(*const arr[5])(float)) {
|
||||
void jjj(void(*const[5])(float)) {
|
||||
www(std::string{}, "", {});
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ void foo(int n) {
|
||||
}
|
||||
|
||||
template<typename... Args>
|
||||
void foo(int x, Args... args) {
|
||||
void foo(int, Args... args) {
|
||||
x = 0;
|
||||
foo(args...);
|
||||
x = 0;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user