aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/script/parser.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-05-18 12:08:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-05-27 08:35:29 +0200
commit333b13f697dfe04d5f2515c03baa1c4f5eccbe48 (patch)
treef9caed0af5aba66cc3ff77c55a1f7c7811e35c4c /libbuild2/script/parser.hxx
parentef5969da26c9c89533a7b480f365739aa37472ff (diff)
Make build script variable pool local to execution environment
Diffstat (limited to 'libbuild2/script/parser.hxx')
-rw-r--r--libbuild2/script/parser.hxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/libbuild2/script/parser.hxx b/libbuild2/script/parser.hxx
index 850794e..ecd9f5a 100644
--- a/libbuild2/script/parser.hxx
+++ b/libbuild2/script/parser.hxx
@@ -146,12 +146,18 @@ namespace build2
size_t li,
const location&);
+ // If a parser implementation doesn't pre-enter variables into a pool
+ // during the pre-parsing phase, then they are entered during the
+ // execution phase and so the variable pool must be provided. Note that
+ // in this case the variable pool insertions are not MT-safe.
+ //
bool
exec_lines (lines::const_iterator b, lines::const_iterator e,
const function<exec_set_function>&,
const function<exec_cmd_function>&,
const function<exec_if_function>&,
- size_t& li);
+ size_t& li,
+ variable_pool* = nullptr);
// Set lexer pointers for both the current and the base classes.
//