Skip to content

Commit 042176e

Browse files
author
ripley
committed
update compiler versions history
git-svn-id: https://svn.r-project.org/R/trunk@87680 00db46b3-68df-0310-9c12-caf00c1e9a41
1 parent aec70cc commit 042176e

File tree

3 files changed

+22
-9
lines changed

3 files changed

+22
-9
lines changed

doc/manual/R-exts.texi

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5894,14 +5894,17 @@ standards and the @code{<tr1/@var{name}>} headers are not supplied by some of
58945894
the compilers used for @R{}, including on macOS. (Use the C++11
58955895
versions instead.)
58965896

5897-
@c Centos had 10 years of support, for Centos 7 expiring in June 2024.
58985897
@c RHEL has 10 years, with more extended support, up to 4 years.
58995898
@c Ubuntu LTS has 5 years' general support and 8 extended support.
59005899
@c Ubuntu 16.04 (EOL 2021-04) came with GCC 5.4 but 7 was available
59015900
@c Ubuntu 18.04 came with GCC 7.3 or 7.4.
5902-
@c RHEL/Centos 6 came with GCC 4.4.
5903-
@c RHEL/Centos 7 came with GCC 4.8, with 4.4 available.
5904-
@c RHEL/Centos 8 has GCC 8.
5901+
@c Ubuntu 20.04 came with GCC 9.4
5902+
@c Ubuntu 22.04 came with GCC 11
5903+
@c RHEL 6 came with GCC 4.4.
5904+
@c RHEL 7 came with GCC 4.8, with 4.4 available.
5905+
@c RHEL 8 has GCC 8 with 9 available
5906+
@c RHEL 9 has GCC 11
5907+
@c All versions of Cwntos is now EOL.
59055908
A common error is to assume recent versions of compilers or OSes. In
59065909
production environments `long term support' versions of OSes may be in
59075910
use for many years,@footnote{Ubuntu provides 5 years of support (but

src/include/R_ext/Boolean.h

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* R : A Computer Language for Statistical Data Analysis
3-
* Copyright (C) 2000, 2001 The R Core Team.
3+
* Copyright (C) 2000, 2025 The R Core Team.
44
*
55
* This header file is free software; you can redistribute it and/or modify
66
* it under the terms of the GNU Lesser General Public License as published by
@@ -29,13 +29,22 @@
2929
#undef FALSE
3030
#undef TRUE
3131

32-
#ifdef __cplusplus
32+
// Fer now, only when the compiler claims to be a C23 compiler.
33+
34+
#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
35+
typedef bool Rboolean;
36+
# define FALSE false
37+
# define TRUE true
38+
# define _R_RBOOLEAN_IS_BOOL_ 1
39+
#else
40+
# ifdef __cplusplus
3341
extern "C" {
34-
#endif
42+
# endif
3543
typedef enum { FALSE = 0, TRUE /*, MAYBE */ } Rboolean;
3644

37-
#ifdef __cplusplus
45+
# ifdef __cplusplus
3846
}
47+
# endif
3948
#endif
4049

4150
#endif /* R_EXT_BOOLEAN_H_ */

src/include/R_ext/RStartup.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ typedef struct
7373
R_SIZE_T max_vsize;
7474
R_SIZE_T max_nsize;
7575
R_SIZE_T ppsize;
76-
Rboolean NoRenviron : 16;
76+
// This used to be Rboolean, but that is not guaraneteed to have >= 16 bits
77+
int NoRenviron : 16;
7778
/* RstartVersion has been added in R 4.2.0. Earlier, NoRenviron was an
7879
int (normally 32-bit like Rboolean), so on most machines the
7980
version would become 0 when setting NoRenviron to FALSE in

0 commit comments

Comments
 (0)