Skip to content

Commit

Permalink
Merge pull request #469 from nobu/fix-ragel-warnings
Browse files Browse the repository at this point in the history
parser: fix warnings against code generated by ragel
  • Loading branch information
hsbt committed May 27, 2021
2 parents 127f0e2 + e2ad91f commit 5ed8cf7
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 31 deletions.
3 changes: 2 additions & 1 deletion Rakefile
Expand Up @@ -282,7 +282,8 @@ else
end
src = File.read("parser.c").gsub(/[ \t]+$/, '')
src.gsub!(/^static const int (JSON_.*=.*);$/, 'enum {\1};')
src.gsub!(/0 <= \(\*p\) && \(\*p\) <= 31/, "0 <= (signed char)(*p) && (*p) <= 31")
src.gsub!(/^(static const char) (_JSON(?:_\w+)?_nfa_\w+)(?=\[\] =)/, '\1 MAYBE_UNUSED(\2)')
src.gsub!(/0 <= ([\( ]+\*[\( ]*p\)+) && \1 <= 31/, "0 <= (signed char)(*(p)) && (*(p)) <= 31")
src[0, 0] = "/* This file is automatically generated from parser.rl by using ragel */"
File.open("parser.c", "w") {|f| f.print src}
end
Expand Down
60 changes: 30 additions & 30 deletions ext/json/ext/parser/parser.c
Expand Up @@ -109,22 +109,22 @@ enum {JSON_object_error = 0};

enum {JSON_object_en_main = 1};

static const char _JSON_object_nfa_targs[] = {
static const char MAYBE_UNUSED(_JSON_object_nfa_targs)[] = {
0, 0
};

static const char _JSON_object_nfa_offsets[] = {
static const char MAYBE_UNUSED(_JSON_object_nfa_offsets)[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};

static const char _JSON_object_nfa_push_actions[] = {
static const char MAYBE_UNUSED(_JSON_object_nfa_push_actions)[] = {
0, 0
};

static const char _JSON_object_nfa_pop_trans[] = {
static const char MAYBE_UNUSED(_JSON_object_nfa_pop_trans)[] = {
0, 0
};

Expand Down Expand Up @@ -767,22 +767,22 @@ enum {JSON_value_error = 0};

enum {JSON_value_en_main = 1};

static const char _JSON_value_nfa_targs[] = {
static const char MAYBE_UNUSED(_JSON_value_nfa_targs)[] = {
0, 0
};

static const char _JSON_value_nfa_offsets[] = {
static const char MAYBE_UNUSED(_JSON_value_nfa_offsets)[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0
};

static const char _JSON_value_nfa_push_actions[] = {
static const char MAYBE_UNUSED(_JSON_value_nfa_push_actions)[] = {
0, 0
};

static const char _JSON_value_nfa_pop_trans[] = {
static const char MAYBE_UNUSED(_JSON_value_nfa_pop_trans)[] = {
0, 0
};

Expand Down Expand Up @@ -1429,19 +1429,19 @@ enum {JSON_integer_error = 0};

enum {JSON_integer_en_main = 1};

static const char _JSON_integer_nfa_targs[] = {
static const char MAYBE_UNUSED(_JSON_integer_nfa_targs)[] = {
0, 0
};

static const char _JSON_integer_nfa_offsets[] = {
static const char MAYBE_UNUSED(_JSON_integer_nfa_offsets)[] = {
0, 0, 0, 0, 0, 0, 0
};

static const char _JSON_integer_nfa_push_actions[] = {
static const char MAYBE_UNUSED(_JSON_integer_nfa_push_actions)[] = {
0, 0
};

static const char _JSON_integer_nfa_pop_trans[] = {
static const char MAYBE_UNUSED(_JSON_integer_nfa_pop_trans)[] = {
0, 0
};

Expand Down Expand Up @@ -1582,20 +1582,20 @@ enum {JSON_float_error = 0};

enum {JSON_float_en_main = 1};

static const char _JSON_float_nfa_targs[] = {
static const char MAYBE_UNUSED(_JSON_float_nfa_targs)[] = {
0, 0
};

static const char _JSON_float_nfa_offsets[] = {
static const char MAYBE_UNUSED(_JSON_float_nfa_offsets)[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0
};

static const char _JSON_float_nfa_push_actions[] = {
static const char MAYBE_UNUSED(_JSON_float_nfa_push_actions)[] = {
0, 0
};

static const char _JSON_float_nfa_pop_trans[] = {
static const char MAYBE_UNUSED(_JSON_float_nfa_pop_trans)[] = {
0, 0
};

Expand Down Expand Up @@ -1893,21 +1893,21 @@ enum {JSON_array_error = 0};

enum {JSON_array_en_main = 1};

static const char _JSON_array_nfa_targs[] = {
static const char MAYBE_UNUSED(_JSON_array_nfa_targs)[] = {
0, 0
};

static const char _JSON_array_nfa_offsets[] = {
static const char MAYBE_UNUSED(_JSON_array_nfa_offsets)[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0
};

static const char _JSON_array_nfa_push_actions[] = {
static const char MAYBE_UNUSED(_JSON_array_nfa_push_actions)[] = {
0, 0
};

static const char _JSON_array_nfa_pop_trans[] = {
static const char MAYBE_UNUSED(_JSON_array_nfa_pop_trans)[] = {
0, 0
};

Expand Down Expand Up @@ -2498,20 +2498,20 @@ enum {JSON_string_error = 0};

enum {JSON_string_en_main = 1};

static const char _JSON_string_nfa_targs[] = {
static const char MAYBE_UNUSED(_JSON_string_nfa_targs)[] = {
0, 0
};

static const char _JSON_string_nfa_offsets[] = {
static const char MAYBE_UNUSED(_JSON_string_nfa_offsets)[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};

static const char _JSON_string_nfa_push_actions[] = {
static const char MAYBE_UNUSED(_JSON_string_nfa_push_actions)[] = {
0, 0
};

static const char _JSON_string_nfa_pop_trans[] = {
static const char MAYBE_UNUSED(_JSON_string_nfa_pop_trans)[] = {
0, 0
};

Expand Down Expand Up @@ -2594,7 +2594,7 @@ static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *resu
goto st3;
}
}
if ( 0 <= ( (*( p))) && ( (*( p))) <= 31 ) {
if ( 0 <= (signed char)(*(p)) && (*(p)) <= 31 ) {
goto st0;
}
{
Expand Down Expand Up @@ -2634,7 +2634,7 @@ static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *resu
if ( ( (*( p))) == 117 ) {
goto st4;
}
if ( 0 <= ( (*( p))) && ( (*( p))) <= 31 ) {
if ( 0 <= (signed char)(*(p)) && (*(p)) <= 31 ) {
goto st0;
}
{
Expand Down Expand Up @@ -2924,20 +2924,20 @@ enum {JSON_error = 0};

enum {JSON_en_main = 1};

static const char _JSON_nfa_targs[] = {
static const char MAYBE_UNUSED(_JSON_nfa_targs)[] = {
0, 0
};

static const char _JSON_nfa_offsets[] = {
static const char MAYBE_UNUSED(_JSON_nfa_offsets)[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0
};

static const char _JSON_nfa_push_actions[] = {
static const char MAYBE_UNUSED(_JSON_nfa_push_actions)[] = {
0, 0
};

static const char _JSON_nfa_pop_trans[] = {
static const char MAYBE_UNUSED(_JSON_nfa_pop_trans)[] = {
0, 0
};

Expand Down
4 changes: 4 additions & 0 deletions ext/json/ext/parser/parser.h
Expand Up @@ -13,6 +13,10 @@
#include "st.h"
#endif

#ifndef MAYBE_UNUSED
# define MAYBE_UNUSED(x) x
#endif

#define option_given_p(opts, key) RTEST(rb_funcall(opts, i_key_p, 1, key))

/* unicode */
Expand Down

0 comments on commit 5ed8cf7

Please sign in to comment.