Commit cff653a
committed
Wire -Wall -Wextra -Wpedantic into the actual build
-Wall -Wextra -Wpedantic has been a manual step this session, run by
hand from a scratch script against geoarrow_arrays.cpp only, and
reported in commit messages as if it were a check the build enforces.
It never was, and it never covered geoarrow.cpp or intersections.cpp -
the pybind11 layer - at all, since those compile only through the
top-level CMakeLists.txt and no manual pass this session reached them.
Wiring the flags into both CMakeLists.txt directly means every push
gets the check for free, on whichever compiler build.yml already uses
per platform (gcc on ubuntu, Apple clang on macos, cl on windows) -
without adding a job. Not MSVC, whose warning flags are different
syntax; not the vendored nanoarrow.c/geoarrow.c, which are not ours to
keep warning-free and which -isystem does not shield when a .c file is
compiled directly rather than reached through #include - confirmed by
compiling one by hand before writing this. So the vendored sources move
into a small vendor_arrow OBJECT library that the flags are never
applied to, linked into run_tests/run_benchmarks/intersections via
$<TARGET_OBJECTS:>, which changes nothing about what ships.
Building the pybind11 layer with the flags on for the first time found
nothing in it. What it did surface, unrelated to any of this and left
alone: utils.hpp's Exception::what() hides std::exception's virtual
under clang (-Woverloaded-virtual - the class is thrown by value at its
only call site and never caught as an exception, so the override is
dead code, not a live bug), and three pre-existing sign-compare
warnings plus one unused-function warning in tests_intersections.cpp
under both compilers. Not touched here.
No -Werror: that would fail the build on those two pre-existing,
unrelated warnings today. This makes new warnings visible in every build
log; turning that into a hard gate is a separate decision once the
existing ones are triaged.
Verified: a full extension/CMakeLists.txt rebuild (run_tests, 36,085
assertions; run_benchmarks) and a direct cmake configure+build of the
top-level intersections module against this checkout's Python and
pybind11, both clean under the new flags apart from the two warnings
above; the resulting module passes the full 137-test Python suite; a
real `pip install .` still succeeds through scikit-build-core.
The matching CI wiring (building run_benchmarks in build.yml, and a
workflow_dispatch trigger on package.yml for on-demand cibuildwheel
runs) is not in this commit: this session's GitHub token lacks the
workflow scope GitHub requires for changes under .github/workflows/, so
that push was rejected. The exact diff is given separately for manual
application.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SqdWshmD4AUHhrqeMh86GS1 parent 816dafa commit cff653a
2 files changed
Lines changed: 35 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
25 | 38 | | |
26 | 39 | | |
27 | 40 | | |
28 | 41 | | |
29 | | - | |
30 | | - | |
| 42 | + | |
31 | 43 | | |
32 | 44 | | |
33 | | - | |
| 45 | + | |
34 | 46 | | |
35 | 47 | | |
36 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
17 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
18 | 35 | | |
19 | 36 | | |
20 | 37 | | |
| |||
24 | 41 | | |
25 | 42 | | |
26 | 43 | | |
27 | | - | |
28 | | - | |
| 44 | + | |
29 | 45 | | |
30 | | - | |
| 46 | + | |
31 | 47 | | |
32 | 48 | | |
33 | 49 | | |
| |||
38 | 54 | | |
39 | 55 | | |
40 | 56 | | |
| 57 | + | |
41 | 58 | | |
42 | 59 | | |
43 | 60 | | |
| |||
0 commit comments