From b7e1eda932c74196d58e6b63644200b764b5453e Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 4 May 2020 12:10:04 +0900 Subject: Suppress warnings by gcc 10.1.0-RC-20200430 * Folding results should not be empty. If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn` wouldn't execute and `ncs` elements are not initialized. ``` enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] 557 | for (i = 0; i < ncs[0]; i++) { | ~~~^~~ ``` * Cast to `enum yytokentype` Additional enums for scanner events by ripper are not included in `yytokentype`. ``` ripper.y:7274:28: warning: implicit conversion from 'enum ' to 'enum yytokentype' [-Wenum-conversion] ``` --- enc/unicode.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'enc/unicode.c') diff --git a/enc/unicode.c b/enc/unicode.c index 6e8c3d8816..18fba02476 100644 --- a/enc/unicode.c +++ b/enc/unicode.c @@ -493,6 +493,10 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc, #endif if ((to = onigenc_unicode_fold_lookup(code)) != 0) { + if (OnigCodePointCount(to->n) == 0) { + /* any codepoint should not be empty */ + UNREACHABLE_RETURN(0); + } if (OnigCodePointCount(to->n) == 1) { OnigCodePoint orig_code = code; -- cgit v1.2.3