Work around a designated initializer bug encountered on old versions
of HP-UX. It seems there are some glitches leading to compilation
failures when the initializers are out of order (or omitted), and
the initializer for such a member is non-constant, and there is a
type conversion involved.
This affects several of the parser actions that initialize declspec
values. In this case, it is super easy to just change the type and
avoid type conversion, which easily avoids the bug.
%union {
uintmax_t uintval;
+ unsigned spectype;
_Bool boolval;
char *strval;
struct cdecl_declspec *declspec;
%type <strval> vla_ident
%type <boolval> varargs
-%type <uintval> declspec_simple typespec_simple qualifier_simple
+%type <spectype> declspec_simple typespec_simple qualifier_simple
%type <declspec> declspec_notype declspec_noid typespec_noid typespec
%type <declspec> qualifier qualifiers
%type <declspec> declspecs declspecs_noid