2019-12-12 Steve Baird <baird@adacore.com>
gcc/ada/
* sem_ch10.adb (Install_With_Clause): Check for the case of a
circular dependency involving a predefined (or GNAT-defined)
unit and handle that case by generating an appropropriate error
message.
From-SVN: r279299
+2019-12-12 Steve Baird <baird@adacore.com>
+
+ * sem_ch10.adb (Install_With_Clause): Check for the case of a
+ circular dependency involving a predefined (or GNAT-defined)
+ unit and handle that case by generating an appropropriate error
+ message.
+
2019-12-12 Gary Dismukes <dismukes@adacore.com>
* sem_ch4.adb, sem_res.adb: Minor reformatting.
Error_Msg_N
("instantiation depends on itself", Name (With_Clause));
+ elsif not Analyzed (Uname)
+ and then Is_Internal_Unit (Current_Sem_Unit)
+ and then not Is_Visible_Lib_Unit (Uname)
+ and then No (Scope (Uname))
+ then
+ if Is_Predefined_Unit (Current_Sem_Unit) then
+ Error_Msg_N
+ ("predefined unit depends on itself", Name (With_Clause));
+ else
+ Error_Msg_N
+ ("GNAT-defined unit depends on itself", Name (With_Clause));
+ end if;
+ return;
+
elsif not Is_Visible_Lib_Unit (Uname) then
-- Abandon processing in case of previous errors