Merge branch 'sval' into merge
Before smatch used "long long" to represent values. This fails
because it isn't possible to represent ULLONG_MAX. The sval
work solves that by always connecting the value to the type.
Instead of "long long" we now use an sval_t which is defined like
this:
typedef struct {
struct symbol *type;
union {
long long value;
unsigned long long uvalue;
};
} sval_t;
The sval_t type has been pushed everywhere now so we always have
easy access to a struct symbol *type.
That bad news is that a lot of error messages will change formats
slightly. In particular check_signed.c has been re-written.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>