summaryrefslogtreecommitdiff
path: root/gcc/ada/checks.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-02 08:13:09 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-02 08:13:09 +0000
commit3b045963ac67890ece50c3aeadbffcb18ed077a8 (patch)
tree716355f52bae28ce20b7e98724a88c6311ef33c5 /gcc/ada/checks.ads
parentc9e56837e343779c5878ed4a4a56c4ecb8af2307 (diff)
downloadgcc-3b045963ac67890ece50c3aeadbffcb18ed077a8.tar.gz
2012-10-02 Vincent Pucci <pucci@adacore.com>
* sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension analysis for indexed components added. * sem_ch6.adb (Analyze_Function_Call): Dimension propagation for function calls added. * sem_dim.adb (Analyze_Dimension): Call to Analyze_Dimension_Has_Etype when N is a function call. (Analyze_Dimension_Call): Don't propagate anymore the dimensions for function calls since this is now treated separately in Analyze_Dimension_Has_Etype. (Analyze_Dimension_Has_Etype): For attribute references, propagate the dimensions from the prefix. * sem_dim.ads (Copy_Dimensions): Fix comment. 2012-10-02 Hristian Kirtchev <kirtchev@adacore.com> * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine. (Apply_Parameter_Aliasing_And_Validity_Checks): This routine has been split into two. (Apply_Parameter_Validity_Checks): New routine. * exp_ch6.adb (Expand_Call): Add checks to verify that actuals do not overlap. The checks are made on the caller side to overcome issues of parameter passing mechanisms. * freeze.adb (Freeze_Entity): Update call to Apply_Parameter_Aliasing_And_Validity_Checks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191959 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/checks.ads')
-rw-r--r--gcc/ada/checks.ads12
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ada/checks.ads b/gcc/ada/checks.ads
index 583d558e7df..a43fff7b7c7 100644
--- a/gcc/ada/checks.ads
+++ b/gcc/ada/checks.ads
@@ -173,10 +173,16 @@ package Checks is
-- occur in the signed case for the case of the largest negative number
-- divided by minus one.
- procedure Apply_Parameter_Aliasing_And_Validity_Checks (Subp : Entity_Id);
+ procedure Apply_Parameter_Aliasing_Checks
+ (Call : Node_Id;
+ Subp : Entity_Id);
+ -- Given a subprogram call Call, add a check to verify that none of the
+ -- actuals overlap. Subp denotes the subprogram being called.
+
+ procedure Apply_Parameter_Validity_Checks (Subp : Entity_Id);
-- Given a subprogram Subp, add both a pre and post condition pragmas that
- -- detect aliased objects and verify the proper initialization of scalars
- -- in parameters and function results.
+ -- verify the proper initialization of scalars in parameters and function
+ -- results.
procedure Apply_Predicate_Check (N : Node_Id; Typ : Entity_Id);
-- N is an expression to which a predicate check may need to be applied