Detect mismatches in reg as module items and ports.
This commit is contained in:
parent
e1a6bb10de
commit
f7f61a8696
8
parse.y
8
parse.y
|
|
@ -19,7 +19,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: parse.y,v 1.146 2002/03/31 04:07:26 steve Exp $"
|
#ident "$Id: parse.y,v 1.147 2002/04/12 02:57:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -208,13 +208,13 @@ block_item_decl
|
||||||
{ pform_set_net_range($3, $2, false);
|
{ pform_set_net_range($3, $2, false);
|
||||||
}
|
}
|
||||||
| K_reg register_variable_list ';'
|
| K_reg register_variable_list ';'
|
||||||
{ delete $2; }
|
{ pform_set_net_range($2, 0, false);
|
||||||
|
}
|
||||||
| K_reg K_signed range register_variable_list ';'
|
| K_reg K_signed range register_variable_list ';'
|
||||||
{ pform_set_net_range($4, $3, true);
|
{ pform_set_net_range($4, $3, true);
|
||||||
}
|
}
|
||||||
| K_reg K_signed register_variable_list ';'
|
| K_reg K_signed register_variable_list ';'
|
||||||
{ delete $3;
|
{ pform_set_net_range($3, 0, true);
|
||||||
yyerror(@2, "sorry: signed reg not supported.");
|
|
||||||
}
|
}
|
||||||
| K_integer register_variable_list ';'
|
| K_integer register_variable_list ';'
|
||||||
{ pform_set_reg_integer($2);
|
{ pform_set_reg_integer($2);
|
||||||
|
|
|
||||||
13
pform.cc
13
pform.cc
|
|
@ -17,7 +17,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: pform.cc,v 1.90 2002/01/31 04:10:15 steve Exp $"
|
#ident "$Id: pform.cc,v 1.91 2002/04/12 02:57:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -426,7 +426,7 @@ void pform_set_net_range(list<char*>*names,
|
||||||
svector<PExpr*>*range,
|
svector<PExpr*>*range,
|
||||||
bool signed_flag)
|
bool signed_flag)
|
||||||
{
|
{
|
||||||
assert(range->count() == 2);
|
assert((range == 0) || (range->count() == 2));
|
||||||
|
|
||||||
for (list<char*>::iterator cur = names->begin()
|
for (list<char*>::iterator cur = names->begin()
|
||||||
; cur != names->end()
|
; cur != names->end()
|
||||||
|
|
@ -437,7 +437,8 @@ void pform_set_net_range(list<char*>*names,
|
||||||
}
|
}
|
||||||
|
|
||||||
delete names;
|
delete names;
|
||||||
delete range;
|
if (range)
|
||||||
|
delete range;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -785,8 +786,7 @@ void pform_makewire(const vlltype&li,
|
||||||
net_decl_assign_t*next = first->next;
|
net_decl_assign_t*next = first->next;
|
||||||
|
|
||||||
pform_makewire(li, first->name, type);
|
pform_makewire(li, first->name, type);
|
||||||
if (range)
|
pform_set_net_range(first->name, range, false);
|
||||||
pform_set_net_range(first->name, range, false);
|
|
||||||
|
|
||||||
hname_t name = hier_name(first->name);
|
hname_t name = hier_name(first->name);
|
||||||
PWire*cur = pform_cur_module->get_wire(name);
|
PWire*cur = pform_cur_module->get_wire(name);
|
||||||
|
|
@ -1179,6 +1179,9 @@ int pform_parse(const char*path, FILE*file)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: pform.cc,v $
|
* $Log: pform.cc,v $
|
||||||
|
* Revision 1.91 2002/04/12 02:57:08 steve
|
||||||
|
* Detect mismatches in reg as module items and ports.
|
||||||
|
*
|
||||||
* Revision 1.90 2002/01/31 04:10:15 steve
|
* Revision 1.90 2002/01/31 04:10:15 steve
|
||||||
* Detect duplicate port declarations.
|
* Detect duplicate port declarations.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue