@@ -5088,10 +5088,10 @@ See section `Customizing package compilation' in the `R Installation and
50885088Administration' manual for more information.
50895089@end ifclear
50905090
5091- Portable C++ code needs to follow both the 2011, 2014 and 2017 standards
5092- or to specify C+11/14/17/20 where available (which is not the case on
5093- all @R{} platforms). Currently C++20 support is patchy across @R{}
5094- platforms.
5091+ Portable C++ code needs to follow all of the 2011, 2014 and 2017
5092+ standards or to specify C+11/14/17/20/23 where available (which is not the
5093+ case on all @R{} platforms). Currently C++20 support is patchy across
5094+ @R{} platforms.
50955095
50965096If using Fortran with the GNU compiler, use the flags @option{-std=f95
50975097-Wall -pedantic} which reject most GNU extensions and features from
@@ -5129,6 +5129,11 @@ although @option{-pthread} is pretty close to portable. (Option
51295129only cancel built-in defines (not portable) and those defined earlier on
51305130the command line (@R{} does not use any).)
51315131
5132+ Thw GBU option @option{-pipe} used to be widely accepted by
5133+ C/C++/Fortran compilers, but has been removed in
5134+ @w{@command{flang-new} 18}. In any case, it should not be used in
5135+ distributed code as it may lead to excessive memory use.
5136+
51325137People have used @command{configure} to customize @file{src/Makevars},
51335138including for specific compilers. This is unsafe for several reasons.
51345139First, unintended compilers might meet the check---for example, several
@@ -5174,7 +5179,9 @@ and @code{<cstdint>}: they are not required to be implemented by the
51745179standards but are used in C code by @R{} itself).
51755180
51765181Note that @code{integer} in Fortran corresponds to @code{int} in C on
5177- all @R{} platforms.
5182+ all @R{} platforms. There is no such guarantee for Fortran
5183+ @code{logical}, and recent @command{gfortran} maps it to
5184+ @code{int_least32_t} on most platforms.
51785185
51795186@item
51805187Under no circumstances should your compiled code ever call @code{abort}
0 commit comments