Wilson Snyder
ee7b399bf5
Parser: Move 'static' unsupported messages down out of parser.
2020-07-02 21:02:49 -04:00
Wilson Snyder
50c28fa9d3
Parser: Move 'pure virtual' and 'extern' unsupported messages down out of parser.
2020-07-02 08:24:50 -04:00
Geza Lore
a17f51eac0
Improve V3MergeCond
...
- Do try to merge after assignment to condition when possible.
- Do not try to merge reduced form if not the expected statement.
This used to cause a crash.
2020-07-02 13:13:51 +01:00
Yutetsu TAKATSUKASA
cc50126ad3
Internals: Generalize V3Config to be able to set any module pragma. No functional change intended. ( #2451 )
2020-07-02 07:54:37 -04:00
Wilson Snyder
9d1a39a5e4
Parser: Move 'with' block unsupported messages down out of parser
2020-07-02 07:36:15 -04:00
Yutetsu TAKATSUKASA
82cc1a319f
Internals: Simplify condition in V3Dead.cpp. No functional change intended. ( #2454 )
2020-07-02 07:35:55 -04:00
Yutetsu TAKATSUKASA
2fd23458ce
Internals: Factor out making a make cmd string in Verilator.cpp. No functional change intended. ( #2453 )
2020-07-02 07:30:40 -04:00
Yutetsu TAKATSUKASA
271fa5fe3c
Internals: move parseParamLiteral() to AstConst . No functional change intended. ( #2452 )
2020-07-02 07:29:52 -04:00
Fan Shupei
04c96694e6
Add $writememb support ( #2450 )
2020-07-01 17:32:15 -04:00
Wilson Snyder
e7bd44561c
Parse dotted new
2020-07-01 07:39:37 -04:00
Wilson Snyder
4d5e448664
Parser: Move member qualifier unsupporteds out of parser.
2020-07-01 07:31:53 -04:00
Wilson Snyder
236c2141e3
Parser: Move 'with' block unsupported messages down out of parser
2020-06-30 21:37:11 -04:00
Wilson Snyder
0b09636c58
Support for-loop increments with commas.
2020-06-29 21:18:41 -04:00
Wilson Snyder
af197f2ceb
Parser: Move 'virtual class' block unsupported messages down out of parser
2020-06-29 21:03:14 -04:00
Wilson Snyder
748c818ccb
Parser: Move 'wait' block unsupported messages down out of parser
2020-06-29 20:39:39 -04:00
Wilson Snyder
ad55564905
Parser: Move disable fork and wait fork down into elaborate stage
2020-06-29 20:22:39 -04:00
Wilson Snyder
ad2cb45a14
Parser: Move unsupported error detection of 'this'/'super' down into link stage
2020-06-29 20:02:15 -04:00
Geza Lore
7342cf278a
Travis: Add 32-bit build on focal
2020-06-28 20:11:22 +01:00
Geza Lore
378d947702
Travis: Add FreeBSD build + portability fixes
2020-06-28 15:37:24 +01:00
Wilson Snyder
0af971292e
Commentary ( #2437 )
2020-06-27 22:35:31 -04:00
Geza Lore
5a4cc333fb
Travis: Add OS X build ( #2440 )
2020-06-22 10:13:54 +01:00
Ludwig Rogiers
f13fd4478c
Init params in constructor to support pre-c++11 compilers
2020-06-22 09:01:39 +01:00
Geza Lore
aa595d40de
Do not fold IF with 'bx condition before V3Unknown ( #2438 )
...
Fixes #2425
2020-06-20 04:16:07 +01:00
Yutetsu TAKATSUKASA
19c2906a64
Improve code coverage of V3SplitVar.cpp ( #2418 )
2020-06-13 04:45:47 -04:00
Ludwig Rogiers
c367b671b6
Support VPI parameter and localparam ( #2370 )
2020-06-12 18:38:01 -04:00
Geza Lore
fac89c5d62
Close trace on vl_fatal/vl_finish ( #2414 )
...
This is required to get the last bit of FST trace and close the FST file
properly on $stop or assertion failure.
2020-06-12 07:15:42 +01:00
Conor McCullough
f40f0464e2
Fix replaceMulShift optimization ( #2413 )
2020-06-11 07:42:25 -04:00
Yutetsu TAKATSUKASA
a7edf13d62
Fix V3SplitVar test stability ( #2408 )
2020-06-09 22:39:10 -04:00
Wilson Snyder
6e57076726
Support --bbox-unsup parsing of nested foreach.
2020-06-09 22:05:06 -04:00
Wilson Snyder
cef56c6fca
Support --bbox-unsup parsing of class extend typedefs
2020-06-09 20:59:45 -04:00
Wilson Snyder
91f30af01f
Fix --bbox-unsup crash from earlier commit.
2020-06-09 19:49:11 -04:00
Wilson Snyder
3c8953fec2
Fix $sformat with non-constant string first argument
2020-06-09 19:40:49 -04:00
Wilson Snyder
6de78d58fa
Add new UNSUPPORTED error code to replace most previous Unsupported: messages.
2020-06-09 19:20:16 -04:00
Wilson Snyder
d42f9c095b
Delay parsing of associative arrays until dtypes known.
2020-06-09 07:13:40 -04:00
Wilson Snyder
46e10173f8
Support --bbox-unsup parsing of class extern function/task.
2020-06-08 22:33:57 -04:00
Wilson Snyder
d84c7df38f
Internals: Reformat V3Options. No functional change.
2020-06-08 22:17:30 -04:00
Wilson Snyder
6e2d8df9e5
Tests: Add --debug-exit-parse
2020-06-08 22:10:55 -04:00
Wilson Snyder
3963a50aef
Internals: Refactor param array handling to use subroutine. No functional change intended.
2020-06-08 07:43:07 -04:00
Wilson Snyder
47f040a5fd
Internals: Do data type elaboration always as child node, before movement to symbol table.
2020-06-08 06:47:18 -04:00
Wilson Snyder
7b7a2e99e3
Internals: Misc parser cleanups.
2020-06-07 22:15:19 -04:00
Wilson Snyder
25397e7612
Author site: Don't rebuild revision if VERILATOR_NO_OPT_BUILD
2020-06-07 20:08:19 -04:00
Wilson Snyder
4984d19ae9
Support --bbox-unsup parsing :: referencing typedef in class
2020-06-07 19:59:03 -04:00
Wilson Snyder
305448ea86
Cleanup parser errors to identify packages by :: instead of symbol table
2020-06-07 16:54:25 -04:00
Wilson Snyder
4a1d18f0e9
Internals: Refactor parser pipeline to use deque. No functional change intended.
2020-06-07 15:35:36 -04:00
Wilson Snyder
30482f3eea
Internals: Add parser debug printer.
2020-06-07 14:07:15 -04:00
Wilson Snyder
b469feb44b
Fix some syntax error context by splitting internal parse and lex filelines
2020-06-07 13:45:50 -04:00
Wilson Snyder
466fd56d18
Move XML verilator tag handling into parser.
2020-06-07 13:09:18 -04:00
Wilson Snyder
1aaf3f3424
Internals: Rename parser functions called by lexer. No functional change intended.
2020-06-07 12:18:23 -04:00
Wilson Snyder
b5e4917405
Internals: Pass unconnected drive in parser token stream.
2020-06-07 12:08:12 -04:00
Wilson Snyder
140671300c
Internals: Pass parser celldefine state through FileLine. No functional change intended.
2020-06-07 11:58:53 -04:00
Wilson Snyder
820a4dbbdd
Internals: Pass fileline directly. No functional change intended.
2020-06-07 10:53:21 -04:00
Wilson Snyder
53d8ccd149
Internals: Move yyerror to parser. No functional change intended.
2020-06-07 10:31:42 -04:00
Wilson Snyder
418b36ea71
Internals: Pass fileline directly and avoid yyerror
2020-06-07 10:17:50 -04:00
Wilson Snyder
575c565e77
Internals: Refactor to decouple LinkDot from ParseImp. No functional change intended.
2020-06-07 08:23:01 -04:00
Wilson Snyder
01255082a6
Internals: Refactor to decouple LinkDot from ParseImp. No functional change intended.
2020-06-07 08:21:22 -04:00
Wilson Snyder
3798a472b5
Commentary: Indicate mid-rule parser actions.
2020-06-06 17:42:10 -04:00
Wilson Snyder
0e322e2e85
Fix segfault after pin unsupported error.
2020-06-06 16:17:41 -04:00
Wilson Snyder
5cd5c05c05
Support --bbox-unsup parsing of event control expressions
2020-06-06 15:54:44 -04:00
Wilson Snyder
933e796cc2
Support $swrite with arbitrary arguments
2020-06-06 14:47:54 -04:00
Wilson Snyder
ae701e014d
Support --bbox-unsup parsing of for with multiple increments
2020-06-06 13:55:15 -04:00
Wilson Snyder
3a0b8c8870
Fix parsing parameter type with assignment and no type keyword.
2020-06-06 13:44:45 -04:00
Geza Lore
dea0e6793f
Simplify V3SenTree.h. No functional change intended.
...
- Remove unused headers
- Simplify container functors
- SenTreeFinder need not be a Visitor
- Update comments
Line coverage should now be 100%
2020-06-06 17:30:32 +01:00
Wilson Snyder
4862916f39
Support --bbox-unsup parsing of 'constraint', 'dist', 'solve'
2020-06-06 12:08:36 -04:00
Wilson Snyder
870ec27b73
Support --bbox-unsup parsing of 'randomize'
2020-06-06 11:22:48 -04:00
Wilson Snyder
a21947d887
Support --bbox-unsup parsing of 'with'
2020-06-06 11:11:23 -04:00
Wilson Snyder
893dee3434
Support --bbox-unsup parsing of forward defed class calls
2020-06-06 10:21:16 -04:00
Wilson Snyder
f083805ab5
Support --bbox-unsup parsing of parameterized classes
2020-06-06 10:06:32 -04:00
Wilson Snyder
7067afde5d
Support --bbox-unsup parsing of foreach(this.foo)
2020-06-06 09:43:13 -04:00
Wilson Snyder
1eaec2aa8a
Support --bbox-unsup of $cast
2020-06-06 09:30:11 -04:00
Wilson Snyder
da01810d98
Internals: Add UNSUP tokens from VParseBison and sort lists. No functional change.
2020-06-06 09:09:26 -04:00
Wilson Snyder
4c7d5a1dc0
Fix --bbox-unsup to bypass more parser unsupported errors.
2020-06-06 08:50:47 -04:00
Wilson Snyder
d15e3d93c4
Internals: Reindent and move parser code. No functional change.
2020-06-06 08:44:44 -04:00
Geza Lore
4a404bd92e
Always mask LSB in V3Merge Cond when mergin AstAnd
2020-06-06 00:17:59 +01:00
Wilson Snyder
ff41701ddc
Fix crash on undeclared packages.
2020-06-05 18:50:06 -04:00
Wilson Snyder
c5d61da5d2
Internal coverage: Fix coverage of tests that abort. No functional change intended.
2020-06-05 08:00:22 -04:00
Wilson Snyder
c83b1478e1
Internals: Ifdef out V3Combine incomplete dead code.
2020-06-04 21:55:00 -04:00
Wilson Snyder
3243651c63
Internals: Fix misc internal coverage holes. No functional change intended.
2020-06-04 21:40:40 -04:00
Wilson Snyder
7fe49de420
Tests: Tests to fix misc internal coverage holes.
2020-06-04 20:23:55 -04:00
Wilson Snyder
a433096d5a
Internals: Fix misc internal coverage holes. No functional change intended.
2020-06-04 19:49:39 -04:00
Tomasz Gorochowik
277dee109c
Fix Ariane issues with PostAdd nodes ( #2400 )
2020-06-03 12:50:24 -04:00
Wilson Snyder
ef71576825
Fix coredump from increment patch ( #2391 )
2020-06-03 08:30:49 -04:00
Wilson Snyder
c3271aa891
Fix duplicate VLCOVGEN short code
2020-06-02 21:42:24 -04:00
Geza Lore
1cf17b5e78
Fix unused variable.
2020-06-02 22:45:55 +01:00
Wilson Snyder
8b647f0977
Fix error on UNPACKED in parser. ( #1541 )
2020-06-02 08:00:37 -04:00
Wilson Snyder
4c31c5fab5
Fix unused variable.
2020-06-02 07:52:27 -04:00
Wilson Snyder
6ce878cb0d
Fix some clang-tidy warnings
2020-06-01 23:16:17 -04:00
Geza Lore
a67ba04c37
Remove dead code and some unused parameters
...
Found with CLion inspections
2020-06-01 17:49:42 +01:00
Wilson Snyder
ae448e5ef9
Fix older GCC compiler error.
2020-06-01 09:08:50 -04:00
Wilson Snyder
a57826b125
Line Coverage now tracks all statement lines, not just branch lines.
2020-05-31 15:52:17 -04:00
Geza Lore
656c460605
Add --dump-tree-addrids developer option
2020-05-31 20:21:55 +01:00
Geza Lore
95534fa5c5
Remove unused headers ( #2389 )
2020-05-31 20:21:07 +01:00
Wilson Snyder
611e8b10c6
Fix Verilog coverage to pass real column information
2020-05-31 09:05:10 -04:00
Geza Lore
6318a08056
Fix --dump-tree with sparse dumps.
...
"No changes since last dump!" is now only printed if the "last" dump was
actually performed and not skipped due to V3Option::dumpTreeLevel
settings.
2020-05-31 13:48:30 +01:00
Wilson Snyder
b60a92eed3
Fix pre-C11 compiler warning.
2020-05-30 21:11:37 -04:00
Geza Lore
fe306a36b8
Add MergeCond pass to combine assignments with ?: on rhs ( #2376 )
...
This provides minor simulation performance benefit, but can provide
large C++ compilation time improvement, notably with Clang (4x).
This patch implements #2366 .
2020-05-30 21:09:05 +01:00
Geza Lore
18870f8b62
Remove remnants of long removed --trace-dups option
...
See #2385
2020-05-30 20:16:40 +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
2e32387e5c
Fix GCC false warning on array bounds. ( #2386 )
2020-05-30 13:47:53 -04:00
Wilson Snyder
b66877c9df
Internals: Refactor V3Expand newWordSel. No functional change intended.
2020-05-30 13:47:53 -04:00
Geza Lore
74a6f94e2b
Internals: Remove dead code
2020-05-30 17:20:23 +01:00