v0_8: make patch for pr1792108 synth aware.

This patch makes the behavior selection for pr1792108 depend on the
synth* functors.
This commit is contained in:
Cary R 2007-10-30 18:48:56 -07:00 committed by Stephen Williams
parent 545d20eba5
commit 9f4dc5411f
2 changed files with 10 additions and 3 deletions

View File

@ -1972,10 +1972,9 @@ NetProc* PEventStatement::elaborate_st(Design*des, NetScope*scope,
assert(enet);
/* For synthesis we want just the inputs, but for the rest we
* want inputs and outputs that may cause a value to change. */
extern const char *target; /* Target backend from main.cc */
extern bool synthesis; /* Synthesis flag from main.cc */
bool rem_out = false;
if (!strcmp(target, "edif") || !strcmp(target, "fpga") ||
!strcmp(target, "xnf")) rem_out = true;
if (synthesis) rem_out = true;
NexusSet*nset = enet->nex_input(rem_out);
if (nset == 0) {
cerr << get_line() << ": internal error: No NexusSet"

View File

@ -136,6 +136,11 @@ const bool CASE_SENSITIVE = false;
const bool CASE_SENSITIVE = true;
#endif
/*
* Are we doing synthesis?
*/
bool synthesis = false;
extern void cprop(Design*des);
extern void synth(Design*des);
extern void synth2(Design*des);
@ -335,6 +340,9 @@ static void read_iconfig_file(const char*ipath)
parm_to_flagmap(parm);
} else if (strcmp(buf,"functor") == 0) {
if (strncmp(cp, "synth", 5) == 0) {
synthesis = true; // We are doing synthesis.
}
net_func tmp = name_to_net_func(cp);
if (tmp == 0) {
cerr << "No such design transform function ``"