zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 3ed6acd2d20de0a2a08ddf6549fb06a66687d96a (tree)
parent e12c7d88b28200bc64a538cd4812bfe58a6b6b78
Author: emekoi <emekankurumeh@outlook.com>
Date:   Tue, 11 Jun 2019 18:40:55 -0500

fixed infinite loop when caching packages

Diffstat:
Msrc/codegen.cpp | 2++
1 file changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/codegen.cpp b/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); }