[COMMITTED] ada: Reorder components in Ada.Containers.Restricted_Doubly_Linked_Lists

Message ID 20230526073624.2069067-1-poulhies@adacore.com
State Committed
Commit 1ad8da08d62f5e3293a8b2506b1397009c483630
Headers
Series [COMMITTED] ada: Reorder components in Ada.Containers.Restricted_Doubly_Linked_Lists |

Commit Message

Marc Poulhiès May 26, 2023, 7:36 a.m. UTC
  From: Eric Botcazou <ebotcazou@adacore.com>

An instantiation of the package compiled with -gnatw.q yields:
  warning: in instantiation at a-crdlli.ads:317 [-gnatw.q]
  warning: record layout may cause performance issues [-gnatw.q]
  warning: in instantiation at a-crdlli.ads:317 [-gnatw.q]
  warning:
       component "Nodes" whose length depends on a discriminant [-gnatw.q]
  warning: in instantiation at a-crdlli.ads:317 [-gnatw.q]
  warning: comes too early and was moved down [-gnatw.q]

gcc/ada/

	* libgnat/a-crdlli.ads (List): Move Nodes component to the end.

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

---
 gcc/ada/libgnat/a-crdlli.ads | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/gcc/ada/libgnat/a-crdlli.ads b/gcc/ada/libgnat/a-crdlli.ads
index d9c45177ddd..fa4fe15e420 100644
--- a/gcc/ada/libgnat/a-crdlli.ads
+++ b/gcc/ada/libgnat/a-crdlli.ads
@@ -314,11 +314,11 @@  private
    type Node_Array is array (Count_Type range <>) of Node_Type;
 
    type List (Capacity : Count_Type) is tagged limited record
-      Nodes  : Node_Array (1 .. Capacity);
       Free   : Count_Type'Base := -1;
       First  : Count_Type := 0;
       Last   : Count_Type := 0;
       Length : Count_Type := 0;
+      Nodes  : Node_Array (1 .. Capacity);
    end record;
 
    type List_Access is access all List;