Skip to content

Commit 099154d

Browse files
author
ripley
committed
tweaks, including about -pipe
git-svn-id: https://svn.r-project.org/R/trunk@85809 00db46b3-68df-0310-9c12-caf00c1e9a41
1 parent 485d859 commit 099154d

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

doc/manual/R-exts.texi

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5088,10 +5088,10 @@ See section `Customizing package compilation' in the `R Installation and
50885088
Administration' 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

50965096
If 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
51295129
only cancel built-in defines (not portable) and those defined earlier on
51305130
the 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+
51325137
People have used @command{configure} to customize @file{src/Makevars},
51335138
including for specific compilers. This is unsafe for several reasons.
51345139
First, 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
51745179
standards but are used in C code by @R{} itself).
51755180

51765181
Note 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
51805187
Under no circumstances should your compiled code ever call @code{abort}

0 commit comments

Comments
 (0)