diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2009-03-11 07:08:25 +0000 |
---|---|---|
committer | Christopher Li <sparse@chrisli.org> | 2009-07-18 05:30:09 +0000 |
commit | 3829c4d8b097776e6b3472290a9fae08a705ab7a (patch) | |
tree | b2218b8e8294de1414820fb62c117274f609f233 /expression.h | |
parent | Simplify get_number_value() and ctype_integer() (diff) | |
download | sparse-3829c4d8b097776e6b3472290a9fae08a705ab7a.tar.gz sparse-3829c4d8b097776e6b3472290a9fae08a705ab7a.tar.bz2 sparse-3829c4d8b097776e6b3472290a9fae08a705ab7a.zip |
Don't mix storage class bits with ctype->modifiers while parsing type
Keep storage class (and "is it inline") explicitly in decl_state;
translate to modifiers only when we are done with parsing. That
avoids the need to separate MOD_STORAGE bits while constructing
the type (e.g. in alloc_indirect_symbol(), etc.). It also allows
to get rid of MOD_FORCE for good - instead of passing it to typename()
we pass an int * and let typename() tell whether we'd got a force-cast.
Indication of force-cast never makes it into the modifier bits at all.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Christopher Li <chrisl@hera.kernel.org>
Diffstat (limited to 'expression.h')
-rw-r--r-- | expression.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/expression.h b/expression.h index 2e12b12..631224f 100644 --- a/expression.h +++ b/expression.h @@ -193,7 +193,7 @@ static inline struct expression *alloc_const_expression(struct position pos, int } /* Type name parsing */ -struct token *typename(struct token *, struct symbol **, int); +struct token *typename(struct token *, struct symbol **, int *); static inline int lookup_type(struct token *token) { |