Compare commits
No commits in common. "a7502173d32c7499107dedf9ee1fdbe759dcc7ef" and "70094ce5647f3adfaa3802b76de8510492df7ed6" have entirely different histories.
a7502173d3
...
70094ce564
|
|
@ -77,9 +77,9 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- { msystem: MINGW64, env: x86_64 }
|
||||
- { msystem: UCRT64, env: ucrt-x86_64 }
|
||||
- { msystem: CLANG64, env: clang-x86_64 }
|
||||
- { msystem: MINGW64, env: x86_64 opt: pli1 }
|
||||
- { msystem: UCRT64, env: ucrt-x86_64 opt: pli1 }
|
||||
- { msystem: CLANG64, env: clang-x86_64 opt: no-pli1 }
|
||||
name: 🟪 ${{ matrix.msystem}}
|
||||
defaults:
|
||||
run:
|
||||
|
|
@ -110,7 +110,7 @@ jobs:
|
|||
- name: Build and check
|
||||
run: |
|
||||
cd msys2
|
||||
if [ ${{ matrix.msystem }} != "CLANG64" ] ; then
|
||||
if [ ${{ matrix.opt }} = "pli1" ] ; then
|
||||
export IVL_CONFIG_OPTIONS="--enable-libveriuser"
|
||||
fi
|
||||
makepkg-mingw --noconfirm --noprogressbar -sCLf
|
||||
|
|
@ -120,11 +120,7 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
run: |
|
||||
if [ ${{ matrix.msystem }} = "CLANG64" ] ; then
|
||||
./.github/test.sh no-pli1
|
||||
else
|
||||
./.github/test.sh
|
||||
fi
|
||||
./.github/test.sh ${{ matrix.opt }}
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
|
|
|
|||
|
|
@ -3355,7 +3355,7 @@ static void check_for_bstep_synth(const NetExpr*expr, const NetProc*proc,
|
|||
}
|
||||
|
||||
static void check_for_step_synth(const NetAssign*assign, const NetProc*proc,
|
||||
ivl_process_type_t pr_type, const NetNet*index)
|
||||
ivl_process_type_t pr_type, NetNet*index)
|
||||
{
|
||||
if (assign->l_val_count() != 1) {
|
||||
print_for_step_warning(proc, pr_type);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2008-2025 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2008-2010 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
|
||||
|
|
@ -34,8 +34,8 @@ bool dll_target::process(const NetAnalogTop*net)
|
|||
{
|
||||
bool rc_flag = true;
|
||||
|
||||
ivl_process_t obj = static_cast<struct ivl_process_s*>
|
||||
(calloc(1, sizeof(struct ivl_process_s)));
|
||||
ivl_process_t obj = (struct ivl_process_s*)
|
||||
calloc(1, sizeof(struct ivl_process_s));
|
||||
|
||||
obj->type_ = net->type();
|
||||
obj->analog_flag = 1;
|
||||
|
|
@ -49,7 +49,7 @@ bool dll_target::process(const NetAnalogTop*net)
|
|||
obj->attr = fill_in_attributes(net);
|
||||
|
||||
assert(stmt_cur_ == 0);
|
||||
stmt_cur_ = static_cast<struct ivl_statement_s*>(calloc(1, sizeof*stmt_cur_));
|
||||
stmt_cur_ = (struct ivl_statement_s*)calloc(1, sizeof*stmt_cur_);
|
||||
rc_flag = net->statement()->emit_proc(this) && rc_flag;
|
||||
|
||||
assert(stmt_cur_);
|
||||
|
|
|
|||
13
t-dll-api.cc
13
t-dll-api.cc
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000-2025 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2000-2024 Stephen Williams (steve@icarus.com)
|
||||
* Copyright CERN 2013 / Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2016 CERN Michele Castellana (michele.castellana@cern.ch)
|
||||
*
|
||||
|
|
@ -317,7 +317,7 @@ extern "C" const char* ivl_event_name(ivl_event_t net)
|
|||
|
||||
unsigned need = strlen(sn) + 1 + strlen(net->name) + 1;
|
||||
if (need > name_size) {
|
||||
name_buffer = static_cast<char*>(realloc(name_buffer, need));
|
||||
name_buffer = (char*)realloc(name_buffer, need);
|
||||
name_size = need;
|
||||
}
|
||||
|
||||
|
|
@ -1379,7 +1379,7 @@ extern "C" const char* ivl_lpm_name(ivl_lpm_t net)
|
|||
|
||||
unsigned need = strlen(sn) + 1 + strlen(net->name) + 1;
|
||||
if (need > name_size) {
|
||||
name_buffer = static_cast<char*>(realloc(name_buffer, need));
|
||||
name_buffer = (char*)realloc(name_buffer, need);
|
||||
name_size = need;
|
||||
}
|
||||
|
||||
|
|
@ -1768,7 +1768,7 @@ extern "C" const char* ivl_nexus_name(ivl_nexus_t net)
|
|||
assert(net);
|
||||
if (net->name_ == 0) {
|
||||
char tmp[2 * sizeof(net) + 5];
|
||||
snprintf(tmp, sizeof tmp, "n%p", static_cast<void *>(net));
|
||||
snprintf(tmp, sizeof tmp, "n%p", (void *)net);
|
||||
net->name_ = api_strings.add(tmp);
|
||||
}
|
||||
return net->name_;
|
||||
|
|
@ -2257,10 +2257,11 @@ extern "C" const char* ivl_scope_name(ivl_scope_t net)
|
|||
unsigned needlen = scope_name_len(net);
|
||||
|
||||
if (name_size < needlen) {
|
||||
name_buffer = static_cast<char*>(realloc(name_buffer, needlen));
|
||||
name_buffer = (char*)realloc(name_buffer, needlen);
|
||||
name_size = needlen;
|
||||
}
|
||||
|
||||
|
||||
push_scope_basename(net, name_buffer);
|
||||
|
||||
return name_buffer;
|
||||
|
|
@ -2477,7 +2478,7 @@ extern "C" const char* ivl_signal_name(ivl_signal_t net)
|
|||
needlen += strlen(net->name_) + 2;
|
||||
|
||||
if (name_size < needlen) {
|
||||
name_buffer = static_cast<char*>(realloc(name_buffer, needlen));
|
||||
name_buffer = (char*)realloc(name_buffer, needlen);
|
||||
name_size = needlen;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000-2025 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2000-2021 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
|
||||
|
|
@ -57,14 +57,14 @@ void dll_target::sub_off_from_expr_(long off)
|
|||
assert(expr_ != 0);
|
||||
|
||||
char*bits;
|
||||
ivl_expr_t tmpc = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t tmpc = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
tmpc->type_ = IVL_EX_NUMBER;
|
||||
tmpc->value_ = IVL_VT_VECTOR;
|
||||
tmpc->net_type= 0;
|
||||
tmpc->width_ = expr_->width_;
|
||||
tmpc->signed_ = expr_->signed_;
|
||||
tmpc->sized_ = 1;
|
||||
tmpc->u_.number_.bits_ = bits = static_cast<char*>(malloc(tmpc->width_));
|
||||
tmpc->u_.number_.bits_ = bits = (char*)malloc(tmpc->width_);
|
||||
for (unsigned idx = 0 ; idx < tmpc->width_ ; idx += 1) {
|
||||
bits[idx] = (off & 1)? '1' : '0';
|
||||
off >>= 1;
|
||||
|
|
@ -73,7 +73,7 @@ void dll_target::sub_off_from_expr_(long off)
|
|||
/* Now make the subtracter (x-4 in the above example)
|
||||
that has as input A the index expression and input B
|
||||
the constant to subtract. */
|
||||
ivl_expr_t tmps = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t tmps = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
tmps->type_ = IVL_EX_BINARY;
|
||||
tmps->value_ = IVL_VT_VECTOR;
|
||||
tmps->net_type= 0;
|
||||
|
|
@ -93,14 +93,14 @@ void dll_target::mul_expr_by_const_(long val)
|
|||
assert(expr_ != 0);
|
||||
|
||||
char*bits;
|
||||
ivl_expr_t tmpc = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t tmpc = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
tmpc->type_ = IVL_EX_NUMBER;
|
||||
tmpc->value_ = IVL_VT_VECTOR;
|
||||
tmpc->net_type= 0;
|
||||
tmpc->width_ = expr_->width_;
|
||||
tmpc->signed_ = expr_->signed_;
|
||||
tmpc->sized_ = 1;
|
||||
tmpc->u_.number_.bits_ = bits = static_cast<char*>(malloc(tmpc->width_));
|
||||
tmpc->u_.number_.bits_ = bits = (char*)malloc(tmpc->width_);
|
||||
for (unsigned idx = 0 ; idx < tmpc->width_ ; idx += 1) {
|
||||
bits[idx] = (val & 1)? '1' : '0';
|
||||
val >>= 1;
|
||||
|
|
@ -109,7 +109,7 @@ void dll_target::mul_expr_by_const_(long val)
|
|||
/* Now make the subtracter (x-4 in the above example)
|
||||
that has as input A the index expression and input B
|
||||
the constant to subtract. */
|
||||
ivl_expr_t tmps = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t tmps = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
tmps->type_ = IVL_EX_BINARY;
|
||||
tmps->value_ = IVL_VT_VECTOR;
|
||||
tmpc->net_type= 0;
|
||||
|
|
@ -126,7 +126,7 @@ void dll_target::mul_expr_by_const_(long val)
|
|||
|
||||
ivl_expr_t dll_target::expr_from_value_(const verinum&val)
|
||||
{
|
||||
ivl_expr_t expr = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t expr = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
unsigned idx;
|
||||
char*bits;
|
||||
|
|
@ -136,7 +136,7 @@ ivl_expr_t dll_target::expr_from_value_(const verinum&val)
|
|||
expr->width_= val.len();
|
||||
expr->signed_ = val.has_sign()? 1 : 0;
|
||||
expr->sized_= 1;
|
||||
expr->u_.number_.bits_ = bits = static_cast<char*>(malloc(expr->width_ + 1));
|
||||
expr->u_.number_.bits_ = bits = (char*)malloc(expr->width_ + 1);
|
||||
for (idx = 0 ; idx < expr->width_ ; idx += 1)
|
||||
switch (val.get(idx)) {
|
||||
case verinum::V0:
|
||||
|
|
@ -164,7 +164,7 @@ void dll_target::expr_access_func(const NetEAccess*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
// Make a stub Branch Access Function expression node.
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->type_ = IVL_EX_BACCESS;
|
||||
expr_->value_ = IVL_VT_REAL;
|
||||
expr_->net_type=0;
|
||||
|
|
@ -180,7 +180,7 @@ void dll_target::expr_access_func(const NetEAccess*net)
|
|||
void dll_target::expr_array_pattern(const NetEArrayPattern*net)
|
||||
{
|
||||
assert(expr_ == 0);
|
||||
ivl_expr_t expr_tmp = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t expr_tmp = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_tmp->type_ = IVL_EX_ARRAY_PATTERN;
|
||||
expr_tmp->value_= net->expr_type();
|
||||
expr_tmp->net_type = net->net_type();
|
||||
|
|
@ -213,7 +213,7 @@ void dll_target::expr_binary(const NetEBinary*net)
|
|||
net->right()->expr_scan(this);
|
||||
ivl_expr_t rght = expr_;
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr_->type_ = IVL_EX_BINARY;
|
||||
expr_->value_= get_expr_type(net);
|
||||
|
|
@ -261,7 +261,7 @@ void dll_target::expr_const(const NetEConst*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->value_= net->expr_type();
|
||||
expr_->net_type=0;
|
||||
FILE_NAME(expr_, net);
|
||||
|
|
@ -279,7 +279,7 @@ void dll_target::expr_const(const NetEConst*net)
|
|||
expr_->width_= net->expr_width();
|
||||
expr_->signed_ = net->has_sign()? 1 : 0;
|
||||
expr_->sized_= net->has_width()? 1 : 0;
|
||||
expr_->u_.number_.bits_ = bits = static_cast<char*>(malloc(expr_->width_));
|
||||
expr_->u_.number_.bits_ = bits = (char*)malloc(expr_->width_);
|
||||
for (idx = 0 ; idx < expr_->width_ ; idx += 1)
|
||||
switch (val.get(idx)) {
|
||||
case verinum::V0:
|
||||
|
|
@ -334,7 +334,7 @@ void dll_target::expr_rparam(const NetECRealParam*net)
|
|||
void dll_target::expr_creal(const NetECReal*net)
|
||||
{
|
||||
assert(expr_ == 0);
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->width_ = net->expr_width();
|
||||
expr_->signed_ = 1;
|
||||
expr_->sized_ = 1;
|
||||
|
|
@ -396,7 +396,7 @@ void dll_target::expr_new(const NetENew*net)
|
|||
}
|
||||
|
||||
assert(expr_ == 0);
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->width_ = net->expr_width();
|
||||
expr_->signed_ = 0;
|
||||
expr_->sized_ = 1;
|
||||
|
|
@ -411,7 +411,7 @@ void dll_target::expr_new(const NetENew*net)
|
|||
void dll_target::expr_null(const NetENull*net)
|
||||
{
|
||||
assert(expr_ == 0);
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->width_ = net->expr_width();
|
||||
expr_->signed_ = 0;
|
||||
expr_->sized_ = 1;
|
||||
|
|
@ -430,7 +430,7 @@ void dll_target::expr_property(const NetEProperty*net)
|
|||
expr_ = 0;
|
||||
}
|
||||
assert(expr_ == 0);
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->width_ = net->expr_width();
|
||||
expr_->signed_ = net->has_sign();
|
||||
expr_->sized_ = 1;
|
||||
|
|
@ -447,7 +447,7 @@ void dll_target::expr_event(const NetEEvent*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr_->type_ = IVL_EX_EVENT;
|
||||
FILE_NAME(expr_, net);
|
||||
|
|
@ -472,7 +472,7 @@ void dll_target::expr_scope(const NetEScope*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr_->type_ = IVL_EX_SCOPE;
|
||||
FILE_NAME(expr_, net);
|
||||
|
|
@ -493,7 +493,7 @@ void dll_target::expr_scopy(const NetEShallowCopy*net)
|
|||
ivl_expr_t expr2 = expr_;
|
||||
expr_ = 0;
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->type_ = IVL_EX_SHALLOWCOPY;
|
||||
FILE_NAME(expr_, net);
|
||||
expr_->value_ = net->expr_type();
|
||||
|
|
@ -507,7 +507,7 @@ void dll_target::expr_netenum(const NetENetenum*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr_->type_ = IVL_EX_ENUMTYPE;
|
||||
FILE_NAME(expr_, net);
|
||||
|
|
@ -529,7 +529,7 @@ void dll_target::expr_select(const NetESelect*net)
|
|||
|
||||
ivl_expr_t base = expr_;
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr_->type_ = IVL_EX_SELECT;
|
||||
expr_->value_= net->expr_type();
|
||||
|
|
@ -548,7 +548,7 @@ void dll_target::expr_sfunc(const NetESFunc*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
|
||||
ivl_expr_t expr = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t expr = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr->type_ = IVL_EX_SFUNC;
|
||||
expr->value_= net->expr_type();
|
||||
|
|
@ -579,7 +579,7 @@ void dll_target::expr_ternary(const NetETernary*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
|
||||
ivl_expr_t expr = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t expr = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr->type_ = IVL_EX_TERNARY;
|
||||
expr->value_= net->expr_type();
|
||||
|
|
@ -621,7 +621,7 @@ void dll_target::expr_signal(const NetESignal*net)
|
|||
expr_ = 0;
|
||||
}
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr_->type_ = IVL_EX_SIGNAL;
|
||||
expr_->value_= net->expr_type();
|
||||
|
|
@ -649,7 +649,7 @@ void dll_target::expr_ufunc(const NetEUFunc*net)
|
|||
{
|
||||
assert(expr_ == 0);
|
||||
|
||||
ivl_expr_t expr = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
ivl_expr_t expr = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
|
||||
expr->type_ = IVL_EX_UFUNC;
|
||||
expr->value_= net->expr_type();
|
||||
|
|
@ -692,7 +692,7 @@ void dll_target::expr_unary(const NetEUnary*net)
|
|||
|
||||
ivl_expr_t sub = expr_;
|
||||
|
||||
expr_ = static_cast<ivl_expr_t>(calloc(1, sizeof(struct ivl_expr_s)));
|
||||
expr_ = (ivl_expr_t)calloc(1, sizeof(struct ivl_expr_s));
|
||||
expr_->type_ = IVL_EX_UNARY;
|
||||
expr_->value_= net->expr_type();
|
||||
expr_->net_type=0;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000-2025 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2000-2022 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
|
||||
|
|
@ -36,8 +36,8 @@ bool dll_target::process(const NetProcTop*net)
|
|||
{
|
||||
bool rc_flag = true;
|
||||
|
||||
ivl_process_t obj = static_cast<struct ivl_process_s*>
|
||||
(calloc(1, sizeof(struct ivl_process_s)));
|
||||
ivl_process_t obj = (struct ivl_process_s*)
|
||||
calloc(1, sizeof(struct ivl_process_s));
|
||||
|
||||
obj->type_ = net->type();
|
||||
obj->analog_flag = 0;
|
||||
|
|
@ -61,7 +61,7 @@ bool dll_target::process(const NetProcTop*net)
|
|||
statement back. The asserts check these conditions. */
|
||||
|
||||
assert(stmt_cur_ == 0);
|
||||
stmt_cur_ = static_cast<struct ivl_statement_s*>(calloc(1, sizeof*stmt_cur_));
|
||||
stmt_cur_ = (struct ivl_statement_s*)calloc(1, sizeof*stmt_cur_);
|
||||
rc_flag = net->statement()->emit_proc(this) && rc_flag;
|
||||
|
||||
assert(stmt_cur_);
|
||||
|
|
@ -83,7 +83,7 @@ void dll_target::task_def(const NetScope*net)
|
|||
assert(def);
|
||||
assert(def->proc());
|
||||
assert(stmt_cur_ == 0);
|
||||
stmt_cur_ = static_cast<struct ivl_statement_s*>(calloc(1, sizeof*stmt_cur_));
|
||||
stmt_cur_ = (struct ivl_statement_s*)calloc(1, sizeof*stmt_cur_);
|
||||
def->proc()->emit_proc(this);
|
||||
|
||||
assert(stmt_cur_);
|
||||
|
|
@ -107,7 +107,7 @@ bool dll_target::func_def(const NetScope*net)
|
|||
assert(def);
|
||||
assert(def->proc());
|
||||
assert(stmt_cur_ == 0);
|
||||
stmt_cur_ = static_cast<struct ivl_statement_s*>(calloc(1, sizeof*stmt_cur_));
|
||||
stmt_cur_ = (struct ivl_statement_s*)calloc(1, sizeof*stmt_cur_);
|
||||
def->proc()->emit_proc(this);
|
||||
|
||||
assert(stmt_cur_);
|
||||
|
|
@ -315,8 +315,8 @@ void dll_target::proc_assign_nb(const NetAssignNB*net)
|
|||
if (net->nevents() > 0) {
|
||||
stmt_cur_->u_.assign_.nevent = net->nevents();
|
||||
if (net->nevents() > 1) {
|
||||
stmt_cur_->u_.assign_.events = static_cast<ivl_event_t*>
|
||||
(calloc(net->nevents(), sizeof(ivl_event_t*)));
|
||||
stmt_cur_->u_.assign_.events = (ivl_event_t*)
|
||||
calloc(net->nevents(), sizeof(ivl_event_t*));
|
||||
}
|
||||
|
||||
for (unsigned edx = 0 ; edx < net->nevents() ; edx += 1) {
|
||||
|
|
@ -377,9 +377,10 @@ void dll_target::proc_assign_nb(const NetAssignNB*net)
|
|||
break;
|
||||
}
|
||||
|
||||
for (unsigned bit = 0; bit < pr->pin_count(); bit += 1) {
|
||||
ivl_nexus_t nex = static_cast<ivl_nexus_t>
|
||||
(pr->pin(bit).nexus()->t_cookie());
|
||||
for (unsigned bit = 0; bit < pr->pin_count();
|
||||
bit += 1) {
|
||||
ivl_nexus_t nex = (ivl_nexus_t)
|
||||
pr->pin(bit).nexus()->t_cookie();
|
||||
assert(nex);
|
||||
ev_tmp->pins[base+bit] = nex;
|
||||
}
|
||||
|
|
@ -435,8 +436,8 @@ bool dll_target::proc_block(const NetBlock*net)
|
|||
break;
|
||||
}
|
||||
stmt_cur_->u_.block_.nstmt_ = count;
|
||||
stmt_cur_->u_.block_.stmt_ = static_cast<struct ivl_statement_s*>
|
||||
(calloc(count, sizeof(struct ivl_statement_s)));
|
||||
stmt_cur_->u_.block_.stmt_ = (struct ivl_statement_s*)
|
||||
calloc(count, sizeof(struct ivl_statement_s));
|
||||
|
||||
if (net->subscope())
|
||||
stmt_cur_->u_.block_.scope = lookup_scope_(net->subscope());
|
||||
|
|
@ -565,8 +566,8 @@ bool dll_target::proc_condit(const NetCondit*net)
|
|||
FILE_NAME(stmt_cur_, net);
|
||||
|
||||
stmt_cur_->type_ = IVL_ST_CONDIT;
|
||||
stmt_cur_->u_.condit_.stmt_ = static_cast<struct ivl_statement_s*>
|
||||
(calloc(2, sizeof(struct ivl_statement_s)));
|
||||
stmt_cur_->u_.condit_.stmt_ = (struct ivl_statement_s*)
|
||||
calloc(2, sizeof(struct ivl_statement_s));
|
||||
|
||||
assert(expr_ == 0);
|
||||
net->expr()->expr_scan(this);
|
||||
|
|
@ -616,8 +617,8 @@ bool dll_target::proc_delay(const NetPDelay*net)
|
|||
assert(stmt_cur_->type_ == IVL_ST_NONE);
|
||||
FILE_NAME(stmt_cur_, net);
|
||||
|
||||
ivl_statement_t tmp = static_cast<struct ivl_statement_s*>
|
||||
(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
ivl_statement_t tmp = (struct ivl_statement_s*)
|
||||
calloc(1, sizeof(struct ivl_statement_s));
|
||||
|
||||
if (const NetExpr*expr = net->expr()) {
|
||||
|
||||
|
|
@ -674,8 +675,8 @@ void dll_target::proc_do_while(const NetDoWhile*net)
|
|||
FILE_NAME(stmt_cur_, net);
|
||||
|
||||
stmt_cur_->type_ = IVL_ST_DO_WHILE;
|
||||
stmt_cur_->u_.while_.stmt_ = static_cast<struct ivl_statement_s*>
|
||||
(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
stmt_cur_->u_.while_.stmt_ = (struct ivl_statement_s*)
|
||||
calloc(1, sizeof(struct ivl_statement_s));
|
||||
|
||||
assert(expr_ == 0);
|
||||
net->expr()->expr_scan(this);
|
||||
|
|
@ -720,8 +721,8 @@ void dll_target::proc_forever(const NetForever*net)
|
|||
|
||||
stmt_cur_->type_ = IVL_ST_FOREVER;
|
||||
|
||||
ivl_statement_t tmp = static_cast<struct ivl_statement_s*>
|
||||
(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
ivl_statement_t tmp = (struct ivl_statement_s*)
|
||||
calloc(1, sizeof(struct ivl_statement_s));
|
||||
|
||||
ivl_statement_t save_cur_ = stmt_cur_;
|
||||
stmt_cur_ = tmp;
|
||||
|
|
@ -746,7 +747,7 @@ bool dll_target::proc_forloop(const NetForLoop*net)
|
|||
|
||||
// Note that the init statement is optional. If it is not present,
|
||||
// then the emit_recurse_init will not generate a statement.
|
||||
tmp = static_cast<struct ivl_statement_s*> (calloc(1, sizeof(struct ivl_statement_s)));
|
||||
tmp = (struct ivl_statement_s*)calloc(1, sizeof(struct ivl_statement_s));
|
||||
stmt_cur_ = tmp;
|
||||
rc = net->emit_recurse_init(this);
|
||||
if (stmt_cur_->type_ != IVL_ST_NONE)
|
||||
|
|
@ -757,13 +758,13 @@ bool dll_target::proc_forloop(const NetForLoop*net)
|
|||
}
|
||||
res = res && rc;
|
||||
|
||||
tmp = static_cast<struct ivl_statement_s*>(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
tmp = (struct ivl_statement_s*)calloc(1, sizeof(struct ivl_statement_s));
|
||||
stmt_cur_ = tmp;
|
||||
rc = net->emit_recurse_stmt(this);
|
||||
save_cur_->u_.forloop_.stmt = stmt_cur_;
|
||||
res = res && rc;
|
||||
|
||||
tmp = static_cast<struct ivl_statement_s*>(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
tmp = (struct ivl_statement_s*)calloc(1, sizeof(struct ivl_statement_s));
|
||||
stmt_cur_ = tmp;
|
||||
rc = net->emit_recurse_step(this);
|
||||
if (stmt_cur_->type_ != IVL_ST_NONE)
|
||||
|
|
@ -821,8 +822,8 @@ void dll_target::proc_repeat(const NetRepeat*net)
|
|||
stmt_cur_->u_.while_.cond_ = expr_;
|
||||
expr_ = 0;
|
||||
|
||||
ivl_statement_t tmp = static_cast<struct ivl_statement_s*>
|
||||
(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
ivl_statement_t tmp = (struct ivl_statement_s*)
|
||||
calloc(1, sizeof(struct ivl_statement_s));
|
||||
|
||||
ivl_statement_t save_cur_ = stmt_cur_;
|
||||
stmt_cur_ = tmp;
|
||||
|
|
@ -845,8 +846,8 @@ void dll_target::proc_stask(const NetSTask*net)
|
|||
stmt_cur_->u_.stask_.name_ = net->name();
|
||||
stmt_cur_->u_.stask_.sfunc_as_task_ = net->sfunc_as_task();
|
||||
stmt_cur_->u_.stask_.nparm_= nparms;
|
||||
stmt_cur_->u_.stask_.parms_= static_cast<ivl_expr_t*>
|
||||
(calloc(nparms, sizeof(ivl_expr_t)));
|
||||
stmt_cur_->u_.stask_.parms_= (ivl_expr_t*)
|
||||
calloc(nparms, sizeof(ivl_expr_t));
|
||||
|
||||
for (unsigned idx = 0 ; idx < nparms ; idx += 1) {
|
||||
if (net->parm(idx))
|
||||
|
|
@ -932,8 +933,8 @@ bool dll_target::proc_wait(const NetEvWait*net)
|
|||
FILE_NAME(stmt_cur_, net);
|
||||
|
||||
stmt_cur_->type_ = IVL_ST_WAIT;
|
||||
stmt_cur_->u_.wait_.stmt_ = static_cast<struct ivl_statement_s*>
|
||||
(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
stmt_cur_->u_.wait_.stmt_ = (struct ivl_statement_s*)
|
||||
calloc(1, sizeof(struct ivl_statement_s));
|
||||
|
||||
stmt_cur_->u_.wait_.nevent = net->nevents();
|
||||
|
||||
|
|
@ -950,8 +951,8 @@ bool dll_target::proc_wait(const NetEvWait*net)
|
|||
|
||||
// This event processing code is also in the NB assign above.
|
||||
if (net->nevents() > 1) {
|
||||
stmt_cur_->u_.wait_.events = static_cast<ivl_event_t*>
|
||||
(calloc(net->nevents(), sizeof(ivl_event_t*)));
|
||||
stmt_cur_->u_.wait_.events = (ivl_event_t*)
|
||||
calloc(net->nevents(), sizeof(ivl_event_t*));
|
||||
}
|
||||
|
||||
for (unsigned edx = 0 ; edx < net->nevents() ; edx += 1) {
|
||||
|
|
@ -1012,8 +1013,8 @@ bool dll_target::proc_wait(const NetEvWait*net)
|
|||
}
|
||||
|
||||
for (unsigned bit = 0; bit < pr->pin_count(); bit += 1) {
|
||||
ivl_nexus_t nex = static_cast<ivl_nexus_t>
|
||||
(pr->pin(bit).nexus()->t_cookie());
|
||||
ivl_nexus_t nex = (ivl_nexus_t)
|
||||
pr->pin(bit).nexus()->t_cookie();
|
||||
ivl_assert(*ev, nex);
|
||||
ev_tmp->pins[base+bit] = nex;
|
||||
}
|
||||
|
|
@ -1042,8 +1043,8 @@ void dll_target::proc_while(const NetWhile*net)
|
|||
FILE_NAME(stmt_cur_, net);
|
||||
|
||||
stmt_cur_->type_ = IVL_ST_WHILE;
|
||||
stmt_cur_->u_.while_.stmt_ = static_cast<struct ivl_statement_s*>
|
||||
(calloc(1, sizeof(struct ivl_statement_s)));
|
||||
stmt_cur_->u_.while_.stmt_ = (struct ivl_statement_s*)
|
||||
calloc(1, sizeof(struct ivl_statement_s));
|
||||
|
||||
assert(expr_ == 0);
|
||||
net->expr()->expr_scan(this);
|
||||
|
|
|
|||
40
t-dll.cc
40
t-dll.cc
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000-2025 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2000-2022 Stephen Williams (steve@icarus.com)
|
||||
* Copyright CERN 2013 / Stephen Williams (steve@icarus.com)
|
||||
*
|
||||
* This source code is free software; you can redistribute it
|
||||
|
|
@ -42,14 +42,14 @@ struct dll_target dll_target_obj;
|
|||
|
||||
inline ivl_dll_t ivl_dlopen(const char *name)
|
||||
{
|
||||
ivl_dll_t res = static_cast<ivl_dll_t>(LoadLibrary(name));
|
||||
ivl_dll_t res = (ivl_dll_t) LoadLibrary(name);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
inline void * ivl_dlsym(ivl_dll_t dll, const char *nm)
|
||||
{
|
||||
return reinterpret_cast<void*>(GetProcAddress((HMODULE)dll, nm));
|
||||
return (void*)GetProcAddress((HMODULE)dll, nm);
|
||||
}
|
||||
|
||||
inline void ivl_dlclose(ivl_dll_t dll)
|
||||
|
|
@ -419,13 +419,13 @@ void scope_add_logic(ivl_scope_t scope, ivl_net_logic_t net)
|
|||
{
|
||||
if (scope->nlog_ == 0) {
|
||||
scope->nlog_ = 1;
|
||||
scope->log_ = static_cast<ivl_net_logic_t*>(malloc(sizeof(ivl_net_logic_t)));
|
||||
scope->log_ = (ivl_net_logic_t*)malloc(sizeof(ivl_net_logic_t));
|
||||
scope->log_[0] = net;
|
||||
|
||||
} else {
|
||||
scope->nlog_ += 1;
|
||||
scope->log_ = static_cast<ivl_net_logic_t*>
|
||||
(realloc(scope->log_, scope->nlog_*sizeof(ivl_net_logic_t)));
|
||||
scope->log_ = (ivl_net_logic_t*)
|
||||
realloc(scope->log_, scope->nlog_*sizeof(ivl_net_logic_t));
|
||||
scope->log_[scope->nlog_-1] = net;
|
||||
}
|
||||
|
||||
|
|
@ -435,13 +435,13 @@ void scope_add_event(ivl_scope_t scope, ivl_event_t net)
|
|||
{
|
||||
if (scope->nevent_ == 0) {
|
||||
scope->nevent_ = 1;
|
||||
scope->event_ = static_cast<ivl_event_t*>(malloc(sizeof(ivl_event_t)));
|
||||
scope->event_ = (ivl_event_t*)malloc(sizeof(ivl_event_t));
|
||||
scope->event_[0] = net;
|
||||
|
||||
} else {
|
||||
scope->nevent_ += 1;
|
||||
scope->event_ = static_cast<ivl_event_t*>
|
||||
(realloc(scope->event_, scope->nevent_*sizeof(ivl_event_t)));
|
||||
scope->event_ = (ivl_event_t*)
|
||||
realloc(scope->event_, scope->nevent_*sizeof(ivl_event_t));
|
||||
scope->event_[scope->nevent_-1] = net;
|
||||
}
|
||||
|
||||
|
|
@ -452,14 +452,15 @@ static void scope_add_lpm(ivl_scope_t scope, ivl_lpm_t net)
|
|||
if (scope->nlpm_ == 0) {
|
||||
assert(scope->lpm_ == 0);
|
||||
scope->nlpm_ = 1;
|
||||
scope->lpm_ = static_cast<ivl_lpm_t*>(malloc(sizeof(ivl_lpm_t)));
|
||||
scope->lpm_ = (ivl_lpm_t*)malloc(sizeof(ivl_lpm_t));
|
||||
scope->lpm_[0] = net;
|
||||
|
||||
} else {
|
||||
assert(scope->lpm_);
|
||||
scope->nlpm_ += 1;
|
||||
scope->lpm_ = static_cast<ivl_lpm_t*>
|
||||
(realloc(scope->lpm_, scope->nlpm_*sizeof(ivl_lpm_t)));
|
||||
scope->lpm_ = (ivl_lpm_t*)
|
||||
realloc(scope->lpm_,
|
||||
scope->nlpm_*sizeof(ivl_lpm_t));
|
||||
scope->lpm_[scope->nlpm_-1] = net;
|
||||
}
|
||||
}
|
||||
|
|
@ -712,7 +713,7 @@ bool dll_target::start_design(const Design*des)
|
|||
add_root(*cur);
|
||||
}
|
||||
|
||||
target_ = reinterpret_cast<target_design_f>(ivl_dlsym(dll_, LU "target_design" TU));
|
||||
target_ = (target_design_f)ivl_dlsym(dll_, LU "target_design" TU);
|
||||
if (target_ == 0) {
|
||||
cerr << dll_path_ << ": error: target_design entry "
|
||||
"point is missing." << endl;
|
||||
|
|
@ -954,7 +955,7 @@ void dll_target::event(const NetEvent*net)
|
|||
}
|
||||
|
||||
unsigned npins = obj->nany + obj->nneg + obj->npos + obj->nedg;
|
||||
obj->pins = static_cast<ivl_nexus_t*>(calloc(npins, sizeof(ivl_nexus_t)));
|
||||
obj->pins = (ivl_nexus_t*)calloc(npins, sizeof(ivl_nexus_t));
|
||||
|
||||
} else {
|
||||
obj->pins = 0;
|
||||
|
|
@ -1320,8 +1321,8 @@ ivl_event_t dll_target::make_lpm_trigger(const NetEvWait*net)
|
|||
assert(ev->nprobe() == 1);
|
||||
const NetEvProbe*pr = ev->probe(0);
|
||||
for (unsigned bit = 0; bit < pr->pin_count(); bit += 1) {
|
||||
ivl_nexus_t nex = static_cast<ivl_nexus_t>
|
||||
(pr->pin(bit).nexus()->t_cookie());
|
||||
ivl_nexus_t nex = (ivl_nexus_t)
|
||||
pr->pin(bit).nexus()->t_cookie();
|
||||
assert(nex);
|
||||
trigger->pins[bit] = nex;
|
||||
}
|
||||
|
|
@ -1452,7 +1453,7 @@ void dll_target::udp(const NetUDP*net)
|
|||
} else {
|
||||
u = new struct ivl_udp_s;
|
||||
u->nrows = net->rows();
|
||||
u->table = static_cast<ivl_udp_s::ccharp_t*>(malloc((u->nrows+1)*sizeof(char*)));
|
||||
u->table = (ivl_udp_s::ccharp_t*)malloc((u->nrows+1)*sizeof(char*));
|
||||
u->table[u->nrows] = 0x0;
|
||||
u->nin = net->nin();
|
||||
u->sequ = net->is_sequential();
|
||||
|
|
@ -2396,7 +2397,7 @@ bool dll_target::net_const(const NetConst*net)
|
|||
|
||||
} else {
|
||||
if (obj->width_ >= bits_cnt) {
|
||||
bits_tmp = static_cast<char*>(realloc(bits_tmp, obj->width_+1));
|
||||
bits_tmp = (char*)realloc(bits_tmp, obj->width_+1);
|
||||
bits_cnt = obj->width_+1;
|
||||
}
|
||||
bits = bits_tmp;
|
||||
|
|
@ -2868,8 +2869,7 @@ void dll_target::test_version(const char*target_name)
|
|||
return;
|
||||
}
|
||||
|
||||
target_query_f targ_query = reinterpret_cast<target_query_f>
|
||||
(ivl_dlsym(dll_, LU "target_query" TU));
|
||||
target_query_f targ_query = (target_query_f)ivl_dlsym(dll_, LU "target_query" TU);
|
||||
if (targ_query == 0) {
|
||||
cerr << "Target " << target_name
|
||||
<< " has no version hooks." << endl;
|
||||
|
|
|
|||
Loading…
Reference in New Issue