Skip to content

Commit 10a9021

Browse files
committed
preload: Fix pointer-to-enum cast
clang 11 raised a `-Werror=void-pointer-to-enum-cast` on this. Cast the pointer twice to avoid this, like glib's `GPOINTER_TO_INT` does. Run dnf tests with clang to reproduce this. Fixes #116
1 parent 946f3dd commit 10a9021

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

src/libumockdev-preload.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,7 @@ script_record_open(int fd)
922922
assert(r);
923923
r = fd_map_get(&script_dev_format_map, fd_dev, &data);
924924
assert(r);
925-
fmt = (enum script_record_format) data;
925+
fmt = (enum script_record_format) (long) data;
926926

927927
DBG(DBG_SCRIPT, "script_record_open: start recording fd %i on device %i:%i into %s (format %i)\n",
928928
fd, major(fd_dev), minor(fd_dev), logname, fmt);

tests/run-dnf

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ else
2727
fi
2828
2929
# install build dependencies
30-
dnf -y \${repos:-} install meson git gcc glib2-devel gtk-doc libgudev1-devel libtool libudev-devel make python3 python3-gobject-base usbutils vala xz systemd-udev valgrind \$packages
30+
dnf -y \${repos:-} install meson git gcc clang glib2-devel gtk-doc libgudev1-devel libtool libudev-devel make python3 python3-gobject-base usbutils vala xz systemd-udev valgrind \$packages
3131
3232
# run build as user
3333
useradd guest
@@ -43,6 +43,11 @@ if [ "\$coverage" = true ]; then
4343
meson test -v --num-processes=1 --setup valgrind --no-suite fails-valgrind
4444
cat meson-logs/coverage.txt
4545
fi
46+
47+
# build with clang
48+
cd /source
49+
CC=clang meson setup /tmp/clang -Dgtk_doc=false
50+
meson test -C /tmp/clang -v --num-processes=1
4651
EOG
4752
4853
EOF

0 commit comments

Comments
 (0)