Use enum type for expr->builtin.kind
Use a common member for expression op
map: Free old key and value arrays when resizing
Free function call argument lists
expr: Free subexpressions in delexpr
eval: Check that expression has integer type before checking if it's signed

It could be an integer constant cast to a pointer type.
Free functions when we're done with them
Disallow struct members with function type
Implement _Generic selection
qbe: Make sure generated code doesn't depend on argument evaluation order

It would be correct in any order, but this is a bit simpler and guarantees
the same output.
Fix integer promotion on bit-fields

Fixes #47.
Improve some error messages
Clarify origin of tree.c
expr: Add mkincdecexpr for pre/postfix inc/decrement operators
expr: Use tokstr in ++/-- operator error messages
doc/software: Need to disable deprecation warnings to build zstd
doc/software: Add sections for mcpp and zstd
expr: Add some type checking for unary operators
expr: Check qualifiers when parsing ++/-- expressions
Mention QBE patch for dynamic phi arg array
Simplify test/typeof