Error message for condit expression not synthesized.

This commit is contained in:
steve 2006-11-02 02:13:15 +00:00
parent 0a9b6f34ae
commit aa3cbbdf99
3 changed files with 27 additions and 5 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: dup_expr.cc,v 1.18.2.1 2006/06/12 00:16:50 steve Exp $"
#ident "$Id: dup_expr.cc,v 1.18.2.2 2006/11/02 02:13:15 steve Exp $"
#endif
# include "config.h"
@ -29,6 +29,7 @@ NetEBComp* NetEBComp::dup_expr() const
{
NetEBComp*result = new NetEBComp(op_, left_->dup_expr(),
right_->dup_expr());
result->set_line(*this);
return result;
}
@ -119,6 +120,7 @@ NetEUFunc* NetEUFunc::dup_expr() const
tmp = new NetEUFunc(func_, result_var_->dup_expr(), tmp_parms);
assert(tmp);
tmp->set_line(*this);
return tmp;
}
@ -144,6 +146,9 @@ NetEVariable* NetEVariable::dup_expr() const
/*
* $Log: dup_expr.cc,v $
* Revision 1.18.2.2 2006/11/02 02:13:15 steve
* Error message for condit expression not synthesized.
*
* Revision 1.18.2.1 2006/06/12 00:16:50 steve
* Add support for -Wunused warnings.
*

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2003 Stephen Williams (steve@icarus.com)
* Copyright (c) 1999-2006 Stephen Williams (steve@icarus.com)
*
* This source code is free software; you can redistribute it
* and/or modify it in source code form under the terms of the GNU
@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: elab_expr.cc,v 1.91.2.1 2006/06/12 00:16:50 steve Exp $"
#ident "$Id: elab_expr.cc,v 1.91.2.2 2006/11/02 02:13:15 steve Exp $"
#endif
# include "config.h"
@ -387,13 +387,16 @@ NetExpr* PECallFunction::elaborate_expr(Design*des, NetScope*scope, bool) const
if (NetNet*res = dscope->find_signal(dscope->basename())) {
NetESignal*eres = new NetESignal(res);
NetEUFunc*func = new NetEUFunc(dscope, eres, parms);
eres->set_line(*this);
func->set_line(*this);
return func;
}
if (NetVariable*res = dscope->find_variable(dscope->basename())) {
NetEVariable*eres = new NetEVariable(res);
eres->set_line(*res);
NetEUFunc*func = new NetEUFunc(dscope, eres, parms);
eres->set_line(*res);
func->set_line(*this);
return func;
}
@ -1006,6 +1009,9 @@ NetExpr* PEUnary::elaborate_expr(Design*des, NetScope*scope, bool) const
/*
* $Log: elab_expr.cc,v $
* Revision 1.91.2.2 2006/11/02 02:13:15 steve
* Error message for condit expression not synthesized.
*
* Revision 1.91.2.1 2006/06/12 00:16:50 steve
* Add support for -Wunused warnings.
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: synth2.cc,v 1.39.2.45 2006/10/30 02:03:30 steve Exp $"
#ident "$Id: synth2.cc,v 1.39.2.46 2006/11/02 02:13:15 steve Exp $"
#endif
# include "config.h"
@ -1031,6 +1031,14 @@ bool NetCondit::synth_async(Design*des, NetScope*scope, bool sync_flag,
}
NetNet*ssig = expr_->synthesize(des);
if (ssig == 0) {
if (debug_synth) {
cerr << get_line() << ": debug: Unable to synthesize "
<< "condition expression." << endl;
}
return false;
}
assert(ssig);
/* Use the accumulated input net as a default input for
@ -2530,6 +2538,9 @@ void synth2(Design*des)
/*
* $Log: synth2.cc,v $
* Revision 1.39.2.46 2006/11/02 02:13:15 steve
* Error message for condit expression not synthesized.
*
* Revision 1.39.2.45 2006/10/30 02:03:30 steve
* Detect and synthesize enables using condit false.
*