summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch3.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-06 14:15:51 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-06 14:15:51 +0000
commitf3c8a6969a9c918771e270b418c5606f3007f154 (patch)
tree9121eed3cc9e18844443e36baf95569cbf947a08 /gcc/ada/sem_ch3.adb
parenta6865f2a1b2b54ad4522ccfa8dc6bf6e44b88889 (diff)
downloadgcc-f3c8a6969a9c918771e270b418c5606f3007f154.tar.gz
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refined_Pragma): Remove local variable Pack_Spec. Refinement pragmas may now apply to bodies of both visible and private subprograms. 2014-02-06 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_Loop_Entry_Attribute): Minor change (Attr => N) (Expand_Pred_Succ): New name Expand_Pred_Succ_Attribute (Expand_N_Attribute_Reference, case Max): Expand into if expression if Modify_Tree_For_C mode. (Expand_N_Attribute_Reference, case Min): ditto * sinfo.ads: Modify_Tree_For_C takes care of expanding Min and Max attributes. 2014-02-06 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): Do not generate predicate check if this is an internal declaration with No_Initialization set, as for an expanded aggregate component. 2014-02-06 Doug Rupp <rupp@adacore.com> * init.c (__gnat_default_resignal_p) [VMS]: Test for and resignal conditions with severity of "SUCCESS" or "INFORMATIONAL". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207559 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_ch3.adb')
-rw-r--r--gcc/ada/sem_ch3.adb5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index cf5f4a6eaba..c763bd60b23 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -3551,10 +3551,13 @@ package body Sem_Ch3 is
-- We need a predicate check if the type has predicates, and if either
-- there is an initializing expression, or for default initialization
- -- when we have at least one case of an explicit default initial value.
+ -- when we have at least one case of an explicit default initial value
+ -- and then this is not an internal declaration whose initialization
+ -- comes later (as for an aggregate expansion).
if not Suppress_Assignment_Checks (N)
and then Present (Predicate_Function (T))
+ and then not No_Initialization (N)
and then
(Present (E)
or else