[前][次][番号順一覧][スレッド一覧]

ruby-changes:66265

From: Nobuyoshi <ko1@a...>
Date: Tue, 18 May 2021 23:28:16 +0900 (JST)
Subject: [ruby-changes:66265] 7c716b686c (master): ext/json/parser/prereq.mk: fix warnings for code generated by ragel

https://git.ruby-lang.org/ruby.git/commit/?id=7c716b686c

From 7c716b686ca396733028f9a824f8cd656e23f7a2 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Tue, 18 May 2021 11:48:21 +0900
Subject: ext/json/parser/prereq.mk: fix warnings for code generated by ragel

* type-limits when plain-char is unsigned
* unused-const-variable for NFA constants
---
 ext/json/parser/parser.c  | 60 +++++++++++++++++++++++------------------------
 ext/json/parser/prereq.mk |  5 ++--
 2 files changed, 33 insertions(+), 32 deletions(-)

diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c
index a15d20a..b1dc881 100644
--- a/ext/json/parser/parser.c
+++ b/ext/json/parser/parser.c
@@ -109,22 +109,22 @@ enum {JSON_object_error = 0}; https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L109
 
 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}; https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L767
 
 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}; https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L1429
 
 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}; https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L1582
 
 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}; https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L1893
 
 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}; https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L2498
 
 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 https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L2594
 				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 https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L2634
 		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}; https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L2924
 
 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/parser/prereq.mk b/ext/json/parser/prereq.mk
index 9111431..fc59169 100644
--- a/ext/json/parser/prereq.mk
+++ b/ext/json/parser/prereq.mk
@@ -6,7 +6,8 @@ RAGEL = ragel https://github.com/ruby/ruby/blob/trunk/ext/json/parser/prereq.mk#L6
 	$(RAGEL) -G2 $<
 	$(BASERUBY) -pli -e '$$_.sub!(/[ \t]+$$/, "")' \
 	-e '$$_.sub!(/^static const int (JSON_.*=.*);$$/, "enum {\\1};")' \
-	-e '$$_.sub!(/0 <= \(\*p\) && \(\*p\) <= 31/, "0 <= (signed char)(*p) && (*p) <= 31")' \
-	-e '$$_ = "/* This file is automatically generated from parser.rl by using ragel */" + $$_ if $$. == 1' $@
+	-e '$$_.sub!(/^(static const char) (_JSON(?:_\w+)?_nfa_\w+)(?=\[\] =)/, "\\1 MAYBE_UNUSED(\\2)")' \
+	-e '$$_.sub!(/0 <= ([\( ]+\*[\( ]*p\)+) && \1 <= 31/, "0 <= (signed char)(*(p)) && (*(p)) <= 31")' \
+	-e '$$_ = "/* This file is automatically generated from parser.rl by using ragel */\n" + $$_ if $$. == 1' $@
 
 parser.c:
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]