implement %% prefix operator

See #23

also make undefined constants use llvm undef value
This commit is contained in:
Andrew Kelley
2016-01-25 15:45:05 -07:00
parent c0dc0ca6c9
commit deb3586884
9 changed files with 54 additions and 20 deletions

View File

@@ -64,6 +64,7 @@ static const char *prefix_op_str(PrefixOp prefix_op) {
case PrefixOpDereference: return "*";
case PrefixOpMaybe: return "?";
case PrefixOpError: return "%";
case PrefixOpUnwrapError: return "%%";
}
zig_unreachable();
}
@@ -1664,6 +1665,7 @@ static PrefixOp tok_to_prefix_op(Token *token) {
case TokenIdStar: return PrefixOpDereference;
case TokenIdMaybe: return PrefixOpMaybe;
case TokenIdPercent: return PrefixOpError;
case TokenIdPercentPercent: return PrefixOpUnwrapError;
case TokenIdBoolAnd: return PrefixOpAddressOf;
default: return PrefixOpInvalid;
}