]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the corresponding...
authorHristian Kirtchev <kirtchev@adacore.com>
Thu, 31 Jul 2008 13:26:40 +0000 (15:26 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 31 Jul 2008 13:26:40 +0000 (15:26 +0200)
2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

* 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

index 33cb73d9a569d7a9941b7a5988941711a51da5cb..6583b72537db73a3590047b973e86b608939cca3 100644 (file)
@@ -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.