If the user does not define YYSTYPE as a macro, Bison now declares it
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 24 Dec 2002 07:43:43 +0000 (07:43 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 24 Dec 2002 07:43:43 +0000 (07:43 +0000)
commit6273355b3684fd20d7a571420252bbc0aff3459e
treed7c81c35b3a7b3dbcad37a05f1dd2b5fe7c9254a
parent050c471b8e388201f40283dd29a1a5abd52385b8
If the user does not define YYSTYPE as a macro, Bison now declares it
using typedef instead of defining it as a macro.  POSIX requires this.
For consistency, YYLTYPE is also declared instead of defined.

%union directives can now have a tag before the `{', e.g., the
directive `%union foo {...}' now generates the C code
`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
The default union tag is `YYSTYPE', for compatibility with Solaris 9
Yacc.  For consistency, YYLTYPE's struct tag is now `YYLTYPE'
instead of `yyltype'.

`yystype' and `yyltype' are now obsolescent macros instead of being
typedefs or tags; they are no longer documented and will be
withdrawn in a future release.
doc/bison.texinfo