Merge branch 'master' of github.com:steveicarus/iverilog

This commit is contained in:
Stephen Williams 2016-02-06 16:08:15 -08:00
commit 139c4154c3
4 changed files with 13 additions and 9 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2005-2015 Stephen Williams (steve@icarus.com)
* Copyright (c) 2005-2016 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
@ -187,6 +187,7 @@ void draw_ufunc_vec4(ivl_expr_t expr)
{
ivl_scope_t def = ivl_expr_def(expr);
ivl_signal_t retval = ivl_scope_port(def, 0);
(void) retval;
/* Take in arguments to function and call function code. */
draw_ufunc_preamble(expr);
@ -198,6 +199,7 @@ void draw_ufunc_real(ivl_expr_t expr)
{
ivl_scope_t def = ivl_expr_def(expr);
ivl_signal_t retval = ivl_scope_port(def, 0);
(void) retval;
/* Take in arguments to function and call the function code. */
draw_ufunc_preamble(expr);

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2015 Stephen Williams (steve@icarus.com)
* Copyright (c) 1999-2016 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
@ -650,6 +650,7 @@ static unsigned int get_format_char(char **rtn, int ljust, int plus,
* It is needed by vhdlpp to correctly implement time'image(). */
PLI_INT32 time_prec = vpi_get(vpiTimePrecision, info->scope);
free(timeformat_info.suff);
if(time_units < -12)
timeformat_info.suff = strdup(" fs");
else if(time_units < -9)

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2001-2012 Stephen Williams (steve@icarus.com)
* Copyright (c) 2001-2016 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
@ -113,7 +113,8 @@ void codespace_delete(void)
count_opcodes -= 1;
if ((cur+idx)->opcode == &of_VPI_CALL) {
vpi_call_delete((cur+idx)->handle);
} else if ((cur+idx)->opcode == &of_EXEC_UFUNC) {
} else if (((cur+idx)->opcode == &of_EXEC_UFUNC_REAL) ||
((cur+idx)->opcode == &of_EXEC_UFUNC_VEC4)) {
exec_ufunc_delete((cur+idx));
} else if ((cur+idx)->opcode == &of_FILE_LINE) {
delete((cur+idx)->handle);

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2001-2015 Stephen Williams (steve@icarus.com)
* Copyright (c) 2001-2016 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
@ -4985,7 +4985,7 @@ bool of_RET_REAL(vthread_t thr, vvp_code_t cp)
assert(fun_thr->parent);
fun_thr = fun_thr->parent;
}
assert(index >= 0 && index < fun_thr->args_real.size());
assert(index < fun_thr->args_real.size());
unsigned depth = fun_thr->args_real[index];
// Use the depth to put the value into the stack of
// the parent thread.
@ -5007,7 +5007,7 @@ bool of_RET_VEC4(vthread_t thr, vvp_code_t cp)
assert(fun_thr->parent);
fun_thr = fun_thr->parent;
}
assert(index >= 0 && index < fun_thr->args_vec4.size());
assert(index < fun_thr->args_vec4.size());
unsigned depth = fun_thr->args_vec4[index];
int off = off_index? thr->words[off_index].w_int : 0;
@ -5077,7 +5077,7 @@ bool of_RETLOAD_REAL(vthread_t thr, vvp_code_t cp)
assert(fun_thr->parent);
fun_thr = fun_thr->parent;
}
assert(index >= 0 && index < fun_thr->args_real.size());
assert(index < fun_thr->args_real.size());
unsigned depth = fun_thr->args_real[index];
// Use the depth to extract the values from the stack
// of the parent thread.
@ -5097,7 +5097,7 @@ bool of_RETLOAD_VEC4(vthread_t thr, vvp_code_t cp)
assert(fun_thr->parent);
fun_thr = fun_thr->parent;
}
assert(index >= 0 && index < fun_thr->args_vec4.size());
assert(index < fun_thr->args_vec4.size());
unsigned depth = fun_thr->args_vec4[index];
// Use the depth to put the value into the stack of
// the parent thread.