1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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 <anonymous>' to 'enum yytokentype' [-Wenum-conversion]
  ```
This commit is contained in:
Nobuyoshi Nakada 2020-05-04 12:10:04 +09:00
parent 39bd1244b4
commit b7e1eda932
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
2 changed files with 13 additions and 1 deletions

View file

@ -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;

View file

@ -1,12 +1,20 @@
enum {
tIGNORED_NL = tLAST_TOKEN + 1,
# define tIGNORED_NL ((enum yytokentype)tIGNORED_NL)
tCOMMENT,
# define tCOMMENT ((enum yytokentype)tCOMMENT)
tEMBDOC_BEG,
# define tEMBDOC_BEG ((enum yytokentype)tEMBDOC_BEG)
tEMBDOC,
# define tEMBDOC ((enum yytokentype)tEMBDOC)
tEMBDOC_END,
# define tEMBDOC_END ((enum yytokentype)tEMBDOC_END)
tHEREDOC_BEG,
# define tHEREDOC_BEG ((enum yytokentype)tHEREDOC_BEG)
tHEREDOC_END,
k__END__
# define tHEREDOC_END ((enum yytokentype)tHEREDOC_END)
k__END__,
# define k__END__ ((enum yytokentype)k__END__)
};
typedef struct {