summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2021-05-27 16:40:26 +0900
committerGitHub <noreply@github.com>2021-05-27 16:40:26 +0900
commit5ed8cf7eb1e60eba81909336a540437fd74745d3 (patch)
tree3812b2c7a2377c54c059102c2bcc7329dc2af4be
parent127f0e286c284812c9cbfe0fe5849d949735f5ef (diff)
parente2ad91fc2094d3cc2f76adc6c55d420cd06f34d8 (diff)
downloadjson-5ed8cf7eb1e60eba81909336a540437fd74745d3.tar.gz
Merge pull request #469 from nobu/fix-ragel-warnings
parser: fix warnings against code generated by ragel
-rw-r--r--Rakefile3
-rw-r--r--ext/json/ext/parser/parser.c60
-rw-r--r--ext/json/ext/parser/parser.h4
3 files changed, 36 insertions, 31 deletions
diff --git a/Rakefile b/Rakefile
index 813a6d9..8de6ded 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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
diff --git a/ext/json/ext/parser/parser.c b/ext/json/ext/parser/parser.c
index a15d20a..b1dc881 100644
--- a/ext/json/ext/parser/parser.c
+++ b/ext/json/ext/parser/parser.c
@@ -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
};
@@ -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
};
@@ -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
};
@@ -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
};
@@ -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
};
@@ -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
};
@@ -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;
}
{
@@ -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;
}
{
@@ -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
};
diff --git a/ext/json/ext/parser/parser.h b/ext/json/ext/parser/parser.h
index 0992bbf..92ed3fd 100644
--- a/ext/json/ext/parser/parser.h
+++ b/ext/json/ext/parser/parser.h
@@ -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 */