summaryrefslogtreecommitdiff
path: root/src/parse/expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/expr.cpp')
-rw-r--r--src/parse/expr.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/parse/expr.cpp b/src/parse/expr.cpp
index 7f4e73a1..cd449670 100644
--- a/src/parse/expr.cpp
+++ b/src/parse/expr.cpp
@@ -18,7 +18,8 @@
#include "tokentree.hpp"
typedef ::std::unique_ptr<AST::ExprNode> ExprNodeP;
-#define NEWNODE(type, ...) ExprNodeP(new type(__VA_ARGS__))
+static inline ExprNodeP mk_exprnodep(const TokenStream& lex, AST::ExprNode* en){en->set_pos(lex.getPosition()); return ExprNodeP(en); }
+#define NEWNODE(type, ...) mk_exprnodep(lex, new type(__VA_ARGS__))
using AST::ExprNode;
ExprNodeP Parse_ExprBlockNode(TokenStream& lex);