diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-26 13:26:11 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-26 13:26:11 +0000 |
commit | fdec445e1bcb94aa335bd3c11db668c0ce35aace (patch) | |
tree | 009f50ecfd2e3c00060714be3a86ffa02c6b0482 /gcc/ada/aspects.ads | |
parent | 736b80ccafd1e5cbf4a6d0a4ab9bdc2bbb5b1e38 (diff) | |
download | gcc-fdec445e1bcb94aa335bd3c11db668c0ce35aace.tar.gz |
2015-10-26 Bob Duff <duff@adacore.com>
* snames.ads-tmpl, aspects.adb, aspects.ads: Add the aspect and
pragma names and enter into relevant tables.
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze aspect
Predicate_Failure.
* sem_prag.adb (Predicate_Failure): Analyze pragma Predicate_Failure.
* exp_util.adb (Make_Predicate_Check): When building the Check
pragma, if Predicate_Failure has been specified, add the relevant
String argument to the pragma.
* par-prag.adb (Prag): Add Predicate_Failure to list of pragmas
handled during semantic analysis.
2015-10-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Assignment): If the left-hand side
is an indexed component with generalized indexing, discard
interpretation that yields a reference type, which is not
assignable. This prevent spurious ambiguities when the right-hand
side is an aggregate which does not provide a target type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229358 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/aspects.ads')
-rw-r--r-- | gcc/ada/aspects.ads | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/aspects.ads b/gcc/ada/aspects.ads index 55c51a14a6b..5e042ada03e 100644 --- a/gcc/ada/aspects.ads +++ b/gcc/ada/aspects.ads @@ -125,6 +125,7 @@ package Aspects is Aspect_Pre, Aspect_Precondition, Aspect_Predicate, -- GNAT + Aspect_Predicate_Failure, Aspect_Priority, Aspect_Read, Aspect_Refined_Depends, -- GNAT @@ -361,6 +362,7 @@ package Aspects is Aspect_Pre => Expression, Aspect_Precondition => Expression, Aspect_Predicate => Expression, + Aspect_Predicate_Failure => Expression, Aspect_Priority => Expression, Aspect_Read => Name, Aspect_Refined_Depends => Expression, @@ -472,6 +474,7 @@ package Aspects is Aspect_Pre => Name_Pre, Aspect_Precondition => Name_Precondition, Aspect_Predicate => Name_Predicate, + Aspect_Predicate_Failure => Name_Predicate_Failure, Aspect_Preelaborable_Initialization => Name_Preelaborable_Initialization, Aspect_Preelaborate => Name_Preelaborate, Aspect_Priority => Name_Priority, @@ -587,7 +590,7 @@ package Aspects is -- constructs. To handle forward references in such aspects, the compiler -- delays the analysis of their respective pragmas by collecting them in -- N_Contract nodes. The pragmas are then analyzed at the end of the - -- declarative region which contains the related construct. For details, + -- declarative region containing the related construct. For details, -- see routines Analyze_xxx_In_Decl_Part. -- The following shows which aspects are delayed. There are three cases: @@ -676,6 +679,7 @@ package Aspects is Aspect_Pre => Always_Delay, Aspect_Precondition => Always_Delay, Aspect_Predicate => Always_Delay, + Aspect_Predicate_Failure => Always_Delay, Aspect_Preelaborable_Initialization => Always_Delay, Aspect_Preelaborate => Always_Delay, Aspect_Priority => Always_Delay, |