Problem: CI is not run with clang 21
Solution: Update CI to v21, fix a few warnings that are uncovered when
using clang 21 (Philip H)
closes: #18142
Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
env:
CC: ${{ matrix.compiler }}
GCC_VER: 14
- CLANG_VER: 20
+ CLANG_VER: 21
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE
# undef SIZEOF_TIME_T
#endif
-#ifdef __GNUC__
+#if defined(__GNUC__) || defined(__clang__)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wunused-parameter"
#endif
+
+#if defined(__clang__) && (__clang_major__ >= 21)
+# pragma GCC diagnostic ignored "-Wdefault-const-init-field-unsafe"
+#endif
+
#include <ruby.h>
-#ifdef __GNUC__
+#include <ruby/encoding.h>
+
+#if defined(__GNUC__) || defined(__clang__)
# pragma GCC diagnostic pop
#endif
-#include <ruby/encoding.h>
// See above.
#ifdef SIZEOF_TIME_T
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1729,
/**/
1728,
/**/