From 24e0cbd0e11ecab72d40f1f51ab4b1450f8d145f Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 12 Dec 2004 09:25:24 +0000 Subject: [PATCH] (YYRHSLOC): New macro, taken from glr.c. (YYLLOC_DEFAULT): Use the same macro as glr.c. --- data/yacc.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/data/yacc.c b/data/yacc.c index 2e9c9fd0..40b1320b 100644 --- a/data/yacc.c +++ b/data/yacc.c @@ -510,22 +510,25 @@ while (0) If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ +#define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ -do { \ - if (N) \ - { \ - (Current).first_line = (Rhs)[1].first_line; \ - (Current).first_column = (Rhs)[1].first_column; \ - (Current).last_line = (Rhs)[N].last_line; \ - (Current).last_column = (Rhs)[N].last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = (Rhs)[0].last_line; \ - (Current).first_column = (Current).last_column = (Rhs)[0].last_column; \ - } \ -} while(0) +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + do \ + if (N) \ + { \ + (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \ + (Current).first_column = YYRHSLOC(Rhs, 1).first_column; \ + (Current).last_line = YYRHSLOC(Rhs, N).last_line; \ + (Current).last_column = YYRHSLOC(Rhs, N).last_column; \ + } \ + else \ + { \ + (Current).first_line = (Current).last_line = \ + YYRHSLOC(Rhs, 0).last_line; \ + (Current).first_column = (Current).last_column = \ + YYRHSLOC(Rhs, 0).last_column; \ + } \ + while (0) #endif -- 2.45.2