diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-06-14 13:06:38 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-06-14 13:06:38 +0200 |
commit | 57abb0703ec640fdcd0b0ac165f742bbc34df533 (patch) | |
tree | ec0fc9b3f23b2ed34e354978788384ee08be8035 /build2/cc/compile.hxx | |
parent | 700f2e7c4be9c8caa0ac0fcd58b1a0ce505e33fa (diff) |
Next installment in C++ modules saga: module search, re-export support
Diffstat (limited to 'build2/cc/compile.hxx')
-rw-r--r-- | build2/cc/compile.hxx | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/build2/cc/compile.hxx b/build2/cc/compile.hxx index 596245d..c98e407 100644 --- a/build2/cc/compile.hxx +++ b/build2/cc/compile.hxx @@ -27,6 +27,15 @@ namespace build2 // enum class preprocessed: uint8_t {none, includes, modules, all}; + // Positions of the re-exported bmi{}s. See search_modules() for + // details. + // + struct modules_positions + { + size_t ex_start; + size_t ex_tail; + }; + class compile: public rule, virtual common { public: @@ -93,14 +102,14 @@ namespace build2 const file&, const match_data&, depdb&, bool&) const; void - extract_modules (action, file&, lorder, - const file&, auto_rmfile&, const match_data&, + extract_modules (action, file&, lorder, const compile_target_types&, + const file&, auto_rmfile&, match_data&, depdb&, bool&) const; - void + modules_positions search_modules (const scope&, - action, file&, lorder, - const target_type&) const; + action, file&, lorder, const target_type&, + module_imports&&) const; void append_modules (cstrings&, strings&, const file&) const; |