GCC 15.1 is released, and we can update some commentary now. --- doc/gnulib.texi | 2 +- lib/diffseq.h | 2 +- m4/gnulib-common.m4 | 7 +++++-- tests/test-sprintf-posix.h | 3 ++- 4 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/doc/gnulib.texi b/doc/gnulib.texi index 3ffd5b88c2..b49109e02b 100644 --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -1076,7 +1076,7 @@ nullptr @item GCC 14 defines @code{nullptr_t} even when @code{<stddef.h>} is not -included. This bug should be fixed in GCC 15. +included. This bug is fixed in GCC 15. @end itemize @node static_assert diff --git a/lib/diffseq.h b/lib/diffseq.h index 8a823f98ea..9a454a6c91 100644 --- a/lib/diffseq.h +++ b/lib/diffseq.h @@ -93,7 +93,7 @@ #endif /* Suppress gcc's "...may be used before initialized" warnings, - generated by GCC versions up to at least GCC 14.2. + generated by GCC versions up to at least GCC 15.1. Likewise for gcc -fanalyzer's "use of uninitialized value" warnings. */ #if _GL_GNUC_PREREQ (4, 7) # pragma GCC diagnostic push diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index daf05db2a4..4dd3b16f1d 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -117,6 +117,9 @@ AC_DEFUN([gl_COMMON_BODY] # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) # else # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +/* The following lines list the first GCC version that supports the attribute. + Although the lines are not used in GCC 5 and later (as GCC 5 introduced + __has_attribute support), list GCC versions 5+ anyway for completeness. */ # define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) # define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) # define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) @@ -141,10 +144,10 @@ AC_DEFUN([gl_COMMON_BODY] # define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) # define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) # define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) -# define _GL_ATTR_reproducible 0 /* not yet supported, as of GCC 14 */ +# define _GL_ATTR_reproducible _GL_GNUC_PREREQ (15, 1) # define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) # define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) -# define _GL_ATTR_unsequenced 0 /* not yet supported, as of GCC 14 */ +# define _GL_ATTR_unsequenced _GL_GNUC_PREREQ (15, 1) # define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) # endif diff --git a/tests/test-sprintf-posix.h b/tests/test-sprintf-posix.h index f84ddf11c6..aa09853651 100644 --- a/tests/test-sprintf-posix.h +++ b/tests/test-sprintf-posix.h @@ -3167,7 +3167,8 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) and an initial shift state." */ /* This test is known to fail - on musl libc, - - with gcc 14 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114876> */ + - with GCC 14.1, 13.2, 12.3, and 11.4 + <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114876> */ ASSERT (memcmp (result, "a\0z 33\0", 6 + 1) == 0); ASSERT (retval == 6); } -- 2.49.0