diff options
author | Bob Duff <duff@adacore.com> | 2017-10-09 18:46:19 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-10-09 18:46:19 +0000 |
commit | b3db0949e73243f4b0023f00d2148e09a827a30b (patch) | |
tree | 49ab8c21589aec188d754e4a841f9a842a7a5379 | |
parent | bd8cd1136c3f8c5afe5b0b426a0df8bc92d83f3a (diff) | |
download | gcc-b3db0949e73243f4b0023f00d2148e09a827a30b.zip gcc-b3db0949e73243f4b0023f00d2148e09a827a30b.tar.gz gcc-b3db0949e73243f4b0023f00d2148e09a827a30b.tar.bz2 |
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
-rw-r--r-- | gcc/ada/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ada/exp_ch7.adb | 2 | ||||
-rw-r--r-- | gcc/ada/freeze.ads | 14 |
3 files changed, 16 insertions, 8 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index ff6392a..8b83270 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,13 @@ 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 care of unchecked conversions in addition to regular conversions. This takes care of a case where a type is derived from a private untagged diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb index 07fd33c..f5fa9a50 100644 --- a/gcc/ada/exp_ch7.adb +++ b/gcc/ada/exp_ch7.adb @@ -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; diff --git a/gcc/ada/freeze.ads b/gcc/ada/freeze.ads index 079d713..6ec74b4 100644 --- a/gcc/ada/freeze.ads +++ b/gcc/ada/freeze.ads @@ -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? |