aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/pre-process.c
diff options
authorLinus Torvalds <torvalds@home.transmeta.com>2003-03-20 11:39:01 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 20:59:31 -0700
commit549a7c90da2367cdeac6d94a92fba5cfd3c3b11e (patch)
treee8988e41843dd36d6927eafeb221360f4228f77b /pre-process.c
parent904f38b41f4d63e8d5b69fc17380a3af08c63c33 (diff)
downloadsparse-dev-549a7c90da2367cdeac6d94a92fba5cfd3c3b11e.tar.gz
Bind symbols when declared. Bind arguments to functions.
Fix up function argument list to use a proper symbol list.
Diffstat (limited to 'pre-process.c')
-rw-r--r--pre-process.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/pre-process.c b/pre-process.c
index f6983463..f5481a78 100644
--- a/pre-process.c
+++ b/pre-process.c
@@ -587,9 +587,6 @@ static long long primary_value(struct token *token)
switch (token->type) {
case TOKEN_INTEGER:
return get_int_value(token->integer);
- case TOKEN_IDENT:
- warn(token, "undefined identifier in preprocessor expression");
- return 0;
}
error(token, "bad preprocessor expression");
return 0;
@@ -600,8 +597,11 @@ static long long get_expression_value(struct expression *expr)
long long left, middle, right;
switch (expr->type) {
- case EXPR_PRIMARY:
+ case EXPR_CONSTANT:
return primary_value(expr->token);
+ case EXPR_SYMBOL:
+ warn(expr->token, "undefined identifier in preprocessor expression");
+ return 0;
#define OP(x,y) case x: return left y right;
case EXPR_BINOP: