aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-06-13 19:07:19 +0200
committerTristan Gingold <tgingold@free.fr>2020-06-13 19:07:19 +0200
commitd3c280b0b572db2e888d15df2fa45b6a1d622f55 (patch)
tree6fbce2f1df3750f72b1c5fd9c40b2129807b9900 /src/vhdl
parent9f99eee0818eafb3c544181c4ad2eda00d59e5ce (diff)
downloadghdl-d3c280b0b572db2e888d15df2fa45b6a1d622f55.tar.gz
ghdl-d3c280b0b572db2e888d15df2fa45b6a1d622f55.tar.bz2
ghdl-d3c280b0b572db2e888d15df2fa45b6a1d622f55.zip
vhdl-evaluation: handle to_string for floating point types. Fix #1354
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/vhdl-evaluation.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-evaluation.adb b/src/vhdl/vhdl-evaluation.adb
index c7d0769ee..5f6ad409e 100644
--- a/src/vhdl/vhdl-evaluation.adb
+++ b/src/vhdl/vhdl-evaluation.adb
@@ -38,6 +38,7 @@ package body Vhdl.Evaluation is
function Eval_Enum_To_String (Lit : Iir; Orig : Iir) return Iir;
function Eval_Integer_Image (Val : Int64; Orig : Iir) return Iir;
+ function Eval_Floating_Image (Val : Fp64; Orig : Iir) return Iir;
function Eval_Scalar_Compare (Left, Right : Iir) return Compare_Type;
@@ -686,6 +687,8 @@ package body Vhdl.Evaluation is
return Eval_Enum_To_String (Operand, Orig);
when Iir_Predefined_Integer_To_String =>
return Eval_Integer_Image (Get_Value (Operand), Orig);
+ when Iir_Predefined_Floating_To_String =>
+ return Eval_Floating_Image (Get_Fp_Value (Operand), Orig);
when Iir_Predefined_Array_Char_To_String =>
-- LRM08 5.7 String representation