From 107ad1432bb0d2b3f963486d91fa88a30954ee3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Mon, 30 Jul 2018 19:38:46 +0200
Subject: [PATCH] Fix various Bison warnings

---
 src/DynareBison.yy      | 10 +++++-----
 src/Makefile.am         |  2 +-
 src/macro/MacroBison.yy | 12 ++++++------
 src/macro/Makefile.am   |  2 +-
 4 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index 1daf7f1b..4ed6092d 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -92,7 +92,7 @@ class ParsingDriver;
 %token BVAR_PRIOR_MU BVAR_PRIOR_OMEGA BVAR_PRIOR_TAU BVAR_PRIOR_TRAIN DETAIL_PLOT TYPE
 %token BVAR_REPLIC BYTECODE ALL_VALUES_REQUIRED PROPOSAL_DISTRIBUTION REALTIME VINTAGE
 %token CALIB_SMOOTHER CHANGE_TYPE CHECK CONDITIONAL_FORECAST CONDITIONAL_FORECAST_PATHS CONF_SIG CONSTANT CONTROLLED_VAREXO CORR COVAR CUTOFF CYCLE_REDUCTION LOGARITHMIC_REDUCTION
-%token CONSIDER_ALL_ENDOGENOUS CONSIDER_ONLY_OBSERVED INITIAL_CONDITION_DECOMPOSITION
+%token COMMA CONSIDER_ALL_ENDOGENOUS CONSIDER_ONLY_OBSERVED INITIAL_CONDITION_DECOMPOSITION
 %token DATAFILE FILE SERIES DOUBLING DR_CYCLE_REDUCTION_TOL DR_LOGARITHMIC_REDUCTION_TOL DR_LOGARITHMIC_REDUCTION_MAXITER DR_ALGO DROP DSAMPLE DYNASAVE DYNATYPE CALIBRATION DIFFERENTIATE_FORWARD_VARS
 %token END ENDVAL EQUAL ESTIMATION ESTIMATED_PARAMS ESTIMATED_PARAMS_BOUNDS ESTIMATED_PARAMS_INIT EXTENDED_PATH ENDOGENOUS_PRIOR
 %token FILENAME DIRNAME FILTER_STEP_AHEAD FILTERED_VARS FIRST_OBS LAST_OBS SET_TIME OSR_PARAMS_BOUNDS KEEP_KALMAN_ALGO_IF_SINGULARITY_IS_DETECTED
@@ -133,12 +133,11 @@ class ParsingDriver;
 %token VALUES VAR VAREXO VAREXO_DET VAROBS VAREXOBS PREDETERMINED_VARIABLES VAR_EXPECTATION PLOT_SHOCK_DECOMPOSITION MODEL_LOCAL_VARIABLE
 %token WRITE_LATEX_DYNAMIC_MODEL WRITE_LATEX_STATIC_MODEL WRITE_LATEX_ORIGINAL_MODEL CROSSEQUATIONS COVARIANCE WRITE_LATEX_STEADY_STATE_MODEL
 %token XLS_SHEET XLS_RANGE LMMCP OCCBIN BANDPASS_FILTER COLORMAP VAR_MODEL PAC_MODEL QOQ YOY AOA UNDIFF PAC_EXPECTATION
-%left COMMA
 %left EQUAL_EQUAL EXCLAMATION_EQUAL
 %left LESS GREATER LESS_EQUAL GREATER_EQUAL
 %left PLUS MINUS
 %left TIMES DIVIDE
-%left UMINUS UPLUS
+%precedence UMINUS UPLUS
 %nonassoc POWER
 %token EXP LOG LN LOG10 SIN COS TAN ASIN ACOS ATAN SINH COSH TANH ERF DIFF ADL
 %token ASINH ACOSH ATANH SQRT NORMCDF NORMPDF STEADY_STATE EXPECTATION VAR_ESTIMATION
@@ -799,7 +798,8 @@ comma_expression : expression
                    { driver.add_external_function_arg($3); }
                  ;
 
-expression_or_empty : {$$ = driver.add_nan_constant();}
+expression_or_empty : %empty
+                      { $$ = driver.add_nan_constant(); }
                     | expression
 	            ;
 
@@ -1209,7 +1209,7 @@ model_info : MODEL_INFO ';'
 model_info_options_list : model_info_options_list COMMA model_info_options
                    | model_info_options
                    ;
-model_info_options :
+model_info_options : %empty
 
 perfect_foresight_setup : PERFECT_FORESIGHT_SETUP ';'
                           { driver.perfect_foresight_setup(); }
diff --git a/src/Makefile.am b/src/Makefile.am
index a9efbb0e..35da494f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -71,7 +71,7 @@ DynareFlex.cc FlexLexer.h: DynareFlex.ll
 	cp $(LEXINC)/FlexLexer.h . || test -f ./FlexLexer.h
 
 DynareBison.cc DynareBison.hh location.hh stack.hh position.hh: DynareBison.yy
-	$(YACC) -o DynareBison.cc DynareBison.yy
+	$(YACC) -W -o DynareBison.cc DynareBison.yy
 
 all-local: $(PROGRAMS)
 
diff --git a/src/macro/MacroBison.yy b/src/macro/MacroBison.yy
index 84a4a36e..07ff4daa 100644
--- a/src/macro/MacroBison.yy
+++ b/src/macro/MacroBison.yy
@@ -67,13 +67,12 @@ class MacroDriver;
 
 }
 
-%token DEFINE LINE FOR IN IF ELSE ENDIF ECHO_DIR ERROR IFDEF IFNDEF
+%token COMMA DEFINE LINE FOR IN IF ELSE ENDIF ECHO_DIR ERROR IFDEF IFNDEF
 %token LPAREN RPAREN LBRACKET RBRACKET EQUAL EOL LENGTH ECHOMACROVARS SAVE
 
 %token <int> INTEGER
 %token <string> NAME STRING
 
-%left COMMA
 %left LOGICAL_OR
 %left LOGICAL_AND
 %left LESS GREATER LESS_EQUAL GREATER_EQUAL EQUAL_EQUAL EXCLAMATION_EQUAL
@@ -81,8 +80,8 @@ class MacroDriver;
 %nonassoc COLON
 %left PLUS MINUS
 %left TIMES DIVIDE
-%left UMINUS UPLUS EXCLAMATION
-%left LBRACKET
+%precedence UMINUS UPLUS EXCLAMATION
+%precedence LBRACKET
 
 %type <vector<string>> func_args
 %type <MacroValuePtr> expr
@@ -91,7 +90,7 @@ class MacroDriver;
 
 %start statement_list_or_nothing;
 
-statement_list_or_nothing : /* empty */
+statement_list_or_nothing : %empty
                           | statement_list
                           ;
 
@@ -207,7 +206,8 @@ expr : INTEGER
        { TYPERR_CATCH($$ = $3->in($1), @$); }
      ;
 
-comma_expr : { $$ = vector<MacroValuePtr>{}; } // Empty array
+comma_expr : %empty
+             { $$ = vector<MacroValuePtr>{}; } // Empty array
            | expr
              { $$ = vector<MacroValuePtr>{$1}; }
            | comma_expr COMMA expr
diff --git a/src/macro/Makefile.am b/src/macro/Makefile.am
index 08a93d58..ad1b0685 100644
--- a/src/macro/Makefile.am
+++ b/src/macro/Makefile.am
@@ -20,4 +20,4 @@ MacroFlex.cc: MacroFlex.ll
 	$(LEX) -o MacroFlex.cc MacroFlex.ll
 
 MacroBison.cc MacroBison.hh location.hh stack.hh position.hh: MacroBison.yy
-	$(YACC) -o MacroBison.cc MacroBison.yy
+	$(YACC) -W -o MacroBison.cc MacroBison.yy
-- 
GitLab