Added label/typedef namespacing example
Don't need f_is_lvalue() - can use f_lea != NULL instead
Correctly handle addressing of functions
Struct-expressions aren't addressable if they refer to array type
Merge branch 'master' into feature/label-typedef-namespace
Moved label/typedef test file
Disambiguate labels from typedefs with the same name

tok_at_label() doesn't advance over the tokens any more
Merge branch 'feature/label-typedef-namespace'
struct-copy-chain bug
Fix struct copying in a chain (a = b = c ...)
More detailed lea_expr() assert
Handle/disallow (a = b) = c struct assignment lvalue assignment
Remove expr_is_lval_yes()
Merge branch 'fix/struct-copy-chain'
Check for initialisation which replaces a full-struct copy
__builtin_memset() doesn't decay its operand
__builtin_memset() works on arrays
struct expressions always have f_lea() for arrays

This allows us to memset arrays in structs, e.g.
struct A { int x[2]; } a = {};
Moved array-lvalue check to expr_is_lval()

This allows us to keep f_lea() for internal compiler use
Made "fail expected" runs more obvious