diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-09-02 11:22:16 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-09-02 11:22:16 +0200 |
commit | 67c861780f945ca79a8d6d5bf7cb8d3c22fc7f74 (patch) | |
tree | 4459b4c7195e54733ab438adc02e57d4a9026f80 /gcc/ada/lib-xref-alfa.adb | |
parent | 5415acbd64a2d286fae516cad1733bbf977a9a1f (diff) | |
download | gcc-67c861780f945ca79a8d6d5bf7cb8d3c22fc7f74.zip gcc-67c861780f945ca79a8d6d5bf7cb8d3c22fc7f74.tar.gz gcc-67c861780f945ca79a8d6d5bf7cb8d3c22fc7f74.tar.bz2 |
[multiple changes]
2011-09-02 Robert Dewar <dewar@adacore.com>
* prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
2011-09-02 Thomas Quinot <quinot@adacore.com>
* sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
Guard against a prefix that is an N_Has_Entity but has no
associated entity.
2011-09-02 Yannick Moy <moy@adacore.com>
* lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
references.
2011-09-02 Yannick Moy <moy@adacore.com>
* opt.ads (Warn_On_Suspicious_Contract): New warning flag.
* sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
contracts.
* sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
procedure looking for suspicious postconditions.
* usage.adb (Usage): New options -gnatw.t and -gnatw.T.
* warnsw.adb (Set_Dot_Warning_Switch): Take into account new
options -gnatw.t and -gnatw.T.
From-SVN: r178448
Diffstat (limited to 'gcc/ada/lib-xref-alfa.adb')
-rw-r--r-- | gcc/ada/lib-xref-alfa.adb | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ada/lib-xref-alfa.adb b/gcc/ada/lib-xref-alfa.adb index 74d1421..ce95463 100644 --- a/gcc/ada/lib-xref-alfa.adb +++ b/gcc/ada/lib-xref-alfa.adb @@ -608,11 +608,20 @@ package body Alfa is -- On non-callable entities, the only references of interest are -- reads and writes. - if Ekind (E) in Overloadable_Kind then - return Typ = 's'; - else - return Typ = 'r' or else Typ = 'm'; - end if; + case Ekind (E) is + when Overloadable_Kind => + return Typ = 's'; + + -- References to IN parameters are not considered in Alfa + -- section, as these will be translated as constants in the + -- intermediate language for formal verification. + + when E_In_Parameter => + return False; + + when others => + return Typ = 'r' or else Typ = 'm'; + end case; end Is_Alfa_Reference; ------------------- |