error: shifting a negative signed value is undefined
error: address of array 'lval->sym->name' will always evaluate to 'true'