Skip to content

meson: C type error in strtod_l/strtof_l probe

Florian Weimer requested to merge fweimer/mesa:c99 into main

Future compilers will fail compilation due to the C type error:

…/testfile.c: In function 'main':
…/testfile.c:12:30: error: passing argument 2 of 'strtod_l' from incompatible pointer type
   12 |       double d = strtod_l(s, end, loc);
      |                              ^~~
      |                              |
      |                              char *
/usr/include/stdlib.h:416:43: note: expected 'char ** restrict' but argument is of type 'char *'
  416 |                         char **__restrict __endptr, locale_t __loc)
      |                         ~~~~~~~~~~~~~~~~~~^~~~~~~~
…/testfile.c:13:29: error: passing argument 2 of 'strtof_l' from incompatible pointer type
   13 |       float f = strtof_l(s, end, loc);
      |                             ^~~
      |                             |
      |                             char *
/usr/include/stdlib.h:420:42: note: expected 'char ** restrict' but argument is of type 'char *'
  420 |                        char **__restrict __endptr, locale_t __loc)
      |                        ~~~~~~~~~~~~~~~~~~^~~~~~~~

This means that the probe no longer tests is objective and always fails.

Related to:

Merge request reports