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.
This commit is contained in:
Akim Demaille
2004-11-23 19:56:12 +00:00
parent 78e526d5fa
commit be3d9d4219
2 changed files with 14 additions and 7 deletions

View File

@@ -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;
};
}