summaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-21 13:14:06 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-21 13:14:06 +0000
commit72b225ec21351d5b734753f8353264f5223ee06a (patch)
treeaba9b3d524f3a98dd1c9d5af5b483425554a6a99 /gcc/ada/sinfo.ads
parentfc7bc4d1693a15796613443a397cba2bae256d60 (diff)
downloadgcc-72b225ec21351d5b734753f8353264f5223ee06a.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210705 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r--gcc/ada/sinfo.ads21
1 files changed, 18 insertions, 3 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index ec4a3bdab9d..3f3c312f609 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- 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- --
@@ -1701,6 +1701,12 @@ package Sinfo is
-- present in an N_Subtype_Indication node, since we also use these in
-- calls to Freeze_Expression.
+ -- Needs_Initialized_Actual (Flag18-Sem)
+ -- Present in formal_private_type_definitions and on private extension
+ -- declarations. Set when the use of a formal type in a generic suggests
+ -- that the actual should be a fully initialized type, to avoid potential
+ -- use of uninitialized values.
+
-- Next_Entity (Node2-Sem)
-- Present in defining identifiers, defining character literals and
-- defining operator symbols (i.e. in all entities). The entities of a
@@ -5280,6 +5286,7 @@ package Sinfo is
-- Synchronized_Present (Flag7)
-- Subtype_Indication (Node5)
-- Interface_List (List2) (set to No_List if none)
+ -- Needs_Initialized_Actual (Flag18-Sem)
---------------------
-- 8.4 Use Clause --
@@ -6705,6 +6712,7 @@ package Sinfo is
-- Abstract_Present (Flag4)
-- Tagged_Present (Flag15)
-- Limited_Present (Flag17)
+ -- Needs_Initialized_Actual (Flag18-Sem)
--------------------------------------------
-- 12.5.1 Formal Derived Type Definition --
@@ -8930,7 +8938,6 @@ package Sinfo is
function Generalized_Indexing
(N : Node_Id) return Node_Id; -- Node4
-
function Generic_Associations
(N : Node_Id) return List_Id; -- List3
@@ -9195,6 +9202,9 @@ package Sinfo is
function Names
(N : Node_Id) return List_Id; -- List2
+ function Needs_Initialized_Actual
+ (N : Node_Id) return Boolean; -- Flag18
+
function Next_Entity
(N : Node_Id) return Node_Id; -- Node2
@@ -10194,6 +10204,9 @@ package Sinfo is
procedure Set_Names
(N : Node_Id; Val : List_Id); -- List2
+ procedure Set_Needs_Initialized_Actual
+ (N : Node_Id; Val : Boolean := True); -- Flag18
+
procedure Set_Next_Entity
(N : Node_Id; Val : Node_Id); -- Node2
@@ -10940,7 +10953,7 @@ package Sinfo is
(1 => True, -- Expressions (List1)
2 => False, -- unused
3 => True, -- Prefix (Node3)
- 4 => False, -- Generalized_Indexing (Node4-Sem)
+ 4 => False, -- Generalized_Indexing (Node4-Sem)
5 => False), -- Etype (Node5-Sem)
N_Slice =>
@@ -12483,6 +12496,7 @@ package Sinfo is
pragma Inline (Must_Override);
pragma Inline (Name);
pragma Inline (Names);
+ pragma Inline (Needs_Initialized_Actual);
pragma Inline (Next_Entity);
pragma Inline (Next_Exit_Statement);
pragma Inline (Next_Implicit_With);
@@ -12812,6 +12826,7 @@ package Sinfo is
pragma Inline (Set_Must_Override);
pragma Inline (Set_Name);
pragma Inline (Set_Names);
+ pragma Inline (Set_Needs_Initialized_Actual);
pragma Inline (Set_Next_Entity);
pragma Inline (Set_Next_Exit_Statement);
pragma Inline (Set_Next_Implicit_With);