aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sem_names.adb11
1 files changed, 10 insertions, 1 deletions
diff --git a/sem_names.adb b/sem_names.adb
index ef68aa16c..c6ccf68e6 100644
--- a/sem_names.adb
+++ b/sem_names.adb
@@ -873,7 +873,16 @@ package body Sem_Names is
Error_Msg_Sem ("'transaction does not allow a parameter", Attr);
else
Param := Sem_Expression (Parameter, Time_Subtype_Definition);
- Set_Parameter (Attr, Param);
+ if Param /= Null_Iir then
+ -- LRM93 14.1
+ -- Parameter: A static expression of type TIME [that evaluate
+ -- to a nonnegative value.]
+ if Get_Expr_Staticness (Param) = None then
+ Error_Msg_Sem
+ ("parameter of signal attribute must be static", Param);
+ end if;
+ Set_Parameter (Attr, Param);
+ end if;
end if;
end Finish_Sem_Signal_Attribute;