aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-05-21 15:14:06 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-05-21 15:14:06 +0200
commitc8a3028c36d9c8fd7f6f07b8571e6db0db337616 (patch)
treeaba9b3d524f3a98dd1c9d5af5b483425554a6a99 /gcc/ada/sinfo.adb
parent23e28b42173b30e3ebe2b8e5765b01dc7fd60da2 (diff)
downloadgcc-c8a3028c36d9c8fd7f6f07b8571e6db0db337616.zip
gcc-c8a3028c36d9c8fd7f6f07b8571e6db0db337616.tar.gz
gcc-c8a3028c36d9c8fd7f6f07b8571e6db0db337616.tar.bz2
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com> * sem_elab.adb: Minor reformatting. * s-taprop.ads: Minor comment fix. * sem_ch8.adb (Analyze_Subprogram_Renaming): Remove call to Kill_Elaboration_Checks. * errout.adb, erroutc.adb: Minor reformatting. 2014-05-21 Thomas Quinot <quinot@adacore.com> * exp_pakd.adb (Byte_Swap): Handle the case of a sub-byte component. No byte swapping occurs, but this procedure also takes care of appropriately justifying the argument. 2014-05-21 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb: sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): New routine. (Analyze_Subprogram_Body_Helper): Move the analysis of aspect specifications and the processing of the subprogram body contract after inlining has taken place. (Diagnose_Misplaced_Aspect_Specifications): Removed. 2014-05-21 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Build_Derived_Record_Type): Revert previous change. 2014-05-21 Robert Dewar <dewar@adacore.com> * sem_eval.ads, sem_eval.adb (Why_Not_Static): Messages are not continuations any more. 2014-05-21 Ed Schonberg <schonberg@adacore.com> * sinfo.ads, sinfo.adb: New flag Needs_Initialized_Actual, present in formal_Private_Definitions and on private extension declarations of a formal derived type. Set when the use of the formal type in a generic suggests that the actual should be a fully initialized type. * sem_warn.adb (May_Need_Initialized_Actual): new subprogram to indicate that an entity of a generic type has default initialization, and that the corresponing actual type in any subsequent instantiation should be fully initialized. * sem_ch12.adb (Check_Initialized_Type): new subprogram, to emit a warning if the actual for a generic type on which Needs_Initialized_Actual is set is not a fully initialized type. From-SVN: r210705
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r--gcc/ada/sinfo.adb20
1 files changed, 19 insertions, 1 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb
index dbd54bb..c1eaae5 100644
--- a/gcc/ada/sinfo.adb
+++ b/gcc/ada/sinfo.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, 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- --
@@ -2224,6 +2224,15 @@ package body Sinfo is
return List2 (N);
end Names;
+ function Needs_Initialized_Actual
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Formal_Private_Type_Definition
+ or else NT (N).Nkind = N_Private_Extension_Declaration);
+ return Flag18 (N);
+ end Needs_Initialized_Actual;
+
function Next_Entity
(N : Node_Id) return Node_Id is
begin
@@ -5364,6 +5373,15 @@ package body Sinfo is
Set_List2_With_Parent (N, Val);
end Set_Names;
+ procedure Set_Needs_Initialized_Actual
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Formal_Private_Type_Definition
+ or else NT (N).Nkind = N_Private_Extension_Declaration);
+ Set_Flag18 (N, Val);
+ end Set_Needs_Initialized_Actual;
+
procedure Set_Next_Entity
(N : Node_Id; Val : Node_Id) is
begin