From: Akim Demaille Date: Tue, 23 Nov 2004 19:56:12 +0000 (+0000) Subject: 2004-11-23 Akim Demaille X-Git-Tag: BISON-2_0~65 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/be3d9d4219cb668d2c03267e220418f9252a6747 2004-11-23 Akim Demaille * 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. --- diff --git a/ChangeLog b/ChangeLog index 98ad13db..915a3b98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-11-23 Akim Demaille + + * 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 * 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; }; }