|
From: Don H. <don...@be...> - 2018-02-27 06:53:16
|
This was originally sent 2/24/2018 while SourceForge was down:
During compile, I get a compiler crash:
ivl: t-dll-api.cc:669: ivl_signal_s* ivl_expr_signal(ivl_expr_t): Assertion `0' failed.
Aborted (core dumped)
Command line was:
iverilog -g2005-sv -o compileout test4.v
The following was extracted from iverilog -V:
Icarus Verilog version 10.1 (stable) ()
Icarus Verilog Preprocessor version 10.1 (stable) ()
Icarus Verilog Parser/Elaborator version 10.1 (stable) ()
vvp.tgt: Icarus Verilog VVP Code Generator 10.1 (stable) ()
I stripped my original program down to something smaller which still
crashed. "test4.v" is the result and it is attached.
This was run on Ubuntu 17.10 on an old laptop, 2G RAM, CPU is:
AMD Turion(tm) 64 X2 Mobile Technology TL-56
Don
-------------------------------------------
On 2/27/2018, I found the code which incited the crash, lines 48, 74,
and 187. Each of these lines contains an implicit type conversion at an
assignment. Making the conversion explicit removes the crash. For example,
names[i] = temp_str; // implicit, compiler crashes
names[i] = reg [NAME_MAX_LENGTH*8:1] '(temp_str); // explicit, compiler does not crash
Fixing the code is my problem, of course, but I believe that the
compiler should not crash when it encounters this.
Don
|