From: Viljar Indus <[email protected]>

Errors for ghost incompatibilities of qualified names should not
be applied to prefixes but rather only the final selector.

gcc/ada/ChangeLog:

        * ghost.adb (Is_Ok_Context): consider ghost prefix to always
        be a valid ghost context.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/ghost.adb | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gcc/ada/ghost.adb b/gcc/ada/ghost.adb
index e7a55efb4be..d49d94df246 100644
--- a/gcc/ada/ghost.adb
+++ b/gcc/ada/ghost.adb
@@ -740,6 +740,14 @@ package body Ghost is
                then
                   return True;
 
+               --  It is always legal to use a ghost prefix. More complex
+               --  scenarios are analyzed for the selector.
+
+               elsif Nkind (Par) = N_Selected_Component
+                 and then Prefix (Par) = Prev
+               then
+                  return True;
+
                elsif Is_OK_Declaration (Par) then
                   return True;
 
-- 
2.51.0

Reply via email to