From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>, Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v3 0/4] ci: detect more warnings via `-Og`
Date: Fri, 7 Jun 2024 08:46:24 +0200 [thread overview]
Message-ID: <cover.1717742752.git.ps@pks.im> (raw)
In-Reply-To: <20240606080552.GA658959@coredump.intra.peff.net>
[-- Attachment #1: Type: text/plain, Size: 3374 bytes --]
Hi,
this is the third version of this patch series that adapts one of our CI
jobs to compile with `-Og` for improved coverage of warnings.
Changes compared to v2:
- Typo fixes for commit messages.
- Replaced the `O` variable with `CFLAGS_APPEND`. If that isn't
palatable to folks then I'll drop this altogether and will inline it
into the CI script, duplicating the default CFLAGS there.
- Start compiling with V=1 so that the change can actually be seen. It
also shouldn't clutter the job output too much given that the build
is in a collapsible section on both GitHub and GitLab.
Patrick
Patrick Steinhardt (4):
ci: fix check for Ubuntu 20.04
Makefile: add ability to append to CFLAGS and LDFLAGS
ci: compile code with V=1
ci: compile "linux-gcc-default" job with -Og
Makefile | 2 ++
ci/lib.sh | 2 +-
ci/run-build-and-tests.sh | 11 ++++++++++-
3 files changed, 13 insertions(+), 2 deletions(-)
Range-diff against v2:
1: f91004a438 = 1: 70fa755b4f ci: fix check for Ubuntu 20.04
-: ---------- > 2: d68539834f Makefile: add ability to append to CFLAGS and LDFLAGS
-: ---------- > 3: a3dfb7092a ci: compile code with V=1
2: bdf0e40a77 ! 4: c7b5b62d9c ci: compile "linux-gcc-default" job with -Og
@@ Commit message
We have recently noticed that our CI does not always notice variables
that may be used uninitialized. While it is expected that compiler
- warnings aren't perfect, this one was a but puzzling because it was
+ warnings aren't perfect, this one was a bit puzzling because it was
rather obvious that the variable can be uninitialized.
Many compiler warnings unfortunately depend on the optimization level
@@ Commit message
Instead, adapt the "linux-gcc-default" job to compile with `-Og`. This
job is chosen because it uses the "ubuntu:latest" image and should thus
have a comparatively recent compiler toolchain, and because we have
- other jobs that use "ubuntu:latest" so that we do not loose coverage for
+ other jobs that use "ubuntu:latest" so that we do not lose coverage for
warnings diagnosed only on `-O2` level.
To make it easier to set up the optimization level in our CI, add
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
- ## Makefile ##
-@@ Makefile: endif
- # tweaked by config.* below as well as the command-line, both of
- # which'll override these defaults.
- # Older versions of GCC may require adding "-std=gnu99" at the end.
--CFLAGS = -g -O2 -Wall
-+O ?= 2
-+CFLAGS = -g -O$(O) -Wall
- LDFLAGS =
- CC_LD_DYNPATH = -Wl,-rpath,
- BASIC_CFLAGS = -I.
-
## ci/run-build-and-tests.sh ##
@@ ci/run-build-and-tests.sh: esac
run_tests=t
@@ ci/run-build-and-tests.sh: esac
+ # `-O2` will mask others. We thus use `-Og` here just so that we have
+ # at least one job with a different optimization level so that we can
+ # overall surface more warnings.
-+ export O=g
++ export CFLAGS_APPEND=-Og
+ ;;
linux-gcc)
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
--
2.45.2.436.gcd77e87115.dirty
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-06-07 6:46 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-06 6:30 [PATCH 0/2] ci: detect more warnings via `-Og` Patrick Steinhardt
2024-06-06 6:30 ` [PATCH 1/2] ci: fix check for Ubuntu 20.04 Patrick Steinhardt
2024-06-06 6:53 ` Jeff King
2024-06-06 7:44 ` Patrick Steinhardt
2024-06-06 6:30 ` [PATCH 2/2] ci: let pedantic job compile with -Og Patrick Steinhardt
2024-06-06 6:52 ` Jeff King
2024-06-06 7:41 ` Patrick Steinhardt
2024-06-06 8:05 ` Jeff King
2024-06-06 8:25 ` Patrick Steinhardt
2024-06-06 9:31 ` [PATCH v2 0/2] ci: detect more warnings via `-Og` Patrick Steinhardt
2024-06-06 9:31 ` [PATCH v2 1/2] ci: fix check for Ubuntu 20.04 Patrick Steinhardt
2024-06-06 9:31 ` [PATCH v2 2/2] ci: compile "linux-gcc-default" job with -Og Patrick Steinhardt
2024-06-06 15:32 ` Justin Tobler
2024-06-06 17:02 ` Junio C Hamano
2024-06-07 5:28 ` Patrick Steinhardt
2024-06-07 18:45 ` Junio C Hamano
2024-06-08 8:49 ` Jeff King
2024-06-07 18:48 ` Junio C Hamano
2024-06-07 20:35 ` Junio C Hamano
2024-06-07 6:46 ` Patrick Steinhardt [this message]
2024-06-07 6:46 ` [PATCH v3 1/4] ci: fix check for Ubuntu 20.04 Patrick Steinhardt
2024-06-07 6:46 ` [PATCH v3 2/4] Makefile: add ability to append to CFLAGS and LDFLAGS Patrick Steinhardt
2024-06-08 8:55 ` Jeff King
2024-06-08 19:01 ` Junio C Hamano
2024-06-10 7:01 ` Patrick Steinhardt
2024-06-07 6:46 ` [PATCH v3 3/4] ci: compile code with V=1 Patrick Steinhardt
2024-06-07 6:46 ` [PATCH v3 4/4] ci: compile "linux-gcc-default" job with -Og Patrick Steinhardt
2024-06-07 20:47 ` [PATCH v3 0/4] ci: detect more warnings via `-Og` Junio C Hamano
2024-06-08 9:28 ` Jeff King
2024-06-08 23:12 ` Junio C Hamano
2024-06-10 6:25 ` Patrick Steinhardt
2024-06-06 16:32 ` [PATCH 2/2] ci: let pedantic job compile with -Og Junio C Hamano
2024-06-07 5:10 ` Patrick Steinhardt
2024-06-07 18:42 ` Junio C Hamano
2024-06-10 6:38 ` [PATCH v4 0/2] ci: detect more warnings via `-Og` Patrick Steinhardt
2024-06-10 6:38 ` [PATCH v4 1/2] Makefile: add ability to append to CFLAGS and LDFLAGS Patrick Steinhardt
2024-06-10 6:38 ` [PATCH v4 2/2] ci: compile "linux-gcc-default" job with -Og Patrick Steinhardt
2024-06-10 16:06 ` Junio C Hamano
2024-06-10 18:36 ` [PATCH 1/2] DONTAPPLY: -Og fallout workaround Junio C Hamano
2024-06-10 20:05 ` Junio C Hamano
2024-06-11 12:09 ` Patrick Steinhardt
2024-06-11 17:30 ` Junio C Hamano
2024-06-12 4:42 ` Patrick Steinhardt
2024-06-12 4:45 ` Patrick Steinhardt
2024-06-10 18:36 ` [PATCH 2/2] DONTAPPLY: -Os " Junio C Hamano
2024-06-12 22:11 ` [PATCH v4 2/2] ci: compile "linux-gcc-default" job with -Og Junio C Hamano
2024-06-13 10:15 ` Jeff King
2024-06-13 15:47 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1717742752.git.ps@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.