aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat/a-except.ads
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2021-12-03 12:01:14 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2022-01-06 17:11:34 +0000
commit0590ed7248a46c06c9f0d166af7eb8c9bb046a66 (patch)
tree72f4ed5ca2eab8b298f3822b2635f0cb42627346 /gcc/ada/libgnat/a-except.ads
parent337417795afd624c479c49529a935ee096700457 (diff)
downloadgcc-0590ed7248a46c06c9f0d166af7eb8c9bb046a66.zip
gcc-0590ed7248a46c06c9f0d166af7eb8c9bb046a66.tar.gz
gcc-0590ed7248a46c06c9f0d166af7eb8c9bb046a66.tar.bz2
[Ada] New restriction No_Tagged_Type_Registration
gcc/ada/ * libgnat/s-rident.ads (No_Tagged_Type_Registration): New restriction identifier. * restrict.ads (Implementation_Restriction): Add restriction. * exp_ch7.adb (Process_Declarations): Suppress tagged-type-related finalization actions if the restriction is active. Call RTE_Available last. * exp_disp.adb (Make_DT): Likewise. * exp_util.adb (Requires_Cleanup_Actions): Return False for a tagged type declaration if No_Tagged_Type_Registration is active. * sem_attr.adb (Check_Stream_Attribute): Check restriction No_Tagged_Type_Registration. * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to avoid stopping at a warning in gdb. * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: Document new restriction. * gnat_rm.texi: Regenerate.
Diffstat (limited to 'gcc/ada/libgnat/a-except.ads')
-rw-r--r--gcc/ada/libgnat/a-except.ads8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/ada/libgnat/a-except.ads b/gcc/ada/libgnat/a-except.ads
index b6c8bb5..0258d0e 100644
--- a/gcc/ada/libgnat/a-except.ads
+++ b/gcc/ada/libgnat/a-except.ads
@@ -286,8 +286,10 @@ private
pragma Stream_Convert (Exception_Occurrence, String_To_EO, EO_To_String);
-- Functions for implementing Exception_Occurrence stream attributes
- pragma Warnings (Off, "aggregate not fully initialized");
- Null_Occurrence : constant Exception_Occurrence := (others => <>);
- pragma Warnings (On, "aggregate not fully initialized");
+ Null_Occurrence : constant Exception_Occurrence :=
+ (Machine_Occurrence => System.Null_Address,
+ Msg => (others => '*'),
+ Tracebacks => (others => System.Traceback_Entries.Null_TB_Entry),
+ others => <>);
end Ada.Exceptions;