aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2007-07-27 11:57:06 -0400
committerJosh Triplett <josh@freedesktop.org>2007-07-29 00:54:04 -0700
commit081785f702de02aa131e416a9a751db34a2a5412 (patch)
tree91f2ef2a0189952f8816bb577d79e161d295c1ef /evaluate.c
parentRemove explicit restatements of defaults in metadata for outer-scope test (diff)
downloadsparse-081785f702de02aa131e416a9a751db34a2a5412.tar.gz
sparse-081785f702de02aa131e416a9a751db34a2a5412.tar.bz2
sparse-081785f702de02aa131e416a9a751db34a2a5412.zip
[PATCH] ...,array should degenerate
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'evaluate.c')
-rw-r--r--evaluate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/evaluate.c b/evaluate.c
index d48fbbe..5cb1b89 100644
--- a/evaluate.c
+++ b/evaluate.c
@@ -969,7 +969,9 @@ static struct symbol *evaluate_binop(struct expression *expr)
static struct symbol *evaluate_comma(struct expression *expr)
{
- expr->ctype = expr->right->ctype;
+ expr->ctype = degenerate(expr->right);
+ if (expr->ctype == &null_ctype)
+ expr->ctype = &ptr_ctype;
expr->flags &= expr->left->flags & expr->right->flags;
return expr->ctype;
}