[Redirecting to [email protected].]

Tijl Coosemans wrote:
> Autoconf 2.73 is more problematic.  They've changed AC_PROG_CC to enable
> C23 mode if the compiler supports it, but old code doesn't magically
> become C23 compatible of course.  IMHO they should leave old macros
> alone and introduce AC_PROG_C23 or something.

Things depend on the degree of compatibility of a language version and its
previous version.

For C, ISO C 23 is mostly compatible to the previous ISO C 17. We have been
testing the AC_PROG_CC that enables C23 mode automatically for more than a
year before releasing it in Autoconf 2.73 (in Gnulib: since 2024-11-17),
and encountered issues only in two areas:
  - function pointer types with no parameters (() was equivalent to (...)
    before C23),
  - the 'register' keyword.

In the FreeBSD ports, it appears that only 7 out of ca. 35000 packages are
affected by this change [1]. Which I would consider as a very small amount of
breakage.

For C++, on the other hand, the incompabilities from C++17 to C++20 are
large enough that AC_PROG_CXX does *not* attempt to force C++20 on every
package's compilation.

Bruno

[1] 
https://cgit.freebsd.org/ports/commit/?id=4c463df3afd4e57a851c625e87fd729179785c79




  • Re: autop... Zack Weinberg
    • Re: ... Frederic Berat via Discussion list for the autoconf build system
    • Re: ... Bruno Haible via Discussion list for the autoconf build system
      • ... Zack Weinberg

Reply via email to