Commit e19a77e6 by Richard Stallman

(unary_expr => ANDAND identifier): Handle lookup_label returning 0.

From-SVN: r3325
parent 7d9795e5
...@@ -390,9 +390,15 @@ unary_expr: ...@@ -390,9 +390,15 @@ unary_expr:
/* Refer to the address of a label as a pointer. */ /* Refer to the address of a label as a pointer. */
| ANDAND identifier | ANDAND identifier
{ tree label = lookup_label ($2); { tree label = lookup_label ($2);
TREE_USED (label) = 1; if (label == 0)
$$ = build1 (ADDR_EXPR, ptr_type_node, label); $$ = null_pointer_node;
TREE_CONSTANT ($$) = 1; } else
{
TREE_USED (label) = 1;
$$ = build1 (ADDR_EXPR, ptr_type_node, label);
TREE_CONSTANT ($$) = 1;
}
}
/* This seems to be impossible on some machines, so let's turn it off. /* This seems to be impossible on some machines, so let's turn it off.
You can use __builtin_next_arg to find the anonymous stack args. You can use __builtin_next_arg to find the anonymous stack args.
| '&' ELLIPSIS | '&' ELLIPSIS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment