From: Viljar Indus <in...@adacore.com> Restore the original state of Style_Check pragmas before analyzing each compilation unit to avoid Style_Check pragmas from unit affecting the style checks of a different unit.
gcc/ada/ * sem_ch10.adb: (Analyze_Compilation_Unit): Restore the orignal state of style check pragmas at the end of the analysis. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_ch10.adb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb index ba4beae2851..90d2f3c6c74 100644 --- a/gcc/ada/sem_ch10.adb +++ b/gcc/ada/sem_ch10.adb @@ -638,6 +638,7 @@ package body Sem_Ch10 is Par_Spec_Name : Unit_Name_Type; Spec_Id : Entity_Id; Unum : Unit_Number_Type; + Options : Style_Check_Options; -- Start of processing for Analyze_Compilation_Unit @@ -717,6 +718,11 @@ package body Sem_Ch10 is Set_Context_Pending (N); end if; + -- Store the style check options before analyzing context pragmas that + -- might change them for this compilation unit. + + Save_Style_Check_Options (Options); + Analyze_Context (N); Set_Context_Pending (N, False); @@ -1395,6 +1401,10 @@ package body Sem_Ch10 is Pop_Scope; end if; + -- Finally restore all the original style check options + + Set_Style_Check_Options (Options); + -- If No_Elaboration_Code_All was encountered, this is where we do the -- transitive test of with'ed units to make sure they have the aspect. -- This is delayed till the end of analyzing the compilation unit to -- 2.42.0