mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
Workaround issues exposed by gcc-4.8
This commit is contained in:
parent
bd7ec673dd
commit
b75863ca3f
|
@ -117,13 +117,20 @@ struct ConstEvalAig
|
||||||
|
|
||||||
RTLIL::Cell *cell = sig2driver.at(output);
|
RTLIL::Cell *cell = sig2driver.at(output);
|
||||||
RTLIL::SigBit sig_a = cell->getPort("\\A");
|
RTLIL::SigBit sig_a = cell->getPort("\\A");
|
||||||
|
sig2deps[sig_a].reserve(sig2deps[sig_a].size() + sig2deps[output].size()); // Reserve so that any invalidation
|
||||||
|
// that may occur does so here, and
|
||||||
|
// not mid insertion (below)
|
||||||
sig2deps[sig_a].insert(sig2deps[output].begin(), sig2deps[output].end());
|
sig2deps[sig_a].insert(sig2deps[output].begin(), sig2deps[output].end());
|
||||||
if (!inputs.count(sig_a))
|
if (!inputs.count(sig_a))
|
||||||
compute_deps(sig_a, inputs);
|
compute_deps(sig_a, inputs);
|
||||||
|
|
||||||
if (cell->type == "$_AND_") {
|
if (cell->type == "$_AND_") {
|
||||||
RTLIL::SigSpec sig_b = cell->getPort("\\B");
|
RTLIL::SigSpec sig_b = cell->getPort("\\B");
|
||||||
|
sig2deps[sig_b].reserve(sig2deps[sig_b].size() + sig2deps[output].size()); // Reserve so that any invalidation
|
||||||
|
// that may occur does so here, and
|
||||||
|
// not mid insertion (below)
|
||||||
sig2deps[sig_b].insert(sig2deps[output].begin(), sig2deps[output].end());
|
sig2deps[sig_b].insert(sig2deps[output].begin(), sig2deps[output].end());
|
||||||
|
|
||||||
if (!inputs.count(sig_b))
|
if (!inputs.count(sig_b))
|
||||||
compute_deps(sig_b, inputs);
|
compute_deps(sig_b, inputs);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue