From: Eric Botcazou Date: Thu, 23 Mar 2023 13:35:57 +0000 (+0100) Subject: ada: Reorder components in Ada.Containers.Restricted_Doubly_Linked_Lists X-Git-Tag: basepoints/gcc-15~8862 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ad8da08d62f5e3293a8b2506b1397009c483630;p=thirdparty%2Fgcc.git ada: Reorder components in Ada.Containers.Restricted_Doubly_Linked_Lists 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. --- diff --git a/gcc/ada/libgnat/a-crdlli.ads b/gcc/ada/libgnat/a-crdlli.ads index d9c45177ddd1..fa4fe15e4208 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;