Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

parser: fix warnings against code generated by ragel #469

Merged
merged 1 commit into from May 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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