mirror of
https://github.com/steveicarus/iverilog.git
synced 2026-08-22 13:57:18 +02:00
Change the VPI call process so that loaded .vpi modules
use a function table instead of implicit binding.
This commit is contained in:
+7
-11
@@ -17,7 +17,7 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*/
|
||||
#if !defined(WINNT) && !defined(macintosh)
|
||||
#ident "$Id: vpi_mcd.c,v 1.2 2001/03/22 02:23:45 steve Exp $"
|
||||
#ident "$Id: vpi_mcd.c,v 1.3 2001/06/12 03:53:10 steve Exp $"
|
||||
#endif
|
||||
|
||||
# include "vpi_priv.h"
|
||||
@@ -79,11 +79,6 @@ char *vpi_mcd_name(unsigned int mcd)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
unsigned int vpi_mcd_open(char *name)
|
||||
{
|
||||
return vpi_mcd_open_x(name, "w");
|
||||
}
|
||||
|
||||
unsigned int vpi_mcd_open_x(char *name, char *mode)
|
||||
{
|
||||
int i;
|
||||
@@ -101,15 +96,18 @@ got_entry:
|
||||
return 1<<i;
|
||||
}
|
||||
|
||||
int vpi_mcd_printf(unsigned int mcd, const char*fmt, ...)
|
||||
unsigned int vpi_mcd_open(char *name)
|
||||
{
|
||||
return vpi_mcd_open_x(name, "w");
|
||||
}
|
||||
|
||||
extern int vpi_mcd_vprintf(unsigned int mcd, const char*fmt, va_list ap)
|
||||
{
|
||||
int i;
|
||||
int len;
|
||||
int rc;
|
||||
va_list ap;
|
||||
|
||||
rc = len = 0;
|
||||
va_start(ap, fmt);
|
||||
for(i = 0; i < 31; i++) {
|
||||
if( (mcd>>i) & 1) {
|
||||
if(mcd_table[i].fp)
|
||||
@@ -118,8 +116,6 @@ int vpi_mcd_printf(unsigned int mcd, const char*fmt, ...)
|
||||
rc = EOF;
|
||||
}
|
||||
}
|
||||
va_end(ap);
|
||||
|
||||
if(rc)
|
||||
return rc;
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user