https://gcc.gnu.org/g:40903c7decc4632ce54617ea9d68ead3b126a52e
commit r15-3111-g40903c7decc4632ce54617ea9d68ead3b126a52e Author: Viljar Indus <in...@adacore.com> Date: Fri Aug 2 09:09:10 2024 +0300 ada: Update libraries with the limited flag Records without a limited keyword now emit a warning if they contain a member that has an inherently limited type. gcc/ada/ * libgnat/a-coinho__shared.ads: add limited keyword. * libgnat/g-awk.adb: add limited keyword. * libgnat/g-comlin.ads: add limited keyword. * libgnat/s-excmac__arm.ads: add limited keyword. * libgnat/s-excmac__gcc.ads: add limited keyword. * libgnat/s-soflin.ads: add limited keyword. Diff: --- gcc/ada/libgnat/a-coinho__shared.ads | 2 +- gcc/ada/libgnat/g-awk.adb | 2 +- gcc/ada/libgnat/g-comlin.ads | 4 ++-- gcc/ada/libgnat/s-excmac__arm.ads | 2 +- gcc/ada/libgnat/s-excmac__gcc.ads | 2 +- gcc/ada/libgnat/s-soflin.ads | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/ada/libgnat/a-coinho__shared.ads b/gcc/ada/libgnat/a-coinho__shared.ads index ddab1fd7d93c..57abd1bafe3d 100644 --- a/gcc/ada/libgnat/a-coinho__shared.ads +++ b/gcc/ada/libgnat/a-coinho__shared.ads @@ -109,7 +109,7 @@ private type Holder_Access is access all Holder; - type Shared_Holder is record + type Shared_Holder is limited record Counter : System.Atomic_Counters.Atomic_Counter; Element : Element_Access; end record; diff --git a/gcc/ada/libgnat/g-awk.adb b/gcc/ada/libgnat/g-awk.adb index 62856d9204a8..c9284944dd55 100644 --- a/gcc/ada/libgnat/g-awk.adb +++ b/gcc/ada/libgnat/g-awk.adb @@ -261,7 +261,7 @@ package body GNAT.AWK is -- Session Data -- ------------------ - type Session_Data is record + type Session_Data is limited record Current_File : Text_IO.File_Type; Current_Line : Unbounded_String; Separators : Split.Mode_Access; diff --git a/gcc/ada/libgnat/g-comlin.ads b/gcc/ada/libgnat/g-comlin.ads index c20cd5eb31ae..2a131e5d78cf 100644 --- a/gcc/ada/libgnat/g-comlin.ads +++ b/gcc/ada/libgnat/g-comlin.ads @@ -1045,7 +1045,7 @@ private type Depth is range 1 .. Max_Depth; - type Level is record + type Level is limited record Name_Last : Natural := 0; Dir : GNAT.Directory_Operations.Dir_Type; end record; @@ -1087,7 +1087,7 @@ private -- separators in the pattern. end record; - type Opt_Parser_Data (Arg_Count : Natural) is record + type Opt_Parser_Data (Arg_Count : Natural) is limited record Arguments : GNAT.OS_Lib.Argument_List_Access; -- null if reading from the command line diff --git a/gcc/ada/libgnat/s-excmac__arm.ads b/gcc/ada/libgnat/s-excmac__arm.ads index 23d02f85ff90..463191d6b426 100644 --- a/gcc/ada/libgnat/s-excmac__arm.ads +++ b/gcc/ada/libgnat/s-excmac__arm.ads @@ -154,7 +154,7 @@ package System.Exceptions.Machine is -- A GNAT exception object to be dealt with by the personality routine -- called by the GCC unwinding runtime. - type GNAT_GCC_Exception is record + type GNAT_GCC_Exception is limited record Header : Unwind_Control_Block; -- ABI Exception header first diff --git a/gcc/ada/libgnat/s-excmac__gcc.ads b/gcc/ada/libgnat/s-excmac__gcc.ads index 24899055506c..6cbc92654ec8 100644 --- a/gcc/ada/libgnat/s-excmac__gcc.ads +++ b/gcc/ada/libgnat/s-excmac__gcc.ads @@ -142,7 +142,7 @@ package System.Exceptions.Machine is -- A GNAT exception object to be dealt with by the personality routine -- called by the GCC unwinding runtime. - type GNAT_GCC_Exception is record + type GNAT_GCC_Exception is limited record Header : Unwind_Exception; -- ABI Exception header first diff --git a/gcc/ada/libgnat/s-soflin.ads b/gcc/ada/libgnat/s-soflin.ads index c2d947535d9a..61025e5961dc 100644 --- a/gcc/ada/libgnat/s-soflin.ads +++ b/gcc/ada/libgnat/s-soflin.ads @@ -339,7 +339,7 @@ package System.Soft_Links is -- specific data. This type is used to store the necessary data into the -- Task_Control_Block or into a global variable in the non tasking case. - type TSD is record + type TSD is limited record Pri_Stack_Info : aliased Stack_Checking.Stack_Info; -- Information on stack (Base/Limit/Size) used by System.Stack_Checking. -- If this TSD does not belong to the environment task, the Size field