diff mbox series

selftests: filesystems: add missing stddef header

Message ID 20240417161623.37166-1-amer.shanawany@gmail.com (mailing list archive)
State New
Headers show
Series selftests: filesystems: add missing stddef header | expand

Commit Message

Amer Al Shanawany April 17, 2024, 4:16 p.m. UTC
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(+)

Comments

Muhammad Usama Anjum April 19, 2024, 4:45 p.m. UTC | #1
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>
Amer Al Shanawany April 20, 2024, 3:56 p.m. UTC | #2
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
Muhammad Usama Anjum April 22, 2024, 5:17 a.m. UTC | #3
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 mbox series

Patch

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>