]> git.nickg.me.uk Git - nvc.git/log
nvc.git
2 years agoUpdate for 1.6.0 release r1.6.0
Nick Gasson [Tue, 25 Jan 2022 10:00:44 +0000 (18:00 +0800)]
Update for 1.6.0 release

2 years agoFix FST file reading/writing on *BSD
Nick Gasson [Tue, 25 Jan 2022 09:46:40 +0000 (17:46 +0800)]
Fix FST file reading/writing on *BSD

2 years agoFix makefile dependency generation for T_PACK_INST
Nick Gasson [Tue, 25 Jan 2022 09:30:43 +0000 (17:30 +0800)]
Fix makefile dependency generation for T_PACK_INST

2 years agoDelete AUTHORS, add THANKS.md
Nick Gasson [Tue, 25 Jan 2022 06:10:24 +0000 (14:10 +0800)]
Delete AUTHORS, add THANKS.md

2 years agoAdd support for foreign VHPIDIRECT subprograms
Nick Gasson [Tue, 25 Jan 2022 05:59:48 +0000 (13:59 +0800)]
Add support for foreign VHPIDIRECT subprograms

2 years agoFix several corner cases with 'LAST_EVENT and 'LAST_ACTIVE
Nick Gasson [Tue, 25 Jan 2022 02:59:24 +0000 (10:59 +0800)]
Fix several corner cases with 'LAST_EVENT and 'LAST_ACTIVE

2 years agoFix build on Windows without Pandoc
Nick Gasson [Mon, 24 Jan 2022 09:48:12 +0000 (17:48 +0800)]
Fix build on Windows without Pandoc

2 years agoFix memory leak with access to unconstrained array
Nick Gasson [Mon, 24 Jan 2022 09:20:32 +0000 (17:20 +0800)]
Fix memory leak with access to unconstrained array

2 years agoUse libc for memory allocation when __SANITIZE_ADDRESS__
Nick Gasson [Mon, 24 Jan 2022 08:48:32 +0000 (16:48 +0800)]
Use libc for memory allocation when __SANITIZE_ADDRESS__

2 years agoFix incorrect lowering for wait on statement. Issue #439
Nick Gasson [Mon, 24 Jan 2022 08:19:40 +0000 (16:19 +0800)]
Fix incorrect lowering for wait on statement. Issue #439

2 years agoFixes for make distcheck
Nick Gasson [Mon, 24 Jan 2022 06:55:50 +0000 (14:55 +0800)]
Fixes for make distcheck

2 years agoFix build without pandoc/mandoc installed
Nick Gasson [Mon, 24 Jan 2022 06:33:15 +0000 (14:33 +0800)]
Fix build without pandoc/mandoc installed

2 years agoSync release notes from 1.5 branch
Nick Gasson [Mon, 24 Jan 2022 06:27:50 +0000 (14:27 +0800)]
Sync release notes from 1.5 branch

2 years agoAdd a new website
Nick Gasson [Mon, 24 Jan 2022 06:19:16 +0000 (14:19 +0800)]
Add a new website

2 years agoRemove the legacy rewrite_refs mechanism
Nick Gasson [Sun, 23 Jan 2022 08:33:06 +0000 (16:33 +0800)]
Remove the legacy rewrite_refs mechanism

2 years agoUpdate FST code to GtkWave 9fe9d7e8fdb
Nick Gasson [Sun, 23 Jan 2022 04:22:54 +0000 (12:22 +0800)]
Update FST code to GtkWave 9fe9d7e8fdb

2 years agoFix incorrect VHDL stack trace on OpenBSD
Nick Gasson [Sat, 22 Jan 2022 12:34:53 +0000 (20:34 +0800)]
Fix incorrect VHDL stack trace on OpenBSD

2 years agoAdd support for record types in waveform dump. Fixes #216
Nick Gasson [Sat, 22 Jan 2022 07:25:25 +0000 (15:25 +0800)]
Add support for record types in waveform dump. Fixes #216

2 years agoWaveform dumping for nested arrays and memories
Nick Gasson [Sat, 22 Jan 2022 06:41:59 +0000 (14:41 +0800)]
Waveform dumping for nested arrays and memories

2 years agoAdd a more sophisticated waveform dumping test
Nick Gasson [Sat, 22 Jan 2022 03:25:40 +0000 (11:25 +0800)]
Add a more sophisticated waveform dumping test

2 years agoMerge fst.c into wave.c
Nick Gasson [Sat, 22 Jan 2022 03:14:14 +0000 (11:14 +0800)]
Merge fst.c into wave.c

2 years agoClean up code in wave.c
Nick Gasson [Sat, 22 Jan 2022 03:11:47 +0000 (11:11 +0800)]
Clean up code in wave.c

2 years agoAdd test of --include and --exclude options
Nick Gasson [Sat, 22 Jan 2022 03:08:15 +0000 (11:08 +0800)]
Add test of --include and --exclude options

2 years agoFixing dumping initial values in waveform
Nick Gasson [Sat, 22 Jan 2022 02:51:49 +0000 (10:51 +0800)]
Fixing dumping initial values in waveform

2 years agoRemove unused rt_run_interactive
Nick Gasson [Sat, 22 Jan 2022 02:36:08 +0000 (10:36 +0800)]
Remove unused rt_run_interactive

2 years agoAdd a helper program to test waveform dumping
Nick Gasson [Sat, 22 Jan 2022 02:26:14 +0000 (10:26 +0800)]
Add a helper program to test waveform dumping

2 years agoFix crash lowering array of access
Nick Gasson [Fri, 21 Jan 2022 12:25:38 +0000 (20:25 +0800)]
Fix crash lowering array of access

2 years agoFix crash with null array aggregate
Nick Gasson [Fri, 21 Jan 2022 12:07:59 +0000 (20:07 +0800)]
Fix crash with null array aggregate

2 years agoUse tree_rewrite instead of tree_visit in bounds_check
Nick Gasson [Fri, 21 Jan 2022 11:51:06 +0000 (19:51 +0800)]
Use tree_rewrite instead of tree_visit in bounds_check

2 years agoRemove SCOPE_FORMAL from semantic checker
Nick Gasson [Fri, 21 Jan 2022 03:54:07 +0000 (11:54 +0800)]
Remove SCOPE_FORMAL from semantic checker

2 years agoCheck for missing component generics
Nick Gasson [Fri, 21 Jan 2022 03:48:24 +0000 (11:48 +0800)]
Check for missing component generics

2 years agoBasic initial support for generic packages
Nick Gasson [Thu, 7 Oct 2021 06:15:34 +0000 (14:15 +0800)]
Basic initial support for generic packages

2 years agoRewrite generic maps in-place
Nick Gasson [Fri, 21 Jan 2022 01:53:42 +0000 (09:53 +0800)]
Rewrite generic maps in-place

2 years agoClean up makefile dependency generation
Nick Gasson [Thu, 20 Jan 2022 06:34:23 +0000 (14:34 +0800)]
Clean up makefile dependency generation

2 years agoDefer all code generation until elaboration
Nick Gasson [Tue, 18 Jan 2022 03:13:20 +0000 (11:13 +0800)]
Defer all code generation until elaboration

2 years agoSave and restore vcode unit location
Nick Gasson [Tue, 18 Jan 2022 03:35:49 +0000 (11:35 +0800)]
Save and restore vcode unit location

2 years agoAdd a new tree kind for sequences of sequential statements
Nick Gasson [Tue, 18 Jan 2022 01:54:20 +0000 (09:54 +0800)]
Add a new tree kind for sequences of sequential statements

2 years agoCleanup after removal of tree_else_stmts
Nick Gasson [Tue, 18 Jan 2022 01:44:39 +0000 (09:44 +0800)]
Cleanup after removal of tree_else_stmts

2 years agoAdd new -M option to control object arena size. Issue #439
Nick Gasson [Mon, 17 Jan 2022 12:13:40 +0000 (20:13 +0800)]
Add new -M option to control object arena size. Issue #439

2 years agoWork around incorrect link package opcode
Nick Gasson [Mon, 17 Jan 2022 10:23:08 +0000 (18:23 +0800)]
Work around incorrect link package opcode

2 years agoSequential conditional signal assignment statements
Nick Gasson [Sun, 16 Jan 2022 08:33:19 +0000 (16:33 +0800)]
Sequential conditional signal assignment statements

2 years agoRename T_CASSIGN to T_COND_ASSIGN
Nick Gasson [Sun, 16 Jan 2022 08:06:36 +0000 (16:06 +0800)]
Rename T_CASSIGN to T_COND_ASSIGN

2 years agoSimplified internal representation for concurrent statements
Nick Gasson [Sun, 16 Jan 2022 07:52:08 +0000 (15:52 +0800)]
Simplified internal representation for concurrent statements

2 years agoFix signal symbol name on Windows
Nick Gasson [Sun, 16 Jan 2022 05:23:33 +0000 (13:23 +0800)]
Fix signal symbol name on Windows

2 years agoRelaxed rules for port map actuals in VHDL-2008
Nick Gasson [Sun, 16 Jan 2022 04:52:31 +0000 (12:52 +0800)]
Relaxed rules for port map actuals in VHDL-2008

2 years agoGenerate T_CONV_FUNC in the parser
Nick Gasson [Sun, 16 Jan 2022 04:14:38 +0000 (12:14 +0800)]
Generate T_CONV_FUNC in the parser

2 years agoAdd a new tree kind for conversion functions
Nick Gasson [Sun, 16 Jan 2022 03:31:53 +0000 (11:31 +0800)]
Add a new tree kind for conversion functions

2 years agoAdd .clangd config file
Nick Gasson [Sun, 16 Jan 2022 03:00:31 +0000 (11:00 +0800)]
Add .clangd config file

2 years agoAdd support for VHDL-2008 extended bit string literals
Nick Gasson [Sun, 16 Jan 2022 02:51:28 +0000 (10:51 +0800)]
Add support for VHDL-2008 extended bit string literals

2 years agoOptimise signal assignment from concatenation
Nick Gasson [Sat, 15 Jan 2022 09:48:44 +0000 (17:48 +0800)]
Optimise signal assignment from concatenation

2 years agoAvoid allocating state object for many common processes
Nick Gasson [Sat, 15 Jan 2022 09:28:39 +0000 (17:28 +0800)]
Avoid allocating state object for many common processes

2 years agoOptimise signal assignment from concatenation
Nick Gasson [Sat, 15 Jan 2022 06:46:51 +0000 (14:46 +0800)]
Optimise signal assignment from concatenation

2 years agoAvoid temporary allocation for some concatenations
Nick Gasson [Sat, 15 Jan 2022 06:25:22 +0000 (14:25 +0800)]
Avoid temporary allocation for some concatenations

2 years agoRange checking for real values
Nick Gasson [Sat, 15 Jan 2022 04:50:27 +0000 (12:50 +0800)]
Range checking for real values

2 years agoInsert type conversion when simplifying range bounds
Nick Gasson [Sat, 15 Jan 2022 04:26:34 +0000 (12:26 +0800)]
Insert type conversion when simplifying range bounds

2 years agoFix some potential issues in variable assignment with aggregate target
Nick Gasson [Sat, 15 Jan 2022 02:46:54 +0000 (10:46 +0800)]
Fix some potential issues in variable assignment with aggregate target

2 years agoRemove more generated comments from vcode in release builds
Nick Gasson [Fri, 14 Jan 2022 13:26:58 +0000 (21:26 +0800)]
Remove more generated comments from vcode in release builds

2 years agoPlug several memory leaks
Nick Gasson [Fri, 14 Jan 2022 13:22:26 +0000 (21:22 +0800)]
Plug several memory leaks

2 years agoFix unit tests with CK_FORK=no
Nick Gasson [Fri, 14 Jan 2022 12:49:46 +0000 (20:49 +0800)]
Fix unit tests with CK_FORK=no

2 years agoAdd a test for issue #438
Nick Gasson [Fri, 14 Jan 2022 10:22:39 +0000 (18:22 +0800)]
Add a test for issue #438

2 years agoSeparate vcode opcode for pointer addition
Nick Gasson [Fri, 14 Jan 2022 09:42:19 +0000 (17:42 +0800)]
Separate vcode opcode for pointer addition

2 years agoAdd support for VHDL-2008 conditional variable assignment
Nick Gasson [Fri, 14 Jan 2022 08:08:43 +0000 (16:08 +0800)]
Add support for VHDL-2008 conditional variable assignment

2 years agoNew representation for if statement branches
Nick Gasson [Fri, 14 Jan 2022 04:53:38 +0000 (12:53 +0800)]
New representation for if statement branches

2 years agoMake T_COND more generic
Nick Gasson [Fri, 14 Jan 2022 03:10:00 +0000 (11:10 +0800)]
Make T_COND more generic

2 years agoFix constant folding with nested subprograms. Issue #437
Nick Gasson [Fri, 14 Jan 2022 02:30:53 +0000 (10:30 +0800)]
Fix constant folding with nested subprograms. Issue #437

2 years agoFix folding constant record and array references. Issue #436
Nick Gasson [Thu, 13 Jan 2022 13:14:57 +0000 (21:14 +0800)]
Fix folding constant record and array references. Issue #436

2 years agoEliminate redundant index checks
Nick Gasson [Thu, 13 Jan 2022 12:39:44 +0000 (20:39 +0800)]
Eliminate redundant index checks

2 years agoMake analysis and runtime bounds check messages consistent
Nick Gasson [Thu, 13 Jan 2022 07:58:11 +0000 (15:58 +0800)]
Make analysis and runtime bounds check messages consistent

2 years agoImprove default assertion failure message
Nick Gasson [Thu, 13 Jan 2022 06:26:07 +0000 (14:26 +0800)]
Improve default assertion failure message

2 years agoSeparate runtime calls for report and assertion failure
Nick Gasson [Thu, 13 Jan 2022 04:28:25 +0000 (12:28 +0800)]
Separate runtime calls for report and assertion failure

2 years agoMove the default assertion failure message into the runtime
Nick Gasson [Thu, 13 Jan 2022 04:22:59 +0000 (12:22 +0800)]
Move the default assertion failure message into the runtime

2 years agoRemove all remaining uses of rt_loc_t
Nick Gasson [Thu, 13 Jan 2022 04:16:03 +0000 (12:16 +0800)]
Remove all remaining uses of rt_loc_t

2 years agoNew range check opcode to replace old bounds checking
Nick Gasson [Thu, 13 Jan 2022 03:09:37 +0000 (11:09 +0800)]
New range check opcode to replace old bounds checking

2 years agoMove subprograms map from simp_global to elaboration. Fixes #435
Nick Gasson [Wed, 12 Jan 2022 13:48:25 +0000 (21:48 +0800)]
Move subprograms map from simp_global to elaboration. Fixes #435

2 years agoFix units tests with CK_FORK=no
Nick Gasson [Wed, 12 Jan 2022 10:01:10 +0000 (18:01 +0800)]
Fix units tests with CK_FORK=no

2 years agoImprove error messages when array length checks fail
Nick Gasson [Wed, 12 Jan 2022 09:56:03 +0000 (17:56 +0800)]
Improve error messages when array length checks fail

2 years agoCompletely remove the old index check opcode
Nick Gasson [Wed, 12 Jan 2022 07:31:14 +0000 (15:31 +0800)]
Completely remove the old index check opcode

2 years agoMigrate array index checks to new opcode
Nick Gasson [Wed, 12 Jan 2022 07:25:53 +0000 (15:25 +0800)]
Migrate array index checks to new opcode

2 years agoElide null range check in more cases
Nick Gasson [Wed, 12 Jan 2022 05:38:45 +0000 (13:38 +0800)]
Elide null range check in more cases

2 years agoUse new index check opcode for array slices
Nick Gasson [Wed, 12 Jan 2022 05:25:23 +0000 (13:25 +0800)]
Use new index check opcode for array slices

2 years agoUse new index check opcode for array references
Nick Gasson [Wed, 12 Jan 2022 04:43:08 +0000 (12:43 +0800)]
Use new index check opcode for array references

2 years agoUse common to_string function in bounds.c
Nick Gasson [Wed, 12 Jan 2022 03:53:42 +0000 (11:53 +0800)]
Use common to_string function in bounds.c

2 years agoNew method for passing debug location to runtime
Nick Gasson [Wed, 12 Jan 2022 03:50:00 +0000 (11:50 +0800)]
New method for passing debug location to runtime

2 years agoRemove object_add_global_root
Nick Gasson [Wed, 12 Jan 2022 02:31:54 +0000 (10:31 +0800)]
Remove object_add_global_root

2 years agoOnly emit vcode comments in debug builds
Nick Gasson [Tue, 11 Jan 2022 14:16:37 +0000 (22:16 +0800)]
Only emit vcode comments in debug builds

2 years agoAdd another aggregate bounds test
Nick Gasson [Tue, 11 Jan 2022 14:13:56 +0000 (22:13 +0800)]
Add another aggregate bounds test

2 years agoMissing index checks for some array aggregates
Nick Gasson [Tue, 11 Jan 2022 14:06:25 +0000 (22:06 +0800)]
Missing index checks for some array aggregates

2 years agoImprove unit tests for array aggregate lowering
Nick Gasson [Tue, 11 Jan 2022 11:11:21 +0000 (19:11 +0800)]
Improve unit tests for array aggregate lowering

2 years agoNew scheme for lowering array aggregates
Nick Gasson [Tue, 11 Jan 2022 07:20:41 +0000 (15:20 +0800)]
New scheme for lowering array aggregates

2 years agoRemove vcode storage hints
Nick Gasson [Tue, 11 Jan 2022 04:20:55 +0000 (12:20 +0800)]
Remove vcode storage hints

2 years agoSimpler approach to lowering assignments of record aggregates
Nick Gasson [Tue, 11 Jan 2022 03:21:33 +0000 (11:21 +0800)]
Simpler approach to lowering assignments of record aggregates

2 years agoDo not use vcode alloca except for arrays
Nick Gasson [Tue, 11 Jan 2022 02:50:06 +0000 (10:50 +0800)]
Do not use vcode alloca except for arrays

2 years agoUse lower_temp_var in more places
Nick Gasson [Tue, 11 Jan 2022 02:41:59 +0000 (10:41 +0800)]
Use lower_temp_var in more places

2 years agoMore efficient implementation of short-circuit operators
Nick Gasson [Tue, 11 Jan 2022 02:28:50 +0000 (10:28 +0800)]
More efficient implementation of short-circuit operators

2 years agoAdd support for record references in generic map
Nick Gasson [Mon, 10 Jan 2022 12:03:18 +0000 (20:03 +0800)]
Add support for record references in generic map

2 years agoAdd support for array references in generic maps
Nick Gasson [Mon, 10 Jan 2022 11:56:28 +0000 (19:56 +0800)]
Add support for array references in generic maps

2 years agoSimplify generic maps during analysis
Nick Gasson [Mon, 10 Jan 2022 09:19:12 +0000 (17:19 +0800)]
Simplify generic maps during analysis

2 years agoFix VESTs case tc792
Nick Gasson [Mon, 10 Jan 2022 07:35:33 +0000 (15:35 +0800)]
Fix VESTs case tc792

2 years agoFix linker invocation on OpenBSD
Nick Gasson [Mon, 10 Jan 2022 06:00:07 +0000 (14:00 +0800)]
Fix linker invocation on OpenBSD

2 years agoCompatibility fixes for libdwarf on FreeBSD
Nick Gasson [Mon, 10 Jan 2022 04:36:53 +0000 (12:36 +0800)]
Compatibility fixes for libdwarf on FreeBSD