]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Fri, 10 Sep 2010 13:56:18 +0000 (15:56 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 10 Sep 2010 13:56:18 +0000 (15:56 +0200)
2010-09-10  Jose Ruiz  <ruiz@adacore.com>

* exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
pattern matching to detect predefined primitive operations take into
account that there can be an extra suffix related to body-nested
package entities.

2010-09-10  Ed Schonberg  <schonberg@adacore.com>

* s-pooglo.ads: Add overriding indicators.

From-SVN: r164177

gcc/ada/ChangeLog
gcc/ada/exp_cg.adb
gcc/ada/s-pooglo.ads

index c39e7c721815d98726d633d7308795a53315fca5..04c73a9fda2fec7a639080ec86613645b4716ab6 100644 (file)
@@ -1,3 +1,14 @@
+2010-09-10  Jose Ruiz  <ruiz@adacore.com>
+
+       * exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
+       pattern matching to detect predefined primitive operations take into
+       account that there can be an extra suffix related to body-nested
+       package entities.
+
+2010-09-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * s-pooglo.ads: Add overriding indicators.
+
 2010-09-10  Vincent Celier  <celier@adacore.com>
 
        * vms_data.ads: Add new GNAT BIND qualifiers /32_MALLOC (for -H32) and
index 14d13908292d71addaa6168fc55b45e548e675db..376f9cadf609477404571bd337363033a0fbb1bd 100644 (file)
@@ -265,9 +265,25 @@ package body Exp_CG is
                                     Name_uDisp_Requeue,
                                     Name_uDisp_Timed_Select);
 
-               Suffix_Length : constant Natural := Homonym_Suffix_Length (E);
+               Suffix_Length : Natural;
 
             begin
+               --  Search for and strip suffix for body-nested package entities
+
+               Suffix_Length := Homonym_Suffix_Length (E);
+               for J in reverse Full_Name'First + 2 .. Full_Name'Last loop
+                  if Full_Name (J) = 'X' then
+
+                     --  Include the "X", "Xb", "Xn", ... in the part of the
+                     --  suffix to be removed.
+
+                     Suffix_Length := Suffix_Length + Full_Name'Last - J + 1;
+                     exit;
+                  end if;
+
+                  exit when Full_Name (J) /= 'b' and then Full_Name (J) /= 'n';
+               end loop;
+
                for J in Predef_Names_95'Range loop
                   Get_Name_String (Predef_Names_95 (J));
 
index 3ab05f009bfdf9db662483934d3efeb3c6b03b12..ae2e1af86fc63675cf5544e4770a5a57b0bcbf50 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -57,13 +57,13 @@ package System.Pool_Global is
      (Pool : Unbounded_No_Reclaim_Pool)
       return System.Storage_Elements.Storage_Count;
 
-   procedure Allocate
+   overriding procedure Allocate
      (Pool         : in out Unbounded_No_Reclaim_Pool;
       Address      : out System.Address;
       Storage_Size : System.Storage_Elements.Storage_Count;
       Alignment    : System.Storage_Elements.Storage_Count);
 
-   procedure Deallocate
+   overriding procedure Deallocate
      (Pool         : in out Unbounded_No_Reclaim_Pool;
       Address      : System.Address;
       Storage_Size : System.Storage_Elements.Storage_Count;