: they are part of its packaging on some Linux

distributions and packaged separately (e.g.

The system headers will be required in a future release of

despite a change in major version number it changes neither API

The makefiles and installer scripts for Windows have been

MinGW-W64, binutils and libraries.  At this time R-devel can still

be built using Rtools42 without changes, but when R-devel is

installed via the installer, it will by default look for Rtools43.

Default builds (including for packages) no longer select

C99.  Thus the C standard used is the default for the compiler,

The default C++ standard has been changed to C++17 where

available (which it is on all currently checked platforms): if not

C++14 or C++11 is used if available otherwise C++ is not supported.

correct (compiler-dependent) prototypes for Fortran BLAS/LAPACK

routines called from C/C++, and requires adjustment of many such

%% 2022-09 Recent LLVM (>= 13?) and Apple (>= 13?) clang support c++2b.

There is initial support for C++23 as several compilers are

C++23 features beyond a check that the compiler reports a

value greater than that in the C++20 standard.

There is support for a package to indicate the version of

the C standard which should be used to compile it, and for the

installing user to specify this.  In most cases

C compiler's default standard which is C17 (a `bug-fix' of C11) --

Use a standard that is at most C17.  The

intention is to allow legacy packages to still be installed when

later C standards become the default, including packages

using new keywords as identifiers or with K&R-style function

declarations.  This will use C17 if available, falling back

Use the C90 (aka C89) standard.  (As that standard

did not require compilers to identify that version, all we can

verify is that the compiler does not claim to be using a later

standard.  It may accept C99 features -- for example

Use the C99 standard. This should be rarely

needed -- it avoids the few new features of C11/C17 which can

be useful if a package assumes them if C17 is specified and