Compare commits

...

3 Commits

Author SHA1 Message Date
Christopher Haster
47914b925f Fixed self-assign warnings discovered by clang 2022-09-07 12:46:29 -05:00
Christopher Haster
30175de384 Remove -Wshadow -Wjump-misses-init -Wundef
Doing this now specifically because clang does not have
-Wjump-misses-init, but I've been looking for an excuse to remove these
for a while.

These warning flags create more annoyance than they add value. There is
probably a reason they aren't included in -Wall + -Wextra.

-Wshadow specifically is potentially harmful as it forces coming up with
new, sometimes less descriptive names for repeated variables.

Dependent projects should use different flags for their dependencies if
this introduces problems.
2022-09-07 12:38:04 -05:00
Christopher Haster
23747628d5 Added clang build step to CI
As found by dpgeorge, clang has slightly different warnings than GCC.
There's really no cost to running clang as an extra build step to test
for these.
2022-09-07 12:34:52 -05:00
3 changed files with 22 additions and 7 deletions

View File

@@ -292,6 +292,27 @@ jobs:
- name: test-valgrind
run: make test TESTFLAGS+="-k --valgrind"
# test that compilation is warning free under clang
clang:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: install
run: |
# need toml, also pip3 isn't installed by default?
sudo apt-get update -qq
sudo apt-get install -qq python3 python3-pip
sudo pip3 install toml
- name: install-clang
run: |
sudo apt-get update -qq
sudo apt-get install -qq clang
echo "CC=clang" >> $GITHUB_ENV
clang --version
# no reason to not test again
- name: test-clang
run: make test TESTFLAGS+="-k"
# self-host with littlefs-fuse for a fuzz-like test
fuse:
runs-on: ubuntu-20.04

View File

@@ -41,8 +41,7 @@ override CFLAGS += -DLFS_YES_TRACE
endif
override CFLAGS += -g3
override CFLAGS += -I.
override CFLAGS += -std=c99 -Wall -pedantic
override CFLAGS += -Wextra -Wshadow -Wjump-misses-init -Wundef
override CFLAGS += -std=c99 -Wall -Wextra -pedantic
ifdef VERBOSE
override TESTFLAGS += -v

5
lfs.c
View File

@@ -865,11 +865,6 @@ static int lfs_dir_traverse(lfs_t *lfs,
};
sp += 1;
dir = dir;
off = off;
ptag = ptag;
attrs = attrs;
attrcount = attrcount;
tmask = 0;
ttag = 0;
begin = 0;