nickg / nvc

VHDL compiler and simulator
https://www.nickg.me.uk/nvc/
GNU General Public License v3.0
591 stars 75 forks source link

** Fatal: tree kind T_ALIAS does not have item I_POS #819

Closed smaslovski closed 6 months ago

smaslovski commented 6 months ago

Hi,

I found that compiling (analyzing) the files types.vhd and ucpu.vhd from https://github.com/smaslovski/ucpu/tree/main/vhdl/rtl results in a crash:

~/.../ucpu/bug $ nvc --version
nvc 1.12-devel (1.11.0.r22.g7a9d70e) (Using LLVM 17.0.6)
Copyright (C) 2011-2023  Nick Gasson
This program comes with ABSOLUTELY NO WARRANTY. This is free software, and
you are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
~/.../ucpu/bug $ ls
types.vhd  ucpu.vhd
~/.../ucpu/bug $ nvc --std=2008 -a types.vhd
~/.../ucpu/bug $ nvc --std=2008 -a ucpu.vhd
** Fatal: tree kind T_ALIAS does not have item I_POS
   > types.vhd:5
   |
 5 |   alias logic is std_ulogic;
   |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[0x629587b903] ../src/object.c:215 object_lookup_failed
[0x62958712a3] ../src/tree.c:1125 get_case_choice_char
[0x6295877bd7] ../src/bounds.c:0 bounds_check_array_case
[0x6295877bd7] ../src/bounds.c:1119 bounds_check_case
[0x6295877bd7] ../src/common.c:1366 bounds_visit_fn
[0x629587c9d7] ../src/object.c:675 object_rewrite
[0x629587c8e3] ../src/object.c:749 object_rewrite
[0x629587c8e3] ../src/object.c:749 object_rewrite
[0x6295873b9b] ../src/tree.c:1286 analyse_file
[0x62957dbce7] ../src/nvc.c:238 analyse
[0x62957dbce7] ../src/nvc.c:1903 process_command
[0x62957dacc3] ../src/nvc.c:2042 main

I tried reducing the code of ucpu.vhd, but I could not identify which line of it causes the crash, sorry! To reproduce the crash please just get the two mentioned vhdl files from my git repository above.

With Best Regards and Best Seasonal Greetings, Stanislav