From 241ea53438cb170453d7550865b802a10221e6d3 Mon Sep 17 00:00:00 2001 From: pmderodat Date: Tue, 21 Aug 2018 14:49:26 +0000 Subject: [PATCH] [Ada] Retention of with clauses for ignored Ghost units This patch ensures that with clauses that mention ignored Ghost units are retained in the tree. The retention is necessary for several reasons: * The with clauses allow the new elaboration order mechanism to produce the same library edges regardless of whether the Ghost unit is checked or ignored. This ensures that the elaboration order remains consistent. * The with clauses allow the unnesting mechanism to properly recognize that all units have been examined for unnesing purposes. No observable impact, no test needed. 2018-08-21 Hristian Kirtchev gcc/ada/ * sem_ch10.adb: Remove the with and use clause for unit Ghost. (Analyze_With_Clause): Do not mark a with clause which mentions an ignored Ghost code for elimination. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263733 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/sem_ch10.adb | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1d21061cd28b..373a648b9863 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2018-08-21 Hristian Kirtchev + + * sem_ch10.adb: Remove the with and use clause for unit Ghost. + (Analyze_With_Clause): Do not mark a with clause which mentions + an ignored Ghost code for elimination. + 2018-08-21 Javier Miranda * lib-writ.adb (Write_Unit_Information): Handle pragmas removed diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb index 39ed04681aa6..e6d0ba50f4ba 100644 --- a/gcc/ada/sem_ch10.adb +++ b/gcc/ada/sem_ch10.adb @@ -34,7 +34,6 @@ with Elists; use Elists; with Fname; use Fname; with Fname.UF; use Fname.UF; with Freeze; use Freeze; -with Ghost; use Ghost; with Impunit; use Impunit; with Inline; use Inline; with Lib; use Lib; @@ -2912,8 +2911,6 @@ package body Sem_Ch10 is Set_Fatal_Error (Current_Sem_Unit, Error_Ignored); end if; end case; - - Mark_Ghost_Clause (N); end Analyze_With_Clause; ------------------------------ -- 2.47.2