diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-01-06 11:20:44 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-01-06 11:20:44 +0100 |
commit | 1a779058e1ebd6e68771f25062e95f3bb7ff48ab (patch) | |
tree | 19e553bfc8fc773dca0168fb2791706a2c396f13 /gcc/ada/sem_ch8.adb | |
parent | 375cbc2bec0b70a3e54f02248f3a139ef5929419 (diff) | |
download | gcc-1a779058e1ebd6e68771f25062e95f3bb7ff48ab.zip gcc-1a779058e1ebd6e68771f25062e95f3bb7ff48ab.tar.gz gcc-1a779058e1ebd6e68771f25062e95f3bb7ff48ab.tar.bz2 |
[multiple changes]
2015-01-06 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
order to native from default, make sure to also adjust bit order.
* exp_aggr.adb: Minor reformatting.
2015-01-06 Robert Dewar <dewar@adacore.com>
* s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
s-valrea.adb, s-valrea.ads: Add some additional guards for
Str'Last = Positive'Last.
2015-01-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
subprograms.
2015-01-06 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Interface_Conversion): Reapply patch.
From-SVN: r219250
Diffstat (limited to 'gcc/ada/sem_ch8.adb')
-rw-r--r-- | gcc/ada/sem_ch8.adb | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index 413fe90..2f22a9a 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -3457,19 +3457,18 @@ package body Sem_Ch8 is -- points of call within an instance. Wrappers are generated if formal -- subprogram is subject to axiomatization. + -- The types in the wrapper profiles are obtained from (instances of) + -- the types of the formal subprogram. + if Is_Actual and then GNATprove_Mode and then Present (Containing_Package_With_Ext_Axioms (Formal_Spec)) and then not Inside_A_Generic then if Ekind (Old_S) = E_Function then - Rewrite (N, Build_Function_Wrapper (New_S, Old_S)); + Rewrite (N, Build_Function_Wrapper (Formal_Spec, Old_S)); Analyze (N); - -- For wrappers of operators, the types are obtained from (the - -- instances of) the types of the formal subprogram, not from the - -- actual subprogram, that carries predefined types. - elsif Ekind (Old_S) = E_Operator then Rewrite (N, Build_Operator_Wrapper (Formal_Spec, Old_S)); Analyze (N); |