new unreachable syntax

* `noreturn` is the primitive type.
 * `unreachable` is a control flow keyword.
 * `@unreachable()` builtin function is deleted.

closes #214
This commit is contained in:
Andrew Kelley
2017-03-26 04:58:48 -04:00
parent 22e6bfca96
commit 451ce09067
35 changed files with 130 additions and 192 deletions

View File

@@ -140,6 +140,7 @@ static const struct ZigKeyword zig_keywords[] = {
{"type", TokenIdKeywordType},
{"undefined", TokenIdKeywordUndefined},
{"union", TokenIdKeywordUnion},
{"unreachable", TokenIdKeywordUnreachable},
{"use", TokenIdKeywordUse},
{"var", TokenIdKeywordVar},
{"volatile", TokenIdKeywordVolatile},
@@ -1516,6 +1517,7 @@ const char * token_name(TokenId id) {
case TokenIdKeywordType: return "type";
case TokenIdKeywordUndefined: return "undefined";
case TokenIdKeywordUnion: return "union";
case TokenIdKeywordUnreachable: return "unreachable";
case TokenIdKeywordUse: return "use";
case TokenIdKeywordVar: return "var";
case TokenIdKeywordVolatile: return "volatile";