This patch covers more than it should. It removes many of the -Wextra warnings in the main ivl directory. It also makes some minor code improvements, adds support for constant logicals in eval_tree (&&/||), adds support for correctly sign extending === and !==, it starts to standardize the eval_tree debug messages and fixes a strength bug in the target interface (found with -Wextra). The rest of the warnings and eval_tree() rework will need to come as a second patch.
This patch changes all the iterator code to use a prefix ++ instead of postfix since it is more efficient (no need for a temporary). It is likely that the compiler could optimize this away, but lets make it efficient from the start.
Seemingly does nothing, just refactors to create two new methods: bool NetPins::is_linked(void) void NetNet::initialize_value_and_dir(verinum::V init_value, Link::DIR dir) and rearranges netlist.h. This patch causes no regression in the testsuite. It smooths the way for any attempt to address pr2023076.
Remove the #ident and $Log$ strings from all the header files and almost all of the C/C++ source files. I think it is better to get this done all at once, then to wait for each of the files to be touched and edited in unrelated patches.
This patch modifies the code that finds and combines similar events such that if similar events are found in both static and automatic scopes, the retained event will be in a static scope. This is a performance enhancement, as VVP has more run-time overhead when handling events declared in an automatic scope.
and add the nodangle functor to clean up the local symbols generated by elaboration and other steps.