aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-ieee-std_logic_unsigned.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-10-11 06:21:24 +0200
committerTristan Gingold <tgingold@free.fr>2019-10-11 06:21:24 +0200
commit2714a30c3753c76cda95eb994851a8be95e60ad9 (patch)
treeed759d92892d21a21cc5e60e2995e9feef5ed1a2 /src/vhdl/vhdl-ieee-std_logic_unsigned.adb
parentf4be996776af67b5242e9ec5fc18ec1fe27d0efb (diff)
downloadghdl-2714a30c3753c76cda95eb994851a8be95e60ad9.tar.gz
ghdl-2714a30c3753c76cda95eb994851a8be95e60ad9.tar.bz2
ghdl-2714a30c3753c76cda95eb994851a8be95e60ad9.zip
vhdl: recognize minus from std_logic_unsigned
Diffstat (limited to 'src/vhdl/vhdl-ieee-std_logic_unsigned.adb')
-rw-r--r--src/vhdl/vhdl-ieee-std_logic_unsigned.adb9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-ieee-std_logic_unsigned.adb b/src/vhdl/vhdl-ieee-std_logic_unsigned.adb
index dafbf7dad..7e2b86c02 100644
--- a/src/vhdl/vhdl-ieee-std_logic_unsigned.adb
+++ b/src/vhdl/vhdl-ieee-std_logic_unsigned.adb
@@ -58,6 +58,13 @@ package body Vhdl.Ieee.Std_Logic_Unsigned is
Arg_Slv_Sl => Iir_Predefined_Ieee_Std_Logic_Unsigned_Add_Slv_Sl,
Arg_Sl_Slv => Iir_Predefined_Ieee_Std_Logic_Unsigned_Add_Sl_Slv);
+ Sub_Patterns : constant Binary_Pattern_Type :=
+ (Arg_Slv_Slv => Iir_Predefined_Ieee_Std_Logic_Unsigned_Sub_Slv_Slv,
+ Arg_Slv_Int => Iir_Predefined_Ieee_Std_Logic_Unsigned_Sub_Slv_Int,
+ Arg_Int_Slv => Iir_Predefined_Ieee_Std_Logic_Unsigned_Sub_Int_Slv,
+ Arg_Slv_Sl => Iir_Predefined_Ieee_Std_Logic_Unsigned_Sub_Slv_Sl,
+ Arg_Sl_Slv => Iir_Predefined_Ieee_Std_Logic_Unsigned_Sub_Sl_Slv);
+
Error : exception;
procedure Extract_Declarations (Pkg : Iir_Package_Declaration)
@@ -140,6 +147,8 @@ package body Vhdl.Ieee.Std_Logic_Unsigned is
Handle_Binary (Le_Patterns);
when Name_Op_Plus =>
Handle_Binary (Add_Patterns);
+ when Name_Op_Minus =>
+ Handle_Binary (Sub_Patterns);
when others =>
null;
end case;