Commit b3db0949 by Bob Duff Committed by Pierre-Marie de Rodat

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

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
parent bd8cd113
2017-10-09 Bob Duff <duff@adacore.com> 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 * exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Take
care of unchecked conversions in addition to regular conversions. This care of unchecked conversions in addition to regular conversions. This
takes care of a case where a type is derived from a private untagged takes care of a case where a type is derived from a private untagged
......
...@@ -1955,7 +1955,7 @@ package body Exp_Ch7 is ...@@ -1955,7 +1955,7 @@ package body Exp_Ch7 is
Insert_After (Finalizer_Insert_Nod, Fin_Body); Insert_After (Finalizer_Insert_Nod, Fin_Body);
end if; end if;
Analyze (Fin_Body); Analyze (Fin_Body, Suppress => All_Checks);
end if; end if;
end Create_Finalizer; end Create_Finalizer;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- 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 -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -114,15 +114,15 @@ package Freeze is ...@@ -114,15 +114,15 @@ package Freeze is
-- Are always frozen at the point of declaration -- Are always frozen at the point of declaration
-- The flag Has_Delayed_Freeze is used for to indicate that delayed -- The flag Has_Delayed_Freeze is used to indicate that delayed freezing
-- freezing is required. Usually the associated freeze node is allocated -- is required. Usually the associated freeze node is allocated at the
-- at the freezing point. One special exception occurs with anonymous -- freezing point. One special exception occurs with anonymous base types,
-- base types, where the freeze node is preallocated at the point of -- where the freeze node is preallocated at the point of declaration, so
-- declaration, so that the First_Subtype_Link field can be set. -- that the First_Subtype_Link field can be set.
Freezing_Library_Level_Tagged_Type : Boolean := False; Freezing_Library_Level_Tagged_Type : Boolean := False;
-- Flag used to indicate that we are freezing the primitives of a library -- 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 -- More documentation needed??? why is this flag needed? what are these
-- checks? why do they need disabling in some cases? -- checks? why do they need disabling in some cases?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment