Commit 3ed6acd2d2

emekoi <emekankurumeh@outlook.com>
2019-06-12 01:40:55
fixed infinite loop when caching packages
1 parent e12c7d8
Changed files (1)
src/codegen.cpp
@@ -9373,6 +9373,8 @@ static void add_cache_pkg(CodeGen *g, CacheHash *ch, ZigPackage *pkg) {
         // TODO: I think we need a more sophisticated detection of
         // packages we have already seen
         if (entry->value != pkg) {
+            auto root = pkg->package_table.maybe_get(buf_create_from_str("@root"));
+            if (root != nullptr && entry->value == root->value) continue;
             cache_buf(ch, entry->key);
             add_cache_pkg(g, ch, entry->value);
         }