Message ID | 20240417161623.37166-1-amer.shanawany@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | selftests: filesystems: add missing stddef header | expand |
On 4/17/24 9:16 PM, Amer Al Shanawany wrote: > fix compiler warning and errors when compiling statmount test. The error description or the compiler with version is required to reproduce the error easily. I'm unable to reproduce the error by gcc 12 and clang 17. > > Signed-off-by: Amer Al Shanawany <amer.shanawany@gmail.com> > --- > tools/testing/selftests/filesystems/statmount/statmount_test.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/testing/selftests/filesystems/statmount/statmount_test.c b/tools/testing/selftests/filesystems/statmount/statmount_test.c > index 3eafd7da58e2..e6d7c4f1c85b 100644 > --- a/tools/testing/selftests/filesystems/statmount/statmount_test.c > +++ b/tools/testing/selftests/filesystems/statmount/statmount_test.c > @@ -3,6 +3,7 @@ > #define _GNU_SOURCE > > #include <assert.h> > +#include <stddef.h> > #include <stdint.h> > #include <sched.h> > #include <fcntl.h>
On 4/19/24 18:45, Muhammad Usama Anjum wrote: > On 4/17/24 9:16 PM, Amer Al Shanawany wrote: >> fix compiler warning and errors when compiling statmount test. > The error description or the compiler with version is required to reproduce > the error easily. I'm unable to reproduce the error by gcc 12 and clang 17. I'm using gcc 12.3 (Ubuntu 12.3.0-1ubuntu1~22.04), for the error please see the attached log file (statmount.txt) I was wondering if it's worth adding this include to kselftest.h >> >> Signed-off-by: Amer Al Shanawany <amer.shanawany@gmail.com> >> --- >> tools/testing/selftests/filesystems/statmount/statmount_test.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/tools/testing/selftests/filesystems/statmount/statmount_test.c b/tools/testing/selftests/filesystems/statmount/statmount_test.c >> index 3eafd7da58e2..e6d7c4f1c85b 100644 >> --- a/tools/testing/selftests/filesystems/statmount/statmount_test.c >> +++ b/tools/testing/selftests/filesystems/statmount/statmount_test.c >> @@ -3,6 +3,7 @@ >> #define _GNU_SOURCE >> >> #include <assert.h> >> +#include <stddef.h> >> #include <stdint.h> >> #include <sched.h> >> #include <fcntl.h> > Thanks Amer gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. make --no-print-directory -C /home/amer/Desktop/linux-next \ -f /home/amer/Desktop/linux-next/Makefile kselftest set -e; mkdir -p include/generated/uapi/linux/; trap "rm -f include/generated/uapi/linux/.tmp_version.h" EXIT; { if [ 0 -gt 255 ]; then echo \#define LINUX_VERSION_CODE 395775; else echo \#define LINUX_VERSION_CODE 395520; fi; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))'; echo \#define LINUX_VERSION_MAJOR 6; echo \#define LINUX_VERSION_PATCHLEVEL 9; echo \#define LINUX_VERSION_SUBLEVEL 0; } > include/generated/uapi/linux/.tmp_version.h; if [ ! -r include/generated/uapi/linux/version.h ] || ! cmp -s include/generated/uapi/linux/version.h include/generated/uapi/linux/.tmp_version.h; then : ' UPD include/generated/uapi/linux/version.h'; mv -f include/generated/uapi/linux/.tmp_version.h include/generated/uapi/linux/version.h; fi make -f ./scripts/Makefile.build obj=scripts/basic make -f ./scripts/Makefile.build obj=scripts scripts/unifdef make -f ./scripts/Makefile.asm-generic obj=arch/x86/include/generated/uapi/asm \ generic=include/uapi/asm-generic make -f ./scripts/Makefile.build obj=arch/x86/entry/syscalls all make -f ./scripts/Makefile.build obj=arch/x86/tools relocs make -f ./scripts/Makefile.headersinst obj=include/uapi make -f ./scripts/Makefile.headersinst obj=arch/x86/include/uapi make -C ./tools/testing/selftests run_tests make[3]: Entering directory '/home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount' gcc -Wall -O2 -g -isystem /home/amer/Desktop/linux-next/usr/include statmount_test.c -o /home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount/statmount_test statmount_test.c: In function ‘main’: statmount_test.c:572:24: warning: implicit declaration of function ‘offsetof’ [-Wimplicit-function-declaration] 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~~~ statmount_test.c:598:51: note: in expansion of macro ‘str_off’ 598 | test_statmount_string(STATMOUNT_MNT_ROOT, str_off(mnt_root), "mount root"); | ^~~~~~~ statmount_test.c:18:1: note: ‘offsetof’ is defined in header ‘<stddef.h>’; did you forget to ‘#include <stddef.h>’? 17 | #include "../../kselftest.h" +++ |+#include <stddef.h> 18 | statmount_test.c:572:33: error: expected expression before ‘struct’ 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~ statmount_test.c:598:51: note: in expansion of macro ‘str_off’ 598 | test_statmount_string(STATMOUNT_MNT_ROOT, str_off(mnt_root), "mount root"); | ^~~~~~~ statmount_test.c:572:33: error: expected expression before ‘struct’ 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~ statmount_test.c:599:52: note: in expansion of macro ‘str_off’ 599 | test_statmount_string(STATMOUNT_MNT_POINT, str_off(mnt_point), "mount point"); | ^~~~~~~ statmount_test.c:572:33: error: expected expression before ‘struct’ 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~ statmount_test.c:600:50: note: in expansion of macro ‘str_off’ 600 | test_statmount_string(STATMOUNT_FS_TYPE, str_off(fs_type), "fs type"); | ^~~~~~~ statmount_test.c:572:33: error: expected expression before ‘struct’ 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~ statmount_test.c:601:41: note: in expansion of macro ‘str_off’ 601 | test_statmount_string(all_mask, str_off(mnt_root), "mount root & all"); | ^~~~~~~ statmount_test.c:572:33: error: expected expression before ‘struct’ 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~ statmount_test.c:602:41: note: in expansion of macro ‘str_off’ 602 | test_statmount_string(all_mask, str_off(mnt_point), "mount point & all"); | ^~~~~~~ statmount_test.c:572:33: error: expected expression before ‘struct’ 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~ statmount_test.c:603:41: note: in expansion of macro ‘str_off’ 603 | test_statmount_string(all_mask, str_off(fs_type), "fs type & all"); | ^~~~~~~ statmount_test.c: In function ‘cleanup_namespace’: statmount_test.c:127:9: warning: ignoring return value of ‘fchdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 127 | fchdir(orig_root); | ^~~~~~~~~~~~~~~~~ statmount_test.c:128:9: warning: ignoring return value of ‘chroot’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 128 | chroot("."); | ^~~~~~~~~~~ make[3]: *** [../../lib.mk:203: /home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount/statmount_test] Error 1 make[3]: Leaving directory '/home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount' make[2]: *** [Makefile:191: all] Error 2 make[1]: *** [/home/amer/Desktop/linux-next/Makefile:1370: kselftest] Error 2 make: *** [Makefile:240: __sub-make] Error 2
On 4/20/24 8:56 PM, Amer Al Shanawany wrote: > On 4/19/24 18:45, Muhammad Usama Anjum wrote: >> On 4/17/24 9:16 PM, Amer Al Shanawany wrote: >>> fix compiler warning and errors when compiling statmount test. Following can be added to the description: statmount_test.c:572:24: warning: implicit declaration of function ‘offsetof’ [-Wimplicit-function-declaration] 572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t)) | ^~~~~~~~ statmount_test.c:598:51: note: in expansion of macro ‘str_off’ 598 | test_statmount_string(STATMOUNT_MNT_ROOT, str_off(mnt_root), "mount root"); | ^~~~~~~ statmount_test.c:18:1: note: ‘offsetof’ is defined in header ‘<stddef.h>’; did you forget to ‘#include <stddef.h>’? 17 | #include "../../kselftest.h" +++ |+#include <stddef.h> 18 | >> The error description or the compiler with version is required to reproduce >> the error easily. I'm unable to reproduce the error by gcc 12 and clang 17. > I'm using gcc 12.3 (Ubuntu 12.3.0-1ubuntu1~22.04), for the error please see the attached log file (statmount.txt) > I was wondering if it's worth adding this include to kselftest.h >>> >>> Signed-off-by: Amer Al Shanawany <amer.shanawany@gmail.com> Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com> >>> --- >>> tools/testing/selftests/filesystems/statmount/statmount_test.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/tools/testing/selftests/filesystems/statmount/statmount_test.c b/tools/testing/selftests/filesystems/statmount/statmount_test.c >>> index 3eafd7da58e2..e6d7c4f1c85b 100644 >>> --- a/tools/testing/selftests/filesystems/statmount/statmount_test.c >>> +++ b/tools/testing/selftests/filesystems/statmount/statmount_test.c >>> @@ -3,6 +3,7 @@ >>> #define _GNU_SOURCE >>> >>> #include <assert.h> >>> +#include <stddef.h> >>> #include <stdint.h> >>> #include <sched.h> >>> #include <fcntl.h> >> > > Thanks > > Amer
diff --git a/tools/testing/selftests/filesystems/statmount/statmount_test.c b/tools/testing/selftests/filesystems/statmount/statmount_test.c index 3eafd7da58e2..e6d7c4f1c85b 100644 --- a/tools/testing/selftests/filesystems/statmount/statmount_test.c +++ b/tools/testing/selftests/filesystems/statmount/statmount_test.c @@ -3,6 +3,7 @@ #define _GNU_SOURCE #include <assert.h> +#include <stddef.h> #include <stdint.h> #include <sched.h> #include <fcntl.h>
fix compiler warning and errors when compiling statmount test. Signed-off-by: Amer Al Shanawany <amer.shanawany@gmail.com> --- tools/testing/selftests/filesystems/statmount/statmount_test.c | 1 + 1 file changed, 1 insertion(+)