From be3d9d4219cb668d2c03267e220418f9252a6747 Mon Sep 17 00:00:00 2001 From: Akim Demaille <akim@epita.fr> Date: Tue, 23 Nov 2004 19:56:12 +0000 Subject: [PATCH] 2004-11-23 Akim Demaille <akim@epita.fr> * data/lalr1.cc (YYSTYPE): Define it as is done for C, instead of #defining from yystype. Don't typedef yystype, C++ does not need it. This lets it possible to forward declare it as union. --- ChangeLog | 7 +++++++ data/lalr1.cc | 14 +++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 98ad13db..915a3b98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-11-23 Akim Demaille <akim@epita.fr> + + * data/lalr1.cc (YYSTYPE): Define it as is done for C, instead + of #defining from yystype. + Don't typedef yystype, C++ does not need it. + This lets it possible to forward declare it as union. + 2004-11-23 Paul Eggert <eggert@cs.ucla.edu> * bootstrap (gnulib_modules): Add extensions. diff --git a/data/lalr1.cc b/data/lalr1.cc index 4e9f9cb2..817b3833 100644 --- a/data/lalr1.cc +++ b/data/lalr1.cc @@ -164,16 +164,16 @@ b4_syncline([@oline@], [@ofile@])[ # define YYERROR_VERBOSE ]b4_error_verbose[ #endif -#ifdef YYSTYPE -typedef YYSTYPE yystype; -#else +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ]m4_ifdef([b4_stype], [b4_syncline([b4_stype_line], [b4_filename]) -typedef union b4_stype yystype; +union YYSTYPE b4_stype; /* Line __line__ of lalr1.cc. */ b4_syncline([@oline@], [@ofile@])], -[typedef int yystype;])[ -# define YYSTYPE yystype +[typedef int YYSTYPE;])[ +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ @@ -215,7 +215,7 @@ namespace yy typedef ]b4_int_type_for([b4_translate])[ TokenNumberType; typedef ]b4_int_type_for([b4_rhs])[ RhsNumberType; typedef int StateType; - typedef yystype SemanticType; + typedef YYSTYPE SemanticType; typedef ]b4_location_type[ LocationType; }; } -- 2.45.2