aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-07-11 09:13:45 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-07-11 09:13:45 +0200
commita2fe645fd79cae0781955b244932e89c16ceb71c (patch)
treeb96fb369516f9ccd64c370375baa00c5f5d5fd58
parentfda4ec23a9c6142f050d49040f81a0096ce4cdfd (diff)
Force reprocessing for module interface units if compiling with VC
-rw-r--r--build2/cc/compile-rule.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/build2/cc/compile-rule.cxx b/build2/cc/compile-rule.cxx
index 61d5984..a41203b 100644
--- a/build2/cc/compile-rule.cxx
+++ b/build2/cc/compile-rule.cxx
@@ -973,6 +973,16 @@ namespace build2
// t.prerequisite_targets!
//
extract_modules (a, bs, t, li, tt, src, md, move (tu.mod), dd, u);
+
+ // Currently in VC module interface units must be compiled from the
+ // original source (something to do with having to detect and store
+ // header boundaries in the .ifc files).
+ //
+ if (cid == compiler_id::msvc)
+ {
+ if (md.type == translation_type::module_iface)
+ psrc.second = false;
+ }
}
// If anything got updated, then we didn't rely on the cache. However,