Index: xr_tabls.ads
===================================================================
--- xr_tabls.ads	(revision 247461)
+++ xr_tabls.ads	(working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1998-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 1998-2017, 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- --
@@ -292,12 +292,11 @@
 
 private
    type Project_File (Src_Dir_Length, Obj_Dir_Length : Natural) is record
-      Src_Dir : String (1 .. Src_Dir_Length);
-      Src_Dir_Index : Integer;
-
-      Obj_Dir            : String (1 .. Obj_Dir_Length);
+      Src_Dir_Index      : Integer;
       Obj_Dir_Index      : Integer;
       Last_Obj_Dir_Start : Natural;
+      Src_Dir            : String (1 .. Src_Dir_Length);
+      Obj_Dir            : String (1 .. Obj_Dir_Length);
    end record;
 
    type Project_File_Ptr is access all Project_File;
@@ -364,7 +363,6 @@
 
    type Declaration_Record (Symbol_Length : Natural) is record
       Key          : Cst_String_Access;
-      Symbol       : String (1 .. Symbol_Length);
       Decl         : Reference;
       Is_Parameter : Boolean := False; -- True if entity is subprog param
       Decl_Type    : Character;
@@ -374,6 +372,7 @@
       Match        : Boolean := False;
       Par_Symbol   : Declaration_Reference := null;
       Next         : Declaration_Reference := null;
+      Symbol       : String (1 .. Symbol_Length);
    end record;
    --  The lists of referenced (Body_Ref, Ref_Ref and Modif_Ref) are
    --  kept unsorted until the results needs to be printed. This saves
Index: g-sechas.ads
===================================================================
--- g-sechas.ads	(revision 247461)
+++ g-sechas.ads	(working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2009-2016, Free Software Foundation, Inc.         --
+--          Copyright (C) 2009-2017, 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- --
@@ -208,14 +208,14 @@
       --  KL is 0 for a normal hash context, > 0 for HMAC
 
       type Context (KL : Key_Length := 0) is record
-         Key : Stream_Element_Array (1 .. KL);
-         --  HMAC key
-
          H_State : Hash_State.State (0 .. State_Words - 1) := Initial_State;
          --  Function-specific state
 
          M_State : Message_State (Block_Length);
          --  Function-independent state (block buffer)
+
+         Key : Stream_Element_Array (1 .. KL);
+         --  HMAC key
       end record;
 
       Initial_Context : constant Context (KL => 0) := (others => <>);
Index: g-rewdat.ads
===================================================================
--- g-rewdat.ads	(revision 247461)
+++ g-rewdat.ads	(working copy)
@@ -5,7 +5,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---            Copyright (C) 2014, Free Software Foundation, Inc.            --
+--           Copyright (C) 2014-2017, 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- --
@@ -128,6 +128,12 @@
    type Buffer
      (Size, Size_Pattern, Size_Value : Stream_Element_Offset) is
    limited record
+      Pos_C : Stream_Element_Offset; -- last valid element in Current
+      Pos_B : Stream_Element_Offset; -- last valid element in Buffer
+
+      Next  : Buffer_Ref;
+      --  A link to another rewriter if any
+
       Buffer : Stream_Element_Array (1 .. Size);
       --  Fully prepared/rewritten data waiting to be output
 
@@ -141,12 +147,6 @@
 
       Value : Stream_Element_Array (1 .. Size_Value);
       --  The value the pattern is replaced by
-
-      Pos_C : Stream_Element_Offset; -- last valid element in Current
-      Pos_B : Stream_Element_Offset; -- last valid element in Buffer
-
-      Next  : Buffer_Ref;
-      --  A link to another rewriter if any
    end record;
 
 end GNAT.Rewrite_Data;
Index: s-regexp.adb
===================================================================
--- s-regexp.adb	(revision 247461)
+++ s-regexp.adb	(working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---                     Copyright (C) 1999-2016, AdaCore                     --
+--                     Copyright (C) 1999-2017, AdaCore                     --
 --                                                                          --
 -- 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- --
@@ -68,9 +68,9 @@
       Num_States    : State_Index) is
    record
       Map            : Mapping;
+      Case_Sensitive : Boolean;
       States         : Regexp_Array (1 .. Num_States, 0 .. Alphabet_Size);
       Is_Final       : Boolean_Array (1 .. Num_States);
-      Case_Sensitive : Boolean;
    end record;
    --  Deterministic finite-state machine
 
Index: g-socket.ads
===================================================================
--- g-socket.ads	(revision 247461)
+++ g-socket.ads	(working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---                     Copyright (C) 2001-2016, AdaCore                     --
+--                     Copyright (C) 2001-2017, AdaCore                     --
 --                                                                          --
 -- 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- --
@@ -1268,9 +1268,9 @@
 
    type Service_Entry_Type (Aliases_Length : Natural) is record
       Official : Name_Type;
-      Aliases  : Name_Array (1 .. Aliases_Length);
       Port     : Port_Type;
       Protocol : Name_Type;
+      Aliases  : Name_Array (1 .. Aliases_Length);
    end record;
 
    type Request_Flag_Type is mod 2 ** 8;
Index: g-forstr.adb
===================================================================
--- g-forstr.adb	(revision 247461)
+++ g-forstr.adb	(working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2014-2016, Free Software Foundation, Inc.         --
+--          Copyright (C) 2014-2017, 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- --
@@ -130,8 +130,8 @@
    begin
       return Formatted_String'
         (Finalization.Controlled with
-           D => new Data'(Format'Length, 1, Format, 1,
-             Null_Unbounded_String, 0, 0, (0, 0)));
+           D => new Data'(Format'Length, 1, 1,
+             Null_Unbounded_String, 0, 0, (0, 0), Format));
    end "+";
 
    ---------
Index: g-forstr.ads
===================================================================
--- g-forstr.ads	(revision 247461)
+++ g-forstr.ads	(working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---           Copyright (C) 2014-2016, Free Software Foundation, Inc.        --
+--           Copyright (C) 2014-2017, 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- --
@@ -287,12 +287,12 @@
 
    type Data (Size : Natural) is record
       Ref_Count    : Natural := 1;
-      Format       : String (1 .. Size); -- the format string
       Index        : Positive := 1;      -- format index for next value
       Result       : Unbounded_String;   -- current value
       Current      : Natural;            -- the current format number
       Stored_Value : Natural := 0;       -- number of stored values in Stack
       Stack        : I_Vars;
+      Format       : String (1 .. Size); -- the format string
    end record;
 
    type Data_Access is access Data;
Index: s-fileio.adb
===================================================================
--- s-fileio.adb	(revision 247465)
+++ s-fileio.adb	(working copy)
@@ -63,8 +63,8 @@
 
    type Temp_File_Record is record
       File : AFCB_Ptr;
+      Next : aliased Temp_File_Record_Ptr;
       Name : String (1 .. max_path_len + 1);
-      Next : aliased Temp_File_Record_Ptr;
    end record;
    --  One of these is allocated for each temporary file created
 
