aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_expr.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2023-01-14 18:50:22 +0100
committerTristan Gingold <tgingold@free.fr>2023-01-15 09:47:13 +0100
commit5b59dda84a7eb8a48e94a75b9b3ad008514089ce (patch)
tree7d8bcf6addec0f6ebb6bb68b50650d03607128c8 /src/vhdl/vhdl-sem_expr.ads
parent1fe5958609b57e7d134e0cc75713c530339a86dd (diff)
downloadghdl-5b59dda84a7eb8a48e94a75b9b3ad008514089ce.tar.gz
ghdl-5b59dda84a7eb8a48e94a75b9b3ad008514089ce.tar.bz2
ghdl-5b59dda84a7eb8a48e94a75b9b3ad008514089ce.zip
vhdl: add a warning to detect use before elaboration
Diffstat (limited to 'src/vhdl/vhdl-sem_expr.ads')
-rw-r--r--src/vhdl/vhdl-sem_expr.ads7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-sem_expr.ads b/src/vhdl/vhdl-sem_expr.ads
index 1519d9252..b247d2d7e 100644
--- a/src/vhdl/vhdl-sem_expr.ads
+++ b/src/vhdl/vhdl-sem_expr.ads
@@ -24,8 +24,15 @@ package Vhdl.Sem_Expr is
-- Set type to nodes,
-- Resolve overloading
+ -- If set, use of deferred constants is allowed.
+ -- Set during analysis of default value of subprogram parameters.
Deferred_Constant_Allowed : Boolean := False;
+ -- If set, use of unelaborated constructs is allowed.
+ -- This is set while analyzing subprograms body (and default parameters
+ -- values), as a subprogram may be called way after elaboration.
+ Unelaborated_Use_Allowed : Boolean := False;
+
-- Analyze an expression (other than a range) with a possible overloading.
-- Sem_expression_ov (and therefore sem_expression) must be called *once*
-- for each expression node with A_TYPE1 not null and at most *once* with