]> granicus.if.org Git - re2c/commitdiff
Suppress -Wnullable warning on <> condition (it has no regexp -- always empty).
authorUlya Trofimovich <skvadrik@gmail.com>
Tue, 13 Nov 2018 23:38:02 +0000 (23:38 +0000)
committerUlya Trofimovich <skvadrik@gmail.com>
Tue, 13 Nov 2018 23:38:02 +0000 (23:38 +0000)
re2c/src/re/nullable.cc
re2c/test/condition_02.c.c
re2c/test/condition_02.cg.c
re2c/test/condition_03.cg.c
re2c/test/condition_11.cg.c
re2c/test/condition_13.cg.c
re2c/test/condition_13a.cg.c

index f4e2d3238ad9031d88e5bdb9d697275c573a71b3..9f564c978df75a2caf3949d114d47d5e1adec93e 100644 (file)
@@ -39,6 +39,9 @@ static bool nullable(const RESpec &spec, const RE *re, bool &trail)
  */
 void warn_nullable(const RESpec &spec, const std::string &cond)
 {
+    // rule for <> is special -- it doesn't have a regexp
+    if (cond == "0") return;
+
     const size_t nre = spec.res.size();
     for (size_t i = 0; i < nre; ++i) {
         bool trail = false;
index 0fb4afc9e2a57d2cb7245890b14ecca8578d6c55..9148f8b24f9b6d2e69f67ad99672ce127b7d0712 100644 (file)
@@ -51,6 +51,5 @@ yy14:
 }
 #line 7 "condition_02.c.re"
 
-re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
 re2c: warning: line 7: control flow in condition 'r1' is undefined for strings that match '[\x0-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 7: control flow in condition 'r2' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
index 7a18c466f1004a506da8a23dcf72c08aa0346908..74944c920faa7ef8c84ac4b749b6f65f54c41ec1 100644 (file)
@@ -46,7 +46,6 @@ yy14:
 }
 #line 7 "condition_02.cg.re"
 
-re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
 re2c: warning: line 7: control flow in condition 'r1' is undefined for strings that match '[\x0-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 7: control flow in condition 'r2' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 7: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
index 7f5c76e129a51c7e3778fd5372e38a05449dcabc..85968885f3c3412644b792e507aa358e13825a7b 100644 (file)
@@ -79,7 +79,6 @@ yy22:
 }
 #line 9 "condition_03.cg.re"
 
-re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
 re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
index 7941d6d36a73b71ea03e3cbd2bff1d633b13afe1..b67866fbe0c612bab7787356dd4c3356f11a8da4 100644 (file)
@@ -84,7 +84,6 @@ yy22:
 }
 #line 9 "condition_11.cg.re"
 
-re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
 re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
index 084ff3a702b25b0ab659dc40cd106b3a52d05a47..0a38febc6afc3a58fa5daa749ba65c3943fc25e2 100644 (file)
@@ -68,7 +68,6 @@ yy22:
 }
 #line 9 "condition_13.cg.re"
 
-re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
 re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
index c8aa76fb0d26e6ab665e4e97ad0f87fde938a9be..03abb3c02979e9b20fff5f32acb0f4eab03a6767 100644 (file)
@@ -68,7 +68,6 @@ yy22:
 }
 #line 9 "condition_13a.cg.re"
 
-re2c: warning: line 7: rule in condition '0' matches empty string [-Wmatch-empty-string]
 re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
 re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]