[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 6/9] muscle: minor simplification which uncovers a missing warnin
From: |
Akim Demaille |
Subject: |
[PATCH 6/9] muscle: minor simplification which uncovers a missing warning |
Date: |
Mon, 15 Apr 2013 10:58:25 +0200 |
* src/muscle-tab.c (muscle_percent_define_ensure): Discover the virtues
of || to factor conditionals.
* NEWS: As api.pure is no longer flagged as "used" by accident,
we now have warnings for useless definitions.
* tests/calc.at: So remove api.pure settings when running C++ tests,
since C++ skeletons use a pure interface.
---
NEWS | 2 ++
src/muscle-tab.c | 6 ++----
tests/calc.at | 19 +++++++++----------
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/NEWS b/NEWS
index 5bc4d31..e06cb77 100644
--- a/NEWS
+++ b/NEWS
@@ -62,6 +62,8 @@ GNU Bison NEWS
Changes in Bison 2.7 introduced a dependency on FILE and fprintf when
locations are enabled. This is fixed.
+*** Warnings about useless %pure-parser/%define api.pure are restored
+
** Diagnostics reported by Bison
Most of these features were contributed by Théophile Ranquet and Victor
diff --git a/src/muscle-tab.c b/src/muscle-tab.c
index 5e2275e..3f2793c 100644
--- a/src/muscle-tab.c
+++ b/src/muscle-tab.c
@@ -541,10 +541,8 @@ muscle_percent_define_ensure (char const *variable,
location loc,
/* Don't complain is VARIABLE is already defined, but be sure to set
its value to VAL. */
- if (!muscle_find_const (name))
- muscle_percent_define_insert (variable, loc, muscle_keyword, val,
- MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
- if (muscle_percent_define_flag_if (variable) != value)
+ if (!muscle_find_const (name)
+ || muscle_percent_define_flag_if (variable) != value)
muscle_percent_define_insert (variable, loc, muscle_keyword, val,
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
}
diff --git a/tests/calc.at b/tests/calc.at
index eedfc89..00741f8 100644
--- a/tests/calc.at
+++ b/tests/calc.at
@@ -683,13 +683,13 @@ AT_CHECK_CALC_LALR1_CC([%defines %locations %define
parse.error verbose %name-pr
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %define
api.prefix "calc" %verbose %yacc])
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug
%name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %define parse.error verbose
%debug %define api.prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %define parse.error verbose
%debug %define api.prefix "calc" %define api.token.prefix {TOK_} %verbose
%yacc])
+AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %define
api.prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %define
api.prefix "calc" %define api.token.prefix {TOK_} %verbose %yacc])
-AT_CHECK_CALC_LALR1_CC([%defines %locations %pure-parser %define parse.error
verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value
*result} %parse-param {int *count}])
+AT_CHECK_CALC_LALR1_CC([%defines %locations %define parse.error verbose %debug
%name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result}
%parse-param {int *count}])
-AT_CHECK_CALC_LALR1_CC([%pure-parser %define parse.error verbose %debug
%define api.prefix "calc" %verbose %yacc %parse-param {semantic_value *result}
%parse-param {int *count}])
-AT_CHECK_CALC_LALR1_CC([%defines %locations %pure-parser %define parse.error
verbose %debug %define api.prefix "calc" %verbose %yacc %parse-param
{semantic_value *result} %parse-param {int *count}])
+AT_CHECK_CALC_LALR1_CC([%define parse.error verbose %debug %define api.prefix
"calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int
*count}])
+AT_CHECK_CALC_LALR1_CC([%defines %locations %define parse.error verbose %debug
%define api.prefix "calc" %verbose %yacc %parse-param {semantic_value *result}
%parse-param {int *count}])
@@ -716,10 +716,9 @@ AT_CHECK_CALC_GLR_CC([%defines %define parse.error verbose
%name-prefix "calc" %
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %define api.prefix "calc"
%verbose %yacc])
AT_CHECK_CALC_GLR_CC([%debug])
-AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc"
%verbose %yacc])
-AT_CHECK_CALC_GLR_CC([%pure-parser %define parse.error verbose %debug
%name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_GLR_CC([%pure-parser %define parse.error verbose %debug
%name-prefix "calc" %define api.token.prefix {TOK_} %verbose %yacc])
+AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc"
%verbose %yacc])
+AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc"
%define api.token.prefix {TOK_} %verbose %yacc])
-AT_CHECK_CALC_GLR_CC([%locations %defines %pure-parser %define parse.error
verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value
*result} %parse-param {int *count}])
-AT_CHECK_CALC_GLR_CC([%locations %defines %pure-parser %define parse.error
verbose %debug %define api.prefix "calc" %verbose %yacc %parse-param
{semantic_value *result} %parse-param {int *count}])
+AT_CHECK_CALC_GLR_CC([%locations %defines %define parse.error verbose %debug
%name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result}
%parse-param {int *count}])
+AT_CHECK_CALC_GLR_CC([%locations %defines %define parse.error verbose %debug
%define api.prefix "calc" %verbose %yacc %parse-param {semantic_value *result}
%parse-param {int *count}])
--
1.8.2
- [PATCH 0/9] {master} check the kind of %define variable values, Akim Demaille, 2013/04/15
- [PATCH 4/9] muscle: factor the handling of used variables, Akim Demaille, 2013/04/15
- [PATCH 1/9] muscle: factor conditionals on defined %define variables, Akim Demaille, 2013/04/15
- [PATCH 7/9] muscle: minor refactoring, Akim Demaille, 2013/04/15
- [PATCH 5/9] muscle: factor the field retrieval, Akim Demaille, 2013/04/15
- [PATCH 8/9] muscle: let -D/-F support the three kinds of %define variable values, Akim Demaille, 2013/04/15
- [PATCH 2/9] muscle: factor the kind check in M4, Akim Demaille, 2013/04/15
- [PATCH 6/9] muscle: minor simplification which uncovers a missing warning,
Akim Demaille <=
- [PATCH 9/9] muscle: enforce definition syntax for keyword variables, Akim Demaille, 2013/04/15
- [PATCH 3/9] muscle: factor the computation of variable names, Akim Demaille, 2013/04/15