]> git.nickg.me.uk Git - nvc.git/log
nvc.git
2 years agoWIP hacking gentype
Nick Gasson [Wed, 2 Feb 2022 12:55:44 +0000 (20:55 +0800)]
WIP hacking

2 years agoWIP generic package crap
Nick Gasson [Wed, 2 Feb 2022 12:17:26 +0000 (20:17 +0800)]
WIP generic package crap

2 years agoFix folding
Nick Gasson [Wed, 2 Feb 2022 11:10:46 +0000 (19:10 +0800)]
Fix folding

2 years agoAdd <>
Nick Gasson [Wed, 2 Feb 2022 11:00:38 +0000 (19:00 +0800)]
Add <>

2 years agoAdd another test case for generic types
Nick Gasson [Wed, 2 Feb 2022 09:23:58 +0000 (17:23 +0800)]
Add another test case for generic types

2 years agoGeneric types on packages
Nick Gasson [Wed, 2 Feb 2022 09:05:09 +0000 (17:05 +0800)]
Generic types on packages

2 years agoFew more fixes
Nick Gasson [Wed, 2 Feb 2022 05:18:04 +0000 (13:18 +0800)]
Few more fixes

2 years agoWIP adding type generics
Nick Gasson [Fri, 21 Jan 2022 03:48:49 +0000 (11:48 +0800)]
WIP adding type generics

Add new T_GENERIC type kind

Add type maps to sem

Working woot woot

Store type map in nametab

Fold generics after instancing

WIP parsing interface subprograms

2 years agoSeparate tree kind for generics
Nick Gasson [Wed, 2 Feb 2022 03:49:07 +0000 (11:49 +0800)]
Separate tree kind for generics

2 years agoMerge parse and sem passes
Nick Gasson [Tue, 1 Feb 2022 03:26:30 +0000 (11:26 +0800)]
Merge parse and sem passes

2 years agoSplit generic and port checking in sem
Nick Gasson [Mon, 31 Jan 2022 12:38:58 +0000 (20:38 +0800)]
Split generic and port checking in sem

2 years agoMatch library directory names case insensitively
Nick Gasson [Mon, 31 Jan 2022 08:35:18 +0000 (16:35 +0800)]
Match library directory names case insensitively

2 years agoRemove all remaining uses of make_default_value
Nick Gasson [Mon, 31 Jan 2022 07:08:59 +0000 (15:08 +0800)]
Remove all remaining uses of make_default_value

2 years agoAdd tests for lower_new
Nick Gasson [Mon, 31 Jan 2022 06:42:13 +0000 (14:42 +0800)]
Add tests for lower_new

2 years agoRemove uses of make_default_value in simp
Nick Gasson [Mon, 31 Jan 2022 06:11:43 +0000 (14:11 +0800)]
Remove uses of make_default_value in simp

2 years agoFix wrong generic map elaboration with block statement
Nick Gasson [Mon, 31 Jan 2022 06:10:24 +0000 (14:10 +0800)]
Fix wrong generic map elaboration with block statement

2 years agoExtend lower_default_value to handle more types
Nick Gasson [Mon, 31 Jan 2022 05:18:45 +0000 (13:18 +0800)]
Extend lower_default_value to handle more types

2 years agoDo not set signal default value in sem
Nick Gasson [Mon, 31 Jan 2022 02:21:25 +0000 (10:21 +0800)]
Do not set signal default value in sem

2 years agoDo not set port default value in sem
Nick Gasson [Mon, 31 Jan 2022 02:16:53 +0000 (10:16 +0800)]
Do not set port default value in sem

2 years agoRemove a few calls to make_default_value
Nick Gasson [Mon, 31 Jan 2022 02:07:58 +0000 (10:07 +0800)]
Remove a few calls to make_default_value

2 years agoReplace global interned idents with an enum
Nick Gasson [Sun, 30 Jan 2022 06:08:39 +0000 (14:08 +0800)]
Replace global interned idents with an enum

2 years agoMove NVC_*_VERBOSE handling to new opt module
Nick Gasson [Sun, 30 Jan 2022 04:54:51 +0000 (12:54 +0800)]
Move NVC_*_VERBOSE handling to new opt module

2 years agoStop using strings as option keys
Nick Gasson [Sun, 30 Jan 2022 04:33:04 +0000 (12:33 +0800)]
Stop using strings as option keys

2 years agoBug in overload resolution with optional arguments. Issue #443
Nick Gasson [Fri, 28 Jan 2022 12:19:56 +0000 (20:19 +0800)]
Bug in overload resolution with optional arguments. Issue #443

2 years agoUse a larger global temporary stack. Issue #441
Nick Gasson [Fri, 28 Jan 2022 04:29:07 +0000 (12:29 +0800)]
Use a larger global temporary stack. Issue #441

2 years agoFix bug in the fix for issue #441
Nick Gasson [Fri, 28 Jan 2022 04:03:18 +0000 (12:03 +0800)]
Fix bug in the fix for issue #441

2 years agoFix incorrect generic value in binding specification. Issue #442
Nick Gasson [Fri, 28 Jan 2022 03:43:57 +0000 (11:43 +0800)]
Fix incorrect generic value in binding specification. Issue #442

2 years agoFix an out-of-memory condition when initialising processes. Issue #441
Nick Gasson [Thu, 27 Jan 2022 10:51:34 +0000 (18:51 +0800)]
Fix an out-of-memory condition when initialising processes. Issue #441

2 years agoFix compatibility with BSD make. Issue #440
Nick Gasson [Thu, 27 Jan 2022 02:10:59 +0000 (10:10 +0800)]
Fix compatibility with BSD make. Issue #440

2 years agoBump version to 1.7-devel
Nick Gasson [Wed, 26 Jan 2022 02:10:08 +0000 (10:10 +0800)]
Bump version to 1.7-devel

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