]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: refuse implicit int <-> pointer conversion
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 24 Sep 2021 15:16:20 +0000 (00:16 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 24 Sep 2021 22:11:13 +0000 (07:11 +0900)
Before:
```
Compiling C object src/libsystemd-network/libsystemd-network.a.p/dhcp6-option.c.o
../src/libsystemd-network/dhcp6-option.c: In function ‘dhcp6_option_parse_ia’:
../src/libsystemd-network/dhcp6-option.c:633:70: warning: passing argument 3 of ‘dhcp6_option_parse’ makes pointer from integer without a cast [-Wint-conversion]
  633 |                 r = dhcp6_option_parse(option_data, option_data_len, offset, &subopt, &subdata_len, &subdata);
      |                                                                      ^~~~~~
      |                                                                      |
      |                                                                      size_t {aka long unsigned int}
../src/libsystemd-network/dhcp6-option.c:358:25: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘size_t’ {aka ‘long unsigned int’}
  358 |                 size_t *offset,
      |                 ~~~~~~~~^~~~~~
```

After:
```
../src/libsystemd-network/dhcp6-option.c: In function ‘dhcp6_option_parse_ia’:
../src/libsystemd-network/dhcp6-option.c:633:70: error: passing argument 3 of ‘dhcp6_option_parse’ makes pointer from integer without a cast [-Werror=int-conversion]
  633 |                 r = dhcp6_option_parse(option_data, option_data_len, offset, &subopt, &subdata_len, &subdata);
      |                                                                      ^~~~~~
      |                                                                      |
      |                                                                      size_t {aka long unsigned int}
../src/libsystemd-network/dhcp6-option.c:358:25: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘size_t’ {aka ‘long unsigned int’}
  358 |                 size_t *offset,
      |                 ~~~~~~~~^~~~~~
cc1: some warnings being treated as errors
```

meson.build

index 1447f555215815c13ebec7ed9dddad2004937053..9db035c3b794c0ab46dab8887a87e331edb8b30f 100644 (file)
@@ -340,6 +340,7 @@ possible_common_cc_flags = [
         '-Werror=format=2',
         '-Werror=implicit-function-declaration',
         '-Werror=incompatible-pointer-types',
+        '-Werror=int-conversion',
         '-Werror=overflow',
         '-Werror=return-type',
         '-Werror=shift-count-overflow',