summaryrefslogtreecommitdiff
path: root/src/parse
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-09-26 14:19:34 +0800
committerJohn Hodge <tpg@mutabah.net>2016-09-26 14:19:34 +0800
commit1628e934e97a313325f6b6ea5fab8750b2e2dfa4 (patch)
treeea9b7720f6d76b186a5444dd7b8ae3fdb03c5f25 /src/parse
parente584ea9876b53304880733ca3928dbad334c0c0d (diff)
downloadmrust-1628e934e97a313325f6b6ea5fab8750b2e2dfa4.tar.gz
Parse - HACK! Accept `extern {}` and return a null item
Diffstat (limited to 'src/parse')
-rw-r--r--src/parse/root.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/parse/root.cpp b/src/parse/root.cpp
index 14a3d3ef..69860f6e 100644
--- a/src/parse/root.cpp
+++ b/src/parse/root.cpp
@@ -1364,7 +1364,13 @@ void Parse_Use(TokenStream& lex, ::std::function<void(AST::UseStmt, ::std::strin
// NOTE: `extern { ...` is handled in caller
case TOK_BRACE_OPEN:
- TODO(lex.getPosition(), "Parse `extern {` as an item");
+ if( GET_TOK(tok, lex) != TOK_BRACE_CLOSE )
+ {
+ // TODO: Parse extern blocks into individual items (that are split up in HIR)
+ TODO(lex.getPosition(), "Parse `extern {` as an item");
+ }
+ // HACK: Return nothing
+ break;
// `extern crate "crate-name" as crate_name;`
// `extern crate crate_name;`