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
+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
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;
Set_Fatal_Error (Current_Sem_Unit, Error_Ignored);
end if;
end case;
-
- Mark_Ghost_Clause (N);
end Analyze_With_Clause;
------------------------------