On 15/01/2025 16:06, Iñaki Ucar wrote:
Dear R Core,

GCC 15 is already in Fedora rawhide, because it will be part of the next
release, Fedora 42. R 4.4.2 fails to build with the following error [1]:

sys-std.c:1189:1: warning: ‘noreturn’ attribute ignored [-Wattributes]
  1189 | void Rstd_CleanUp(SA_TYPE saveact, int status, int runLast)
       | ^~~~
sys-std.c:1189:1: error: expected identifier or ‘(’ before ‘void’

You failed to say that GCC 15 defaults to C23 (and they have not yet documented that).

I've seen some references to this in the source code, so this may be fixed
in R devel. If this is the case, it would be great if you could provide a
patch that I can apply to v4.4.2 until the next R release (or maybe I
should just specify an older C standard?).

Look at the definition of NORET in R_ext/Error.h.  You want r87411;

r87411 | ripley | 2024-12-01 10:11:10 +0000 (Sun, 01 Dec 2024) | 1 line

gcc pre-15 does not yet support [[noreturn]]

GCC 15 is not even at RC stage, and this is one of many undocumented changes -- so they have not even got to the documentation-fixing stage. This is a GCC issue -- both LLVM and Apple clang build R-patched in C23 mode.

We will port this to R-patched, unless GCC 15 is fixed before its or R-patched's release.

--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to