Geza Lore
8814111724
Rework Ast hashing to be stable ( #2974 )
...
Rework Ast hashing to be stable
Eliminated reliance on pointer values in AstNode hashes in order to make
them stable. This requires moving the sameHash functions into a visitor,
as nodes pointed to via members (and not child nodes) need to be hashed
themselves.
The hashes are now stable (as far as I could test them), and the impact
on verilation time is small enough not to be reliably measurable.
2021-05-21 14:34:27 +01:00
Geza Lore
f6c0108c86
Optimize large lookup tables to static data ( #2926 )
...
Implements #2925
2021-05-08 20:04:56 +01:00
Geza Lore
008b8d5b56
Speed up sparse V3Number multiplication
2021-05-02 12:34:12 +01:00
Wilson Snyder
47dcbd4b8a
Internal: Remove deprecated/insecure functions. No functional change intended.
2021-03-06 10:34:03 -05:00
Wilson Snyder
9650aefa42
Internals: Cleanup unneeded {}. No functional change
2021-02-21 21:25:21 -05:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
b7a533109d
Fix cppcheck warnings. No functional change intended.
2020-12-23 15:22:02 -05:00
Wilson Snyder
af0e535015
Internals: Remove Xnor node type.
...
Convert to Not(Xor(x)) up front, to help code coverage and optimize out extra nots sooner.
2020-12-10 00:04:10 -05:00
Wilson Snyder
8e06b1e925
Misc internal coverage cleanups
2020-12-07 23:15:29 -05:00
Wilson Snyder
9bd5cd4ef3
Internals: Track null separately from '0
2020-12-05 16:49:10 -05:00
Wilson Snyder
d77beecc6e
Fix $countbits(..., 'z)
2020-11-27 21:34:40 -05:00
Wilson Snyder
abfee1270f
Improve internal code coverage
2020-11-18 22:21:48 -05:00
Wilson Snyder
c0888c1b0f
Internals: Use newline instead of endl to avoid unneeded flush.
2020-11-18 21:03:23 -05:00
Wilson Snyder
66d1754d19
Fix constant x propagation of xor.
2020-09-18 17:47:22 -04:00
Wilson Snyder
45eccaecaf
Fix Travis/GCC warnings.
2020-08-27 18:48:26 -04:00
Wilson Snyder
6013b54f7b
clang-tidy cleanups. No functional change intended.
2020-08-16 14:55:46 -04:00
Wilson Snyder
d75a8624c1
C++11: constexpr replacing defines. No functional change intended.
2020-08-16 14:19:12 -04:00
Wilson Snyder
ee9d6dd63f
C++11: Favor auto, range for. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
c0127599df
C++11: Use nullptr. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
98cd925fda
Fix non-32 bit conversion to float ( #2495 ).
2020-08-06 21:56:43 -04:00
Wilson Snyder
6ce878cb0d
Fix some clang-tidy warnings
2020-06-01 23:16:17 -04:00
Geza Lore
95534fa5c5
Remove unused headers ( #2389 )
2020-05-31 20:21:07 +01:00
Geza Lore
9712ceedd7
Internals: Remove empty statements. No functional change intended.
...
Remove stray semicolons, mostly by capturing them in macros accurately.
This removes a ton on lint warnings from CLion.
2020-05-30 19:13:18 +01:00
Wilson Snyder
fbc814b54a
Internal code coverage fixes
2020-05-29 19:35:54 -04:00
Wilson Snyder
5089ac6119
Remove VL_ULL as ULL now in MSVC & C++11
2020-05-28 20:32:07 -04:00
Maarten De Braekeleer
e8f27be200
Fix Visual Studio compiler issues ( #2375 )
...
* Make sure compiler creates same object file as target of rule
* MSVC requires a string return
* Case ranges are a gnu extension which MSVC does not understand
* _dupenv_s also returns 0 if the var could not be found
See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/dupenv-s-wdupenv-s?view=vs-2019
2020-05-28 17:39:20 -04:00
Wilson Snyder
6a882f9dc6
Internal code coverage improvements. No functional change intended.
2020-05-23 10:34:58 -04:00
Wilson Snyder
6fd7f45cef
Internals: Remove dead needHInlines code
2020-05-16 07:53:27 -04:00
Wilson Snyder
f005b7fd87
Support scan %* format
2020-05-11 22:13:59 -04:00
Wilson Snyder
897b9ccfe2
Fix display of huge double.
2020-05-10 16:03:46 -04:00
Yossi Nivin
f9a0cf0cff
Support $countbits ( #2287 )
2020-05-10 14:27:22 -04:00
Wilson Snyder
5f7ae1fbce
wip
2020-05-07 21:04:26 -04:00
Wilson Snyder
7d7e67b49b
Show Verilog reference on V3Number asserts.
2020-05-04 19:57:21 -04:00
Wilson Snyder
c6d1a9858a
Use clang-format 10.0.0
2020-04-28 18:47:59 -04:00
Wilson Snyder
f3308d236b
clang-format remaining sources. No functional change.
2020-04-15 07:58:34 -04:00
Geza Lore
08b74e5ab9
Fix crash when formatting constant wider than 1023 bits ( #2260 )
2020-04-14 18:07:09 -04:00
Wilson Snyder
50535a1894
Internals: cppcheck 1.90 fixes. No functional change intended.
2020-04-05 18:57:47 -04:00
Wilson Snyder
a331397954
Fix real conversion from constant with X/Z.
2020-04-05 11:56:15 -04:00
Wilson Snyder
38a31ae168
Cleanup misc clang-tidy warnings. No functional change intended
2020-04-03 22:31:54 -04:00
Wilson Snyder
ab058c85bf
Fix clang warning.
2020-04-01 12:40:49 -04:00
Wilson Snyder
e6beab4037
Fix implicit conversion of floats to wide integers.
2020-03-31 20:42:07 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
609a5dc26d
Fix cppcheck warnings. No functional change intended.
2020-02-03 23:21:56 -05:00
Wilson Snyder
2d195ebae5
Cleanup IEEE references.
2020-01-30 20:23:57 -05:00
Stefan Wallentowitz
22088c907f
Set maximum number width ( #2128 )
...
Adjust the maximum number width to 64K. Add --max-num-width option to
adjust this setting.
Closes #2082
2020-01-21 12:17:31 +01:00
Pieter Kapsenberg
4443ab34fd
Support left justified . Closes #2101 .
2020-01-15 07:32:45 -05:00
Wilson Snyder
2a50fafef2
Fix %{number}s with strings. #2093 .
2020-01-09 19:39:27 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Yutetsu TAKATSUKASA
8cdc0c4e00
Support string putc, getc, substr, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-15 08:09:52 -05:00
Yutetsu TAKATSUKASA
c2037ddbc5
Support string compare, icompare, ato* methods, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-09 19:17:52 -05:00
Wilson Snyder
bd0eadb311
Fix handling user-botch of %d to print real.
2019-12-08 22:48:44 -05:00
Wilson Snyder
700f2072c0
Framework for WDatas being vectors of 64-bit EDatas, but not supporting this at this time.
2019-12-08 21:36:38 -05:00
Wilson Snyder
559852f60b
Add error when number missing value.
2019-12-02 20:21:24 -05:00
Wilson Snyder
0c0198cf55
Support string.toupper and string.tolower.
2019-11-17 05:05:09 -05:00
Wilson Snyder
fcb733e8d0
Fix clang warning.
2019-11-09 21:47:27 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
352adbed74
Codacy/Cppcheck cleanups.
2019-10-24 22:40:15 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Wilson Snyder
a9954a71c3
Fix case statements with strings, bug1536.
2019-10-04 19:13:39 -04:00
Wilson Snyder
9eaec3b5c1
Fix misc bad-syntax crashes, bug1530.
2019-09-30 19:48:01 -04:00
Wilson Snyder
fa904f386c
Commentary - Spelling fixes
2019-09-09 07:50:21 -04:00
Todd Strader
4a14788c9b
When showing an error, show the instance location
2019-07-26 12:52:38 -04:00
Wilson Snyder
01ef7122e9
Internals: Add lcov code coverage markers.
2019-06-30 22:37:03 -04:00
Wilson Snyder
34ef3c9c38
Internals: Assert V3Number ops have different pointers.
2019-06-15 08:10:17 -04:00
Wilson Snyder
90af180ec1
Fix constant function return of function var, bug1467.
2019-06-15 08:03:39 -04:00
Wilson Snyder
0d71c1154d
Fix overshift error to have user's source line.
2019-06-15 07:44:03 -04:00
Wilson Snyder
f6f8073058
Support logical equivalence operator <->.
2019-06-01 19:40:06 -04:00
Wilson Snyder
a58e7d94ec
Error continuation lines no longer have %Error prefix.
2019-05-30 20:30:59 -04:00
Wilson Snyder
b83b606267
Internals: Detab and fix spacing style issues. No functional change.
...
When diff, recommend using "git diff --ignore-all-space"
When merging, recommend using "git merge -Xignore-all-space"
2019-05-19 16:13:13 -04:00
Kanad Kanhere
3411279294
Internals: Relocate quoteNameControls, part of bug1444.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-16 21:44:01 -04:00
Wilson Snyder
d841e68f4f
Fix parameter function string returns, bug1441.
2019-05-16 21:16:20 -04:00
Wilson Snyder
13ecb8e177
Fix fault on with %t, bug1443.
2019-05-16 19:35:10 -04:00
Wilson Snyder
1fb0af7fba
Internals: Fix some -Wsuggest-attribute=const suggestions.
2019-05-14 21:46:19 -04:00
Todd Strader
eac3458647
Internals: V3Number tracks node information, part of bug1305.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-09 20:03:19 -04:00
Wilson Snyder
37c8cc82b2
Auto-extend and WIDTH warn on unsized X/Zs, bug1423.
2019-05-07 21:57:38 -04:00
Wilson Snyder
1ff55c20e0
Support "'dx" constants, bug1423.
2019-05-01 20:02:28 -04:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
e8636f987f
Fix missing too many digits warning, bug1380.
2019-01-03 19:03:27 -05:00
Wilson Snyder
304a24d03a
Internals: Fix many clang-tidy issues. No functional change intended.
2018-10-14 18:39:33 -04:00
Wilson Snyder
d87b9d25ca
Internals: Cleanup and standardize include order. No functional change intended.
2018-10-14 13:59:40 -04:00
Wilson Snyder
b7e4083e70
Internals: Cleanup temp string inserts for clang-tidy. No functional change.
2018-10-14 11:10:11 -04:00
Wilson Snyder
595419b370
Internals: Sort includes for clang-tidy. No functional change intended.
2018-10-14 07:04:18 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
02f18fc21b
Merge from master
2018-03-15 23:31:59 -04:00
Wilson Snyder
2d580e6939
Support IEEE 1800-2017 as default language.
2018-03-12 22:26:34 -04:00
Wilson Snyder
94e8cf1de9
Internals: Use explicit std:: instead of using namespace std. No functional change intended.
2018-02-01 21:24:41 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Wilson Snyder
662ebece71
Support string len() method.
2017-12-07 19:57:11 -05:00
Wilson Snyder
895fc0911a
Support > 64 bit decimal $display.
2017-12-02 22:10:58 -05:00
Wilson Snyder
89f414b185
Less verbosity for IEEE warnings in earlier commit this rev.
2017-09-21 22:07:49 -04:00
Wilson Snyder
3862f2f022
Note IEEE in 32 bit decimal oversized
2017-09-18 22:50:26 -04:00
Wilson Snyder
c28a6eef3b
Fix whitespace issues, bug1203.
2017-09-11 19:18:58 -04:00
Wilson Snyder
70daadf987
Fix cpp-check warnings; support XML format 2
2017-07-06 20:25:59 -04:00
Wilson Snyder
c54024a5e6
Fix constant shifts by more than 32-bit numbers, bug1174 continued.
2017-06-05 21:15:31 -04:00
Wilson Snyder
97093fdf81
Fix power operator on wide constants, bug761.
2017-06-05 20:30:01 -04:00
Wilson Snyder
bdeee35669
Add warning on mis-sized literal, bug1156.
2017-04-26 18:34:01 -04:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
26774eb045
Fix error on wide numbers that represent small msb/lsb, msg1991.
2016-09-08 21:30:35 -04:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
849c1e46a2
Fix constant propagation, bug1012.
2015-12-08 22:22:42 -05:00
Wilson Snyder
ebad6cde36
Fix error instead of warning on large concat, msg1768.
2015-12-08 21:25:43 -05:00
Wilson Snyder
b0a249f338
Fix display %u, %v, %p, %z, bug989.
2015-11-10 21:12:15 -05:00
Wilson Snyder
0cb5d5cc5a
Internals: Upgrade some C strings to C++
2015-11-10 18:59:48 -05:00
Wilson Snyder
b66e1bdb9e
Fix Ubuntu 15.04 compile warning.
2015-05-15 20:03:29 -04:00
Wilson Snyder
a59639413d
Fix part-select in constant function, bug916.
2015-05-09 14:01:54 -04:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
43be4cf2b5
Add 'string' printing and comparisons, bug746, bug747, etc.
2014-11-28 15:01:50 -05:00
Wilson Snyder
8b457b9b66
Internal: Rename string functions. No functional change.
2014-11-28 13:50:37 -05:00
Wilson Snyder
475e4207cc
Fix late constant division by zero giving X error, bug775.
2014-06-09 22:27:04 -04:00
Wilson Snyder
06744b664a
Fix huge shifts to zero with -Wno-WIDTH, bug768.
2014-05-16 07:09:43 -04:00
Wilson Snyder
d3049d9c89
Fix huge shifts to zero with -Wno-WIDTH, bug766.
2014-05-15 21:49:43 -04:00
Wilson Snyder
d7e4bc1379
Fix huge shifts to zero with -Wno-WIDTH, bug765.
2014-05-13 08:10:59 -04:00
Wilson Snyder
3aa290cddb
Add error on power > 64-bits, bug761.
2014-05-10 08:24:51 -04:00
Glen Gibb
d34275150c
Support streaming operators, bug649.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-04-09 20:29:35 -04:00
Wilson Snyder
fb4928b2f5
Fix power calculation; setAllOnes should not set hidden state bits in V3Number.
2014-04-08 20:28:16 -04:00
Wilson Snyder
ff19dd94f9
Fix power operator calculation, bug730.
2014-04-05 15:44:49 -04:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
e42c9dfd84
Grammar
2013-07-29 21:53:43 -04:00
Wilson Snyder
91159da30d
Fix enums with X values. Test in next commit.
2013-02-02 12:43:28 -05:00
Wilson Snyder
a8bbf7231b
Copyright year update.
2013-01-01 09:42:59 -05:00
Wilson Snyder
c6e7d87960
Commentary - Remove author lines as amany contributors now
2012-05-24 19:19:48 -04:00
Wilson Snyder
b9101c3d6a
Better message for display-like format warnings, bug500.
2012-05-02 21:04:50 -04:00
Wilson Snyder
1b511dd130
Internals: Add opLogIf(f). No functional change. Merge from Jeremy Bennet.
2012-04-19 21:02:08 -04:00
Wilson Snyder
50edef4ab2
Add Emacs indentation line. No functional change
2012-04-12 21:08:20 -04:00
Wilson Snyder
d45d58b6bf
Fix real constant parameter functions, bug475.
2012-04-02 21:58:40 -04:00
Wilson Snyder
c2c7c7bd9a
Copyright year update
2012-01-15 10:26:28 -05:00
Wilson Snyder
29e24818a1
Internals: Rename and cleanup some width() usages. No functional change.
2011-11-30 18:50:21 -05:00
Wilson Snyder
eb6d42acf9
Support $ceil, $floor, etc.
2011-09-28 21:35:26 -04:00
Wilson Snyder
094d676a8b
Fix MSVC compile warning with trunc/round, bug394.
2011-09-21 09:08:05 -04:00
Wilson Snyder
df1da3dda9
Internals: Fix cppcheck warnings; no functional change intended
2011-08-04 21:58:45 -04:00
Wilson Snyder
c83f2a4abd
Internals: Fix preincrements to reduce cppcheck warnings
2011-08-04 21:15:24 -04:00
Wilson Snyder
d12a3dde45
Fix cast compile warning
2011-07-28 07:59:30 -04:00
Wilson Snyder
d88d85c172
Internals: Real2: Create numeric class; no functional change intended
2011-07-23 19:58:34 -04:00
Wilson Snyder
59c3c536c7
Internals: Real1: properly lex doubles
2011-07-23 08:25:41 -04:00
Wilson Snyder
698aaffb0b
Fix missing leading zeros in %0d, bug367
2011-07-14 07:39:11 -04:00
Wilson Snyder
ae4a261463
Internals: Rename UnaryMin to Negate. No functional change.
2011-07-08 06:03:07 -04:00
Wilson Snyder
02f3beb8db
Add V3Number rotate functions; unused as yet
2011-03-30 21:31:29 -04:00
Wilson Snyder
2923893d34
Support loop unrolling on width mismatches, bug 333
2011-03-12 07:45:04 -05:00
Wilson Snyder
cfdb852843
Fix concatenates and vectored bufif1, bug326.
2011-02-23 21:21:59 -05:00
Wilson Snyder
71c1f00ec2
Copyright year update
2011-01-01 18:21:19 -05:00
Wilson Snyder
72b596efb3
DPI $display like sformat metacomment and $sformatf
2010-01-17 19:13:44 -05:00
Wilson Snyder
729dfdfed7
Copyright year update
2010-01-05 21:15:06 -05:00
Wilson Snyder
45aa8742d8
Internals: Rename implicit_typeE to match Verilog-Perl
2009-12-17 20:58:14 -05:00
Wilson Snyder
82d917c2c5
Fix Verilator core dump on wide integer divides, bug178.
2009-11-10 10:44:50 -05:00
Wilson Snyder
47b5157f01
Support division and modulus of > 64 bit vectors.
2009-10-26 20:12:09 -04:00
Wilson Snyder
7a86514505
Rename opRange->opSel to match AstRange. No functional change.
2009-09-20 09:30:39 -04:00
Wilson Snyder
3c395c26be
Support decimal constants of arbitrary widths.
2009-06-12 08:27:48 -04:00
Wilson Snyder
7df730cedd
Verilator is now licensed under LGPL v3 and/or Artistic v2.0.
2009-05-04 17:07:57 -04:00
Wilson Snyder
2c953dc37f
Fix $clog2 calculation error with powers-of-2, bug81.
2009-05-01 22:18:32 -04:00
Wilson Snyder
cbb3351d97
Fix GCC 4.3.2 compile warnings.
2009-04-23 09:16:25 -04:00