diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-05 14:29:57 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-05 14:29:57 +0000 |
commit | 9ea61fdd44ba2ed39acf4aade8064b425451b4e5 (patch) | |
tree | 91363a32a29c19d899aa9f267516d2afed823ddd /gcc/ada/sem_dim.adb | |
parent | 5f4275e18410f44cc68037012d49294d24ecdf34 (diff) | |
download | gcc-9ea61fdd44ba2ed39acf4aade8064b425451b4e5.tar.gz |
2012-10-05 Thomas Quinot <quinot@adacore.com>
* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
guard against abnormal tree resulting from a previously diagnosed
illegality.
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
and update all refs to it. Do not freeze an entity outside a subprogram
body when the original context is an expression function.
2012-10-05 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
is suppressed, even if backend overflow/divide checks are enabled.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
chain properly subprograms on Subprograms_For_Type list.
* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
procedure, to create declaration for invariant procedure
independently of the construction of the body, so that it can
be called within expression functions.
* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
declaration may already have been generated at the point an
explicit invariant aspect is encountered.
* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
for invariant procedure.
* sem_ch7.adb (Analyze_Package_Specification): clean up call to
build invariant procedure.
(Preserve_Full_Attributes): propagate information about invariants
if they appear on a completion,
2012-10-05 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Update documentation to lift Microsoft C
restriction.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192128 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_dim.adb')
-rw-r--r-- | gcc/ada/sem_dim.adb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/sem_dim.adb b/gcc/ada/sem_dim.adb index afe7d85ae6a..9b9de0a102b 100644 --- a/gcc/ada/sem_dim.adb +++ b/gcc/ada/sem_dim.adb @@ -1629,6 +1629,15 @@ package body Sem_Dim is Formal := First_Formal (Nam); while Present (Formal) loop + + -- A missing corresponding actual indicates that the analysis of + -- the call was aborted due to a previous error. + + if No (Actual) then + Cascaded_Error; + return; + end if; + Formal_Typ := Etype (Formal); Dims_Of_Formal := Dimensions_Of (Formal_Typ); |