diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-09-05 15:01:17 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-09-05 15:01:17 +0200 |
commit | ec09f2616d9ef9cc0f30adb43c00fa02e928a51d (patch) | |
tree | 722b72d2c0b3b7a1539911871f9c6d663acb878b /gcc/ada/lib-xref-alfa.adb | |
parent | 7109f4f52da4ea189b04aeb29a077d140855cb52 (diff) | |
download | gcc-ec09f2616d9ef9cc0f30adb43c00fa02e928a51d.zip gcc-ec09f2616d9ef9cc0f30adb43c00fa02e928a51d.tar.gz gcc-ec09f2616d9ef9cc0f30adb43c00fa02e928a51d.tar.bz2 |
[multiple changes]
2011-09-05 Johannes Kanig <kanig@adacore.com>
* lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
information.
2011-09-05 Ed Schonberg <schonberg@adacore.com>
* par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
appears within a package specification and the token after "IS"
is not a parenthesis, assume that this is an unparenthesized
expression function, even if the token appears in a line by
itself.
* par.adb: Clarify use of Labl field of scope stack in error
recovery.
From-SVN: r178532
Diffstat (limited to 'gcc/ada/lib-xref-alfa.adb')
-rw-r--r-- | gcc/ada/lib-xref-alfa.adb | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/gcc/ada/lib-xref-alfa.adb b/gcc/ada/lib-xref-alfa.adb index a2ea0e6..c58f600 100644 --- a/gcc/ada/lib-xref-alfa.adb +++ b/gcc/ada/lib-xref-alfa.adb @@ -616,7 +616,9 @@ package body Alfa is -- section, as these will be translated as constants in the -- intermediate language for formal verification. - when E_In_Parameter => + -- Above comment is incomplete??? what about E_Constant case + + when E_In_Parameter | E_Constant => return False; when others => @@ -624,18 +626,13 @@ package body Alfa is -- Objects of Task type or protected type are not Alfa -- references. - if Present (Etype (E)) then - case Ekind (Etype (E)) is - when E_Task_Type | E_Protected_Type => - return False; - - when others => - null; - end case; + if Present (Etype (E)) + and then Ekind (Etype (E)) in E_Concurrent_Kind + then + return False; end if; return Typ = 'r' or else Typ = 'm'; - end case; end Is_Alfa_Reference; |