aboutsummaryrefslogtreecommitdiffstats
path: root/internal
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-10-30 21:21:50 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-11-07 23:19:51 +0900
commit8becc889dbbacbc774c069f9e3da94f41b81efc2 (patch)
treee4255a819a0e7da3f197d126b1ea582feee2c147 /internal
parentf2d6b41c8ebcd49debbc6902a9556324dff6c0f8 (diff)
downloadruby-8becc889dbbacbc774c069f9e3da94f41b81efc2.tar.gz
Suppress array-bounds warnings from gcc 13
Diffstat (limited to 'internal')
-rw-r--r--internal/array.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/internal/array.h b/internal/array.h
index 66017129c8..39f6fcbea6 100644
--- a/internal/array.h
+++ b/internal/array.h
@@ -136,9 +136,16 @@ RBIMPL_ATTR_ARTIFICIAL()
static inline VALUE
RARRAY_AREF(VALUE ary, long i)
{
+ VALUE val;
RBIMPL_ASSERT_TYPE(ary, RUBY_T_ARRAY);
- return RARRAY_CONST_PTR(ary)[i];
+ RBIMPL_WARNING_PUSH();
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ == 13
+ RBIMPL_WARNING_IGNORED(-Warray-bounds);
+#endif
+ val = RARRAY_CONST_PTR(ary)[i];
+ RBIMPL_WARNING_POP();
+ return val;
}
#endif /* INTERNAL_ARRAY_H */