All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.