aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2018-08-21 14:49:26 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-08-21 14:49:26 +0000
commit5b1c45479aa2fd573063e370005f0c377e8b888e (patch)
treeb100d350bcf414f8165ddba67c697a4b7fb39941
parent322d87a9b17660f7d04a7320505591538582892a (diff)
downloadgcc-5b1c45479aa2fd573063e370005f0c377e8b888e.zip
gcc-5b1c45479aa2fd573063e370005f0c377e8b888e.tar.gz
gcc-5b1c45479aa2fd573063e370005f0c377e8b888e.tar.bz2
[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 <kirtchev@adacore.com> 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. From-SVN: r263733
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/sem_ch10.adb3
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 1d21061..373a648 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2018-08-21 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * 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 <miranda@adacore.com>
* lib-writ.adb (Write_Unit_Information): Handle pragmas removed
diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb
index 39ed046..e6d0ba5 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;
------------------------------