diff options
author | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-12-15 11:16:14 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-12-15 11:16:14 +0000 |
commit | b3801819f495f925bc7c26f03e4e98f448423839 (patch) | |
tree | 05bbd4a2275dcfa45bede507f65507549a26bbb8 /gcc/ada/sem_warn.adb | |
parent | fe663f3750d37cc7edacd07caf5872d18f04889f (diff) | |
download | gcc-b3801819f495f925bc7c26f03e4e98f448423839.zip gcc-b3801819f495f925bc7c26f03e4e98f448423839.tar.gz gcc-b3801819f495f925bc7c26f03e4e98f448423839.tar.bz2 |
gnat_and_program_execution.rst: Update section "Dynamic Stack Usage Analysis" to include more details about...
gcc/ada/
2017-12-15 Patrick Bernardi <bernardi@adacore.com>
* doc/gnat_ugn/gnat_and_program_execution.rst: Update section "Dynamic
Stack Usage Analysis" to include more details about GNAT_STACK_LIMIT.
2017-12-15 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Add_Own_DIC): Ensure that the expression of the pragma
is available (Is_Verifiable_DIC_Pragma): Moved from Sem_Util.
* sem_util.adb (Has_Full_Default_Initialization):
Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
whether a type has full default initialization due to pragma
Default_Initial_Condition.
(Has_Fully_Default_Initializing_DIC_Pragma): New routine.
(Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
* sem_util.ads (Has_Fully_Default_Initializing_DIC_Pragma): New
routine.
(Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
* sem_warn.adb (Is_OK_Fully_Initialized):
Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
whether a type has full default initialization due to pragma
Default_Initial_Condition.
2017-12-15 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Match_Constituent): Do not quietly accept constants as
suitable constituents.
* exp_util.adb: Minor reformatting.
2017-12-15 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (In_Place_Assign_OK): Extend the predicate to recognize
an array aggregate in an allocator, when the designated type is
unconstrained and the upper bound of the aggregate belongs to the base
type of the index.
2017-12-15 Bob Duff <duff@adacore.com>
* exp_ch6.adb (Expand_N_Extended_Return_Statement,
Expand_Simple_Function_Return): Assert that the b-i-p-ness of the
caller and callee match. Otherwise, we would need some substantial
changes to allow b-i-p calls non-b-i-p, and vice versa.
gcc/testsuite/
2017-12-15 Hristian Kirtchev <kirtchev@adacore.com>
* gnat.dg/dflt_init_cond.adb, gnat.dg/dflt_init_cond_pkg.ads: New
testcase.
From-SVN: r255685
Diffstat (limited to 'gcc/ada/sem_warn.adb')
-rw-r--r-- | gcc/ada/sem_warn.adb | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index ff94cf8..ce55724 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -1742,21 +1742,16 @@ package body Sem_Warn is ----------------------------- function Is_OK_Fully_Initialized return Boolean is - Prag : Node_Id; - begin if Is_Access_Type (Typ) and then Is_Dereferenced (N) then return False; - -- A type subject to pragma Default_Initial_Condition is fully - -- default initialized when the pragma appears with a non-null - -- argument (SPARK RM 3.1 and SPARK RM 7.3.3). - - elsif Has_DIC (Typ) then - Prag := Get_Pragma (Typ, Pragma_Default_Initial_Condition); - pragma Assert (Present (Prag)); + -- A type subject to pragma Default_Initial_Condition may be fully + -- default initialized depending on inheritance and the argument of + -- the pragma (SPARK RM 3.1 and SPARK RM 7.3.3). - return Is_Verifiable_DIC_Pragma (Prag); + elsif Has_Fully_Default_Initializing_DIC_Pragma (Typ) then + return True; else return Is_Fully_Initialized_Type (Typ); |