Macros with formal arguments can have default text for those arguments.
Generalize struct member type
Unions through pform.
Handle packed unions properly during elaboration.

This also gets r-value use of packed unions correct.
More relaxed handling of types of packed struct members as l-values.
Handle some assertion syntax in the parser.

Implement some yacc rules for assertion syntax.

Add the -gassertions/-gno-assertions command-line flags to
enable or disable assertions.
Handle enumerations as packed struct/union members.

There were also some subtleties related to using enumerations
from typedefs and using them in multiple places. Fix various
bugs related to those issues.