exp_ch7.adb (Create_Finalizer): Suppress checks within the finalizer.
authorBob Duff <duff@adacore.com>
Mon, 9 Oct 2017 18:46:19 +0000 (18:46 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 9 Oct 2017 18:46:19 +0000 (18:46 +0000)
2017-10-09  Bob Duff  <duff@adacore.com>

* exp_ch7.adb (Create_Finalizer): Suppress checks within the finalizer.

2017-10-09  Bob Duff  <duff@adacore.com>

* freeze.ads: Minor comment fixed.

From-SVN: r253557

gcc/ada/ChangeLog
gcc/ada/exp_ch7.adb
gcc/ada/freeze.ads

index ff6392a6c0d63d13b1b7cf641ce1103168943fed..8b83270f5f33e0c0fa45726f02160c4ccaf0bc0a 100644 (file)
@@ -1,3 +1,11 @@
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+       * exp_ch7.adb (Create_Finalizer): Suppress checks within the finalizer.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+       * freeze.ads: Minor comment fixed.
+
 2017-10-09  Bob Duff  <duff@adacore.com>
 
        * exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Take
index 07fd33ce465b3ceb650ab946c67f23eda9a747f7..f5fa9a50d3734cc0078d39160f3ab1558e524a9d 100644 (file)
@@ -1955,7 +1955,7 @@ package body Exp_Ch7 is
                Insert_After (Finalizer_Insert_Nod, Fin_Body);
             end if;
 
-            Analyze (Fin_Body);
+            Analyze (Fin_Body, Suppress => All_Checks);
          end if;
       end Create_Finalizer;
 
index 079d7132abe9b343930f38ab19376c56f9288cd7..6ec74b466a6e3595ea00af498e8634578e4315fd 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2016, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-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- --
@@ -114,15 +114,15 @@ package Freeze is
 
    --      Are always frozen at the point of declaration
 
-   --  The flag Has_Delayed_Freeze is used for to indicate that delayed
-   --  freezing is required. Usually the associated freeze node is allocated
-   --  at the freezing point. One special exception occurs with anonymous
-   --  base types, where the freeze node is preallocated at the point of
-   --  declaration, so that the First_Subtype_Link field can be set.
+   --  The flag Has_Delayed_Freeze is used to indicate that delayed freezing
+   --  is required. Usually the associated freeze node is allocated at the
+   --  freezing point. One special exception occurs with anonymous base types,
+   --  where the freeze node is preallocated at the point of declaration, so
+   --  that the First_Subtype_Link field can be set.
 
    Freezing_Library_Level_Tagged_Type : Boolean := False;
    --  Flag used to indicate that we are freezing the primitives of a library
-   --  level tagged types. Used to disable checks on premature freezing.
+   --  level tagged type. Used to disable checks on premature freezing.
    --  More documentation needed??? why is this flag needed? what are these
    --  checks? why do they need disabling in some cases?