summaryrefslogtreecommitdiff
path: root/src/parse/root.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-02-27 18:29:11 +0800
committerJohn Hodge <tpg@mutabah.net>2016-02-27 18:29:11 +0800
commit36dd3e4c5da3374ab0338c3e42d3f1901379cc70 (patch)
tree9ea47a0ff5442c78fe306466391e5e0a51247204 /src/parse/root.cpp
parenta92d91674e2863bcd401b28e72f0dcf1e7cb73fd (diff)
downloadmrust-36dd3e4c5da3374ab0338c3e42d3f1901379cc70.tar.gz
Parse - (hackily) support vardic function definitions
Diffstat (limited to 'src/parse/root.cpp')
-rw-r--r--src/parse/root.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parse/root.cpp b/src/parse/root.cpp
index 231094a2..00ba005f 100644
--- a/src/parse/root.cpp
+++ b/src/parse/root.cpp
@@ -336,6 +336,12 @@ AST::Function Parse_FunctionDef(TokenStream& lex, ::std::string abi, AST::MetaIt
GET_TOK(tok, lex);
break;
}
+ if( LOOK_AHEAD(lex) == TOK_TRIPLE_DOT ) {
+ GET_TOK(tok, lex);
+ // TODO: Mark function as vardic
+ GET_TOK(tok, lex);
+ break;
+ }
args.push_back( Parse_Function_Arg(lex, !can_be_prototype) );
} while( GET_TOK(tok, lex) == TOK_COMMA );
CHECK_TOK(tok, TOK_PAREN_CLOSE);