aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaire Dross <dross@adacore.com>2020-04-21 14:15:22 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-18 05:08:15 -0400
commit3e395e356e55fb2cb133b7697ed1f386f5b27d41 (patch)
treeb028909ffaaacee146054542fea70fe2da2acbea
parent6ba3247dc757bfe0b9806cdb2fa53ecc66cacdb4 (diff)
downloadgcc-3e395e356e55fb2cb133b7697ed1f386f5b27d41.zip
gcc-3e395e356e55fb2cb133b7697ed1f386f5b27d41.tar.gz
gcc-3e395e356e55fb2cb133b7697ed1f386f5b27d41.tar.bz2
[Ada] The definition of constants in declare expressions is an interfering context
2020-06-18 Claire Dross <dross@adacore.com> gcc/ada/ * sem_util.adb (Is_OK_Volatile_Context): Return False on definitions of constants declared in declare expressions.
-rw-r--r--gcc/ada/sem_util.adb1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index eb9c9f6..52a3f94 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -17298,6 +17298,7 @@ package body Sem_Util is
elsif Nkind (Context) = N_Object_Declaration
and then Present (Expression (Context))
and then Expression (Context) = Obj_Ref
+ and then Nkind (Parent (Context)) /= N_Expression_With_Actions
then
Obj_Id := Defining_Entity (Context);