aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJustin Squirek <squirek@adacore.com>2020-10-06 15:01:15 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2020-11-24 05:16:06 -0500
commit78004c41f7830fcef5bdefeec8edad6737c2af1a (patch)
treef561eb1ec035aeb4e050587df444dde62c62185a /gcc
parent42b91d9a746aa1736de6876a34b4d817591bffb1 (diff)
downloadgcc-78004c41f7830fcef5bdefeec8edad6737c2af1a.zip
gcc-78004c41f7830fcef5bdefeec8edad6737c2af1a.tar.gz
gcc-78004c41f7830fcef5bdefeec8edad6737c2af1a.tar.bz2
[Ada] Compiler crash on assertion pragma in ghost region
gcc/ada/ * sem_prag.adb (Analyze_Pragma): Mark relevant pragmas as ghost when they are within a ghost region.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/sem_prag.adb6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 8e36976..a46f52f 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -11437,6 +11437,12 @@ package body Sem_Prag is
end if;
end if;
+ -- Mark assertion pragmas as Ghost depending on their enclosing context
+
+ if Assertion_Expression_Pragma (Prag_Id) then
+ Mark_Ghost_Pragma (N, Current_Scope);
+ end if;
+
-- Preset arguments
Arg_Count := 0;