aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-04-27 05:38:19 +0200
committerTristan Gingold <tgingold@free.fr>2022-04-27 05:41:58 +0200
commit2e285fc8bbae38105fb632e02527675498bbcc13 (patch)
tree9debc45ca57603424543b1f92cc0d8cd5634a7b9
parent341c34e2fee520253a3da19b599c44b8f50a706d (diff)
downloadghdl-2e285fc8bbae38105fb632e02527675498bbcc13.tar.gz
ghdl-2e285fc8bbae38105fb632e02527675498bbcc13.tar.bz2
ghdl-2e285fc8bbae38105fb632e02527675498bbcc13.zip
vhdl-sem_expr: add a comment
-rw-r--r--src/vhdl/vhdl-sem_expr.adb21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb
index 9bc64b959..9a70867fe 100644
--- a/src/vhdl/vhdl-sem_expr.adb
+++ b/src/vhdl/vhdl-sem_expr.adb
@@ -923,6 +923,27 @@ package body Vhdl.Sem_Expr is
-- 9. a function call whose function name denotes a pure function,
-- and whose actual parameters are each globally static
-- expressions.
+ --
+ -- LRM08 9.4.2 Locally statuc primaries
+ -- [...] if every operator in the expression denotes [...] an operator
+ -- defined in one of the packages STD_LOGIC_1164, NUMERIC_BIT,
+ -- NUMERIC_STD, NUMERIC_BIT_UNSIGNED or NUMERIC_STD_UNSIGNED in library
+ -- IEEE, and if every primary in the expression is a locally static
+ -- primary, where a locally static primary is defined to be one of the
+ -- following:
+ -- [...]
+ -- e) A function call whose function name denotes an implicitely
+ -- defined operation or an operation defined in one of the packages
+ -- STD_LOGIC_1164, NUMERIC_BIT, NUMERIC_STD, NUMERIC_BIT_UNSIGNED,
+ -- or NUMERIC_STD_UNSIGNED in library IEEE and whose actual
+ -- parameters are each locally static expressions.
+ --
+ -- GHDL note: operation is defined in:
+ -- LRM08 5 Types
+ -- The set of operations of a type includes the explicitly declared
+ -- subprograms that have a parameter of result of the type. The
+ -- remaining operations of a type are the basic operations and the
+ -- predefined operations.
case Get_Kind (Expr) is
when Iir_Kinds_Monadic_Operator =>
Staticness := Get_Expr_Staticness (Get_Operand (Expr));