diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-06-23 15:46:27 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-06-23 15:46:27 +0200 |
commit | dd995fd0ba617cf8ba7588cc06329227a35dd7e8 (patch) | |
tree | 37c9d5cd79729d60eed86d21105263c534814a95 /src | |
parent | 59e3f7f5f3bea335eaaa95cb855de32ad38b1a59 (diff) | |
download | ghdl-dd995fd0ba617cf8ba7588cc06329227a35dd7e8.tar.gz ghdl-dd995fd0ba617cf8ba7588cc06329227a35dd7e8.tar.bz2 ghdl-dd995fd0ba617cf8ba7588cc06329227a35dd7e8.zip |
vhdl: recognize more numeric_std predefined functions.
Diffstat (limited to 'src')
-rw-r--r-- | src/vhdl/vhdl-ieee-numeric.adb | 20 | ||||
-rw-r--r-- | src/vhdl/vhdl-nodes.ads | 35 |
2 files changed, 55 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-ieee-numeric.adb b/src/vhdl/vhdl-ieee-numeric.adb index e01eb8ec7..2abb92940 100644 --- a/src/vhdl/vhdl-ieee-numeric.adb +++ b/src/vhdl/vhdl-ieee-numeric.adb @@ -91,6 +91,24 @@ package body Vhdl.Ieee.Numeric is (others => (others => Iir_Predefined_None))); + Lt_Patterns : constant Binary_Pattern_Type := + (Pkg_Std => + (Type_Unsigned => + (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Lt_Uns_Uns, + Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Lt_Uns_Nat, + Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Lt_Nat_Uns, + Arg_Vect_Log => Iir_Predefined_None, + Arg_Log_Vect => Iir_Predefined_None), + Type_Signed => + (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Lt_Sgn_Sgn, + Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Lt_Sgn_Int, + Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Lt_Int_Sgn, + Arg_Vect_Log => Iir_Predefined_None, + Arg_Log_Vect => Iir_Predefined_None)), + Pkg_Bit => + (others => + (others => Iir_Predefined_None))); + Neg_Patterns : constant Unary_Pattern_Type := (Pkg_Std => (Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Neg_Uns, @@ -305,6 +323,8 @@ package body Vhdl.Ieee.Numeric is Handle_Binary (Sub_Patterns); when Name_Op_Equality => Handle_Binary (Eq_Patterns); + when Name_Op_Less => + Handle_Binary (Lt_Patterns); when Name_To_Bstring | Name_To_Ostring | Name_To_Hstring => diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index f86047f93..807069d2e 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -4829,6 +4829,34 @@ package Vhdl.Nodes is Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Int, Iir_Predefined_Ieee_Numeric_Std_Sub_Int_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Gt_Uns_Uns, + Iir_Predefined_Ieee_Numeric_Std_Gt_Uns_Nat, + Iir_Predefined_Ieee_Numeric_Std_Gt_Nat_Uns, + Iir_Predefined_Ieee_Numeric_Std_Gt_Sgn_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Gt_Sgn_Int, + Iir_Predefined_Ieee_Numeric_Std_Gt_Int_Sgn, + + Iir_Predefined_Ieee_Numeric_Std_Lt_Uns_Uns, + Iir_Predefined_Ieee_Numeric_Std_Lt_Uns_Nat, + Iir_Predefined_Ieee_Numeric_Std_Lt_Nat_Uns, + Iir_Predefined_Ieee_Numeric_Std_Lt_Sgn_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Lt_Sgn_Int, + Iir_Predefined_Ieee_Numeric_Std_Lt_Int_Sgn, + + Iir_Predefined_Ieee_Numeric_Std_Le_Uns_Uns, + Iir_Predefined_Ieee_Numeric_Std_Le_Uns_Nat, + Iir_Predefined_Ieee_Numeric_Std_Le_Nat_Uns, + Iir_Predefined_Ieee_Numeric_Std_Le_Sgn_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Le_Sgn_Int, + Iir_Predefined_Ieee_Numeric_Std_Le_Int_Sgn, + + Iir_Predefined_Ieee_Numeric_Std_Ge_Uns_Uns, + Iir_Predefined_Ieee_Numeric_Std_Ge_Uns_Nat, + Iir_Predefined_Ieee_Numeric_Std_Ge_Nat_Uns, + Iir_Predefined_Ieee_Numeric_Std_Ge_Sgn_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Ge_Sgn_Int, + Iir_Predefined_Ieee_Numeric_Std_Ge_Int_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Eq_Uns_Uns, Iir_Predefined_Ieee_Numeric_Std_Eq_Uns_Nat, Iir_Predefined_Ieee_Numeric_Std_Eq_Nat_Uns, @@ -4836,6 +4864,13 @@ package Vhdl.Nodes is Iir_Predefined_Ieee_Numeric_Std_Eq_Sgn_Int, Iir_Predefined_Ieee_Numeric_Std_Eq_Int_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Ne_Uns_Uns, + Iir_Predefined_Ieee_Numeric_Std_Ne_Uns_Nat, + Iir_Predefined_Ieee_Numeric_Std_Ne_Nat_Uns, + Iir_Predefined_Ieee_Numeric_Std_Ne_Sgn_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Ne_Sgn_Int, + Iir_Predefined_Ieee_Numeric_Std_Ne_Int_Sgn, + -- Unary functions for numeric_std Iir_Predefined_Ieee_Numeric_Std_Neg_Uns, Iir_Predefined_Ieee_Numeric_Std_Neg_Sgn |