From 8198b93da51f3930d16298c7b9fd72f36a3343b7 Mon Sep 17 00:00:00 2001 From: Hristian Kirtchev Date: Thu, 31 Jul 2008 15:26:40 +0200 Subject: [PATCH] sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the corresponding spec is a primitive wrapper. 2008-07-31 Hristian Kirtchev * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the corresponding spec is a primitive wrapper. Update comment. From-SVN: r138406 --- gcc/ada/sem_ch6.adb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index 33cb73d9a56..6583b72537d 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -1564,9 +1564,14 @@ package body Sem_Ch6 is -- Subprogram_Specification. In such cases, we undo the change -- made by the analysis of the specification and try to find the -- spec again. + -- Note that wrappers already have their corresponding specs and + -- bodies set during their creation, so if the candidate spec is + -- a wrapper, then we definately need to swap all types to their + -- original concurrent status. - if No (Spec_N) then - + if No (Spec_N) + or else Is_Primitive_Wrapper (Spec_N) + then -- Restore all references of corresponding record types to the -- original concurrent types.