[Ada] Retention of with clauses for ignored Ghost units
authorHristian Kirtchev <kirtchev@adacore.com>
Tue, 21 Aug 2018 14:49:26 +0000 (14:49 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 21 Aug 2018 14:49:26 +0000 (14:49 +0000)
commit5b1c45479aa2fd573063e370005f0c377e8b888e
treeb100d350bcf414f8165ddba67c697a4b7fb39941
parent322d87a9b17660f7d04a7320505591538582892a
[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
gcc/ada/ChangeLog
gcc/ada/sem_ch10.adb