Commit Graph

9541 Commits

Author SHA1 Message Date
Martin Whitaker 51a171a399 Fix warnings about implicit copy assignments. 2021-01-02 14:49:09 +00:00
Martin Whitaker 2e4bf05e21 Avoid possible truncation of path strings when writing config file. 2021-01-01 19:31:05 +00:00
Martin Whitaker 4b3e1099e5 Fix configure scripts to work with autoconf 2.70.
Numerous deprecated features have now become obsolete. Mostly done by
running autoupdate, but that left a few fixes to be done manually.

This includes the latest version of AX_PROG_CC_FOR_BUILD from
https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
2021-01-01 18:42:01 +00:00
Cary R 66c5d8cc20 Cleanup cppcheck warnings in vvp 2021-01-01 00:20:26 -08:00
Cary R 053777f16d Fix some cppcheck warnings in tgt-vvp 2020-12-31 23:19:34 -08:00
Cary R 82a6e93c56 Update cppcheck waivers 2020-12-31 23:05:12 -08:00
Cary R 540555fca3 Add fix for GH460 a darray can have no packed dimension 2020-12-31 00:36:44 -08:00
Cary R 248aeeef66 Add support for \\\n being ignored in string constants 2020-12-30 18:00:39 -08:00
Cary R 99cb22fce0 Add the file/line info to the enum type 2020-12-30 15:22:15 -08:00
Stephen Williams 407627f4e6
Merge pull request #459 from steveicarus/steveicarus/string-name-method
Implement the enum.name() method
2020-12-30 14:04:55 -08:00
Stephen Williams c335c68973 Fix compilation of enum.name method.
The implementation was mostly there, but elaboration failed
due to some obsolete assumtions.
2020-12-30 13:41:08 -08:00
Stephen Williams c943484b39 Fix elaborations_sig of string types.
String variables are "string" and not "netvector_t:string".
Why did this ever work?
2020-12-30 10:39:51 -08:00
Stephen Williams 852d627de4
Merge pull request #457 from steveicarus/steveicarus/real-output-port
output ports of real type are variables, not wires.
2020-12-29 22:31:17 -08:00
Stephen Williams 752401b88c output ports of real type are variables, not wires. 2020-12-29 22:00:04 -08:00
Stephen Williams 2799db3912
Merge pull request #454 from steveicarus/steveicarus/elab_type_scope
Elaborate parameter types in the scope of the paramter.
2020-12-29 11:03:08 -08:00
Stephen Williams eaa3a10e8c Elaborate parameter types in the scope of the paramter. 2020-12-29 10:29:15 -08:00
Cary R b7306001ab Merge branch 'master' of github.com:steveicarus/iverilog 2020-12-28 09:56:59 -08:00
Cary R e633fcc199 Initial fix for GH449 2020-12-28 09:56:49 -08:00
Stephen Williams 6b53df9d1f
Merge pull request #448 from themperek/gha_osx
Add MacOS to CI/GHA
2020-12-28 08:00:04 -08:00
Tomasz Hemperek 1ce86a97ac Add macos to CI/GHA 2020-12-28 15:29:42 +01:00
Cary R 34d7be092e Remove R-value class check until class variables are found correctly 2020-12-28 04:55:59 -08:00
Cary R f4c79f5629 Fix empty check to work correctly when using auto_ptr 2020-12-28 04:34:38 -08:00
Stephen Williams 04bd450acb
Merge pull request #444 from steveicarus/steveicarus/param-data-types
Rework parsing of parameter types
2020-12-27 21:43:31 -08:00
Stephen Williams a286764c1d Add support for string parameters
Parameters can have string type and do the usual string stuff,
and also implement some of the string methods on string parameters
so that they evaluate down to constants.
2020-12-27 21:17:57 -08:00
Stephen Williams 16646c547c Rework parsing of parameter types
Use the common data_type_or_implicit rules to support type
definitions for parameters. This eliminates a bunch of special
rules in parse.y, and opens the door for parameters having
more complex types.
2020-12-27 21:17:57 -08:00
Cary R 51025149a9 Report operators that cannot be used with null/class vars 2020-12-27 19:05:49 -08:00
Cary R 5edecab41f Handle a void function call in the delay type calculation 2020-12-27 12:54:28 -08:00
Cary R cf53584733 Check if no argument task calls are allowed in the current context 2020-12-27 12:05:54 -08:00
Cary R 5ca947ea8a Allow signed/unsigned for fixed width integer data type parameters 2020-12-27 01:04:01 -08:00
Martin Whitaker a019994513 Fix search for class imported from another package (issue #437). 2020-12-23 19:16:14 +00:00
Cary R 71843a66f8 Add support for calling queue/darray functions as tasks 2020-12-20 16:50:11 -08:00
Cary R 6c3abb44c6 Update to the latest GTKWave files 2020-12-20 12:51:53 -08:00
Martin Whitaker fe79f130b5 Support macro text continuation after single line comment (issue #435) 2020-12-20 12:29:24 +00:00
Cary R 0a429dba99 And another compiler warning fix 2020-12-14 20:22:12 -08:00
Cary R 7f2ee99ebd Fix some compiler warnings 2020-12-14 20:06:40 -08:00
Martin Whitaker a1dd6bb056 Fix CI test.sh to return an exit code of 1 if any step fails. 2020-12-14 11:22:34 +00:00
Cary R b7b7280794 Merge branch 'master' of github.com:steveicarus/iverilog 2020-12-13 23:02:43 -08:00
Cary R 05a4e72b1a Add support for passing a null object to $display 2020-12-13 23:02:11 -08:00
Stephen Williams 16a45e06fb
Merge pull request #425 from steveicarus/steveicarus/gh414-string-atoi
Implement the string.atoi method
2020-12-13 22:15:06 -08:00
Stephen Williams bfd22c373f Implement the string.atoi method
This implements:
string.atoi
string.atoreal
string.atohex

Fixes #414
2020-12-13 21:55:34 -08:00
Stephen Williams e589d6f59a
Merge pull request #424 from steveicarus/steveicarus/br412
Handle dynamic queue objects in event context
2020-12-13 20:18:32 -08:00
Stephen Williams e5f68d7c89 Handle dynamic queue objects in event context
In the rare cases where DARRAY signals are in the network, handle
them by creating the proper ivl_nexus_t node. This also implements
the receive of vvp_object_t objects bu vvp_fun_anyedge_sa. This
together makes it possible for IVL_VT_DQUEUE objects to be in
wait lists.

This fixes #412
2020-12-13 18:22:34 -08:00
Martin Whitaker f4d22af4bd tgt-vlog95: fix assertion failure when function calls a void function 2020-12-13 22:46:47 +00:00
Martin Whitaker f8c49469fa Report a call to an unknown task as an error, not an internal error.
This error can certainly be triggered by invalid user code - see
issue #419.
2020-12-13 22:12:02 +00:00
Martin Whitaker fbd87b4fee Add extra debug output. 2020-12-13 21:49:42 +00:00
Martin Whitaker 393236a9a8 Fix assertion failure when elaborating a void function call (issue #318)
Depending on the order of elaboration, a function may not have been
elaborated before a call to it is elaborated, so don't assert that it
has been. As an optimisation, try to elaborate it on the fly, so we can
elide the call if the function body is empty.
2020-12-13 21:42:13 +00:00
Martin Whitaker 94b503fc64 Fix assertion failure for function body with single null statement (GH issue #411) 2020-12-10 17:40:30 +00:00
Martin Whitaker 1bb355a95e Update CI test script to easily change version of expected results. 2020-12-05 22:38:30 +00:00
Martin Whitaker 96df23c5f9 Try renabling ASLR for MSYS2 package build.
This should work now, given the previous commit that fixed the address
mask size in vvp.
2020-12-04 18:49:42 +00:00
Martin Whitaker 0d6a2f95a8 Fix vvp segfault on Windows when vvp_net_ptr_t values exceed 4GB.
Under Windows unsigned long is 32 bits, so we must use unsigned long long
values for 64-bit address masks.
2020-12-04 18:47:58 +00:00