]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Update comments
authorArnaud Charlet <charlet@gcc.gnu.org>
Fri, 18 Jul 2014 15:39:59 +0000 (17:39 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 18 Jul 2014 15:39:59 +0000 (17:39 +0200)
From-SVN: r212819

gcc/ada/sem_ch7.adb

index 372fd86ce6fe84236ecd7dd772aaba48ab3e5c03..099bbd74d10addc82e6e4e1c47acffdf2513d8b9 100644 (file)
@@ -184,6 +184,11 @@ package body Sem_Ch7 is
       Prag    : Node_Id;
 
    begin
+      --  Due to the timing of contract analysis, delayed pragmas may be
+      --  subject to the wrong SPARK_Mode, usually that of the enclosing
+      --  context. To remedy this, restore the original SPARK_Mode of the
+      --  related package body.
+
       Save_SPARK_Mode_And_Set (Body_Id, Mode);
 
       Prag := Get_Pragma (Body_Id, Pragma_Refined_State);
@@ -204,6 +209,9 @@ package body Sem_Ch7 is
          Error_Msg_N ("package & requires state refinement", Spec_Id);
       end if;
 
+      --  Restore the SPARK_Mode of the enclosing context after all delayed
+      --  pragmas have been analyzed.
+
       Restore_SPARK_Mode (Mode);
    end Analyze_Package_Body_Contract;
 
@@ -848,6 +856,11 @@ package body Sem_Ch7 is
       Prag : Node_Id;
 
    begin
+      --  Due to the timing of contract analysis, delayed pragmas may be
+      --  subject to the wrong SPARK_Mode, usually that of the enclosing
+      --  context. To remedy this, restore the original SPARK_Mode of the
+      --  related package.
+
       Save_SPARK_Mode_And_Set (Pack_Id, Mode);
 
       --  Analyze the initialization related pragmas. Initializes must come
@@ -876,6 +889,9 @@ package body Sem_Ch7 is
          end if;
       end if;
 
+      --  Restore the SPARK_Mode of the enclosing context after all delayed
+      --  pragmas have been analyzed.
+
       Restore_SPARK_Mode (Mode);
    end Analyze_Package_Contract;