Martin Whitaker
d8cb29f6e0
Fix bug in preprocessor line directive handling.
2021-03-14 10:03:08 +00:00
Martin Whitaker
9a2c43ec34
Recognise and obey `line directives in the preprocessor (issue #488 )
...
To correctly restore the file name and line number after including a
file or expanding a macro, the preprocessor needs to be aware of the
changes introduced by `line directives. The `line directive still
needs to be passed on to the main compiler so it can track the
changes too.
To avoid duplicate error messages, the preprocessor silently ignores
invalid `line directives, relying on the main compiler to report the
errors.
2021-03-13 23:38:30 +00:00
Martin Whitaker
45db0db8b3
Check that port default values are constant expressions.
2021-03-12 23:27:19 +00:00
Martin Whitaker
c7eaa06a2b
Add support for module input port default values (issue #489 ).
2021-03-10 08:21:42 +00:00
Cary R
60a77b08d2
Add compiler and the start of vvp support for ->>
2021-02-19 23:21:51 -08:00
Cary R
753bf516d6
Update the symbol search to find class properties
2021-02-16 23:46:02 -08:00
Cary R
18e7406dd0
Check for enum constants when declaring implicit nets
2021-02-13 23:34:09 -08:00
Cary R
2cc41a4639
Allow a macro generated string to work with an include
2021-02-13 16:58:21 -08:00
Cary R
7bb8a4463f
Time literals need to be rounded using the time precision
2021-02-13 01:11:43 -08:00
Cary R
5530fbac9f
Find the process name from always @(...) begin : <name>
2021-02-08 22:23:23 -08:00
Cary R
18392a464d
Some clean up and add initial support for elaboration system tasks
2021-02-01 00:22:01 -08:00
Cary R
8484ff71ac
Program supports NBA and BA to module variables
2021-01-30 14:28:48 -08:00
Cary R
a73357ec72
Fix space issues
2021-01-30 00:47:45 -08:00
Cary R
a446c34d10
Fix down parameter out of bound message
2021-01-30 00:40:25 -08:00
Cary R
0c12344b27
Fix warning and little E full vector up/down selects
2021-01-30 00:40:16 -08:00
Cary R
31a68fcd8a
Report possible nested comments
2021-01-29 18:10:11 -08:00
Cary R
9e3d6cc996
Elaborate alternate constant ternary expressions to check for errors
2021-01-29 18:10:03 -08:00
Martin Whitaker
348bc13a21
CI: run 'make check' before 'make install'.
...
This makes sure 'make check' works when iverilog isn't already
installed on the system.
2021-01-28 00:14:00 +00:00
Martin Whitaker
56d2d798ec
Don't exit when ivl_root not found - the user may have supplied it.
...
When running 'make check' without having an installed copy, find_ivl_root()
will fail on Unix systems that don't provide /proc/self/exe (e.g. MacOS).
2021-01-28 00:13:23 +00:00
Cary R
0cfbb8afeb
Fail for `else or `elsif after a matching `else
2021-01-26 19:53:45 -08:00
Cary R
f8e82448be
Add a warning when a single % is at the end of the format string
2021-01-25 21:58:32 -08:00
Cary R
7e40f5ac52
Add warning when too many parameter overrides are provided for a module instantiation
2021-01-21 23:16:31 -08:00
Cary R
956f6ccf4c
Update VPI routines to on error signal VVP to return non-zero
2021-01-20 23:50:53 -08:00
Cary R
21c5fbe759
Remove compile warnings
2021-01-18 13:15:12 -08:00
Cary R
d1eb4befcc
Add initial parsing for let construct
2021-01-18 13:06:44 -08:00
Stephen Williams
a19caf4fe6
Actions: only test on pushes to master.
...
Continue to test all pull requests, but only retest pushes to
master so that work in progress prs don't create quite as much
test traffic.
2021-01-18 12:43:24 -08:00
Stephen Williams
9b432ba172
Implement vpiSize method for stack string values.
...
This might come to pass for example when calling the function
$ivl_string_method$len(<expression>) where the expression is
calculated, and not simply a variable name.
2021-01-18 12:39:54 -08:00
Stephen Williams
287ba56ab4
Merge pull request #473 from steveicarus/steveicarus/queue-element-expressions
...
Rework of elaboration of function calls.
Rework of symbol_lookup function and API.
2021-01-18 11:58:26 -08:00
Stephen Williams
38b3c8efb2
Rework symbol_search function.
...
There are too many ad hoc handlers of symbol_search partial results.
Rewrite symbol_search to clean up things like partial results and
member/method detections. Use this reworked symbol_search function
to rewrite expression elaborate for the PECallFunction expressions.
2021-01-17 19:33:52 -08:00
Cary R
e02410d519
Add define to indicate Icarus synthesis
2021-01-14 00:15:48 -08:00
Cary R
7dc65af362
Add support for zero-based variable index part selects in a CA
2021-01-11 23:26:34 -08:00
Cary R
308c744e98
Fix index down part selects to work with multiple dimensions
2021-01-11 21:39:38 -08:00
Cary R
9eb77116b9
Missing macro arguments are an error
2021-01-10 19:23:16 -08:00
Cary R
5f281d5f21
Pass fail information from the preprocessor to the compiler
2021-01-10 18:27:31 -08:00
Cary R
85e8cc6c5f
Update some preprocessor error messages
2021-01-10 18:27:23 -08:00
Cary R
c978d28c09
Update main component Copyright to 2021
2021-01-10 14:32:30 -08:00
Cary R
dbd63450d9
Cleanup space in ivlpp command generation
2021-01-10 14:32:23 -08:00
Cary R
555a2e703a
Fix memory error related to new edge functionality
2021-01-07 23:57:52 -08:00
Cary R
501586431b
Darrays are SV only and fix queue error message
2021-01-07 23:55:07 -08:00
Cary R
1bffc649cb
Fix some cleanup code in the compiler
2021-01-07 23:53:53 -08:00
Cary R
9d3de84cd1
Update comment
2021-01-07 23:52:17 -08:00
Cary R
5442f3fee7
Add sorry messages for missing array methods
2021-01-07 22:26:47 -08:00
Cary R
89eabdfa35
Skip scalared and vectored keywords for packed arrays
2021-01-07 20:45:49 -08:00
Cary R
32787bb973
Add support for SV edge
2021-01-07 01:22:49 -08:00
Cary R
8f908a213d
Fix typo
2021-01-06 22:41:43 -08:00
Cary R
4efbfa3e8f
Fix a couple more cppcheck warnings
2021-01-06 22:39:16 -08:00
Martin Whitaker
57e87149e8
Explicitly require C99 if using autoconf < 2.70.
2021-01-05 20:41:06 +00:00
Martin Whitaker
ba25b55f53
Elaborate package scopes in textual order (fix for issue #461 )
...
When elaborating a subclass, the base class scope needs to be elaborated
before the subclass scope. If the base class and subclass are defined in
different packages, this requires the package scopes to be elaborated in
the correct order. SystemVerilog reqires packages to be defined before
they are used, so that is the order we should elaborate them in.
2021-01-03 18:45:08 +00:00
Martin Whitaker
9fa9a9d95a
Protect against infinite recursion in NetScope::find_class().
2021-01-03 12:56:04 +00:00
Martin Whitaker
aae3a570c2
Fix build with clang.
2021-01-03 10:48:21 +00:00