diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-20 15:47:03 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-20 15:47:03 +0000 |
commit | 596336afbb593298e22110c215c31174139f1685 (patch) | |
tree | 20e082023d177655c2761b1671694c8dcac5d825 /gcc/ada/exp_ch7.adb | |
parent | becb77a9b4e077a13755aca1f3b0a287499e1730 (diff) | |
download | gcc-596336afbb593298e22110c215c31174139f1685.tar.gz |
2014-01-20 Robert Dewar <dewar@adacore.com>
* s-tataat.adb: Minor reformatting.
2014-01-20 Robert Dewar <dewar@adacore.com>
* einfo.adb (Is_Descendent_Of_Address): Now applies to all
entities, and also fix documentation to remove mention of visible
integer type, since this is not what the implementation does.
* einfo.ads (Is_Descendent_Of_Address): Now applies to all
entities, and also fix documentation to remove mention of visible
integer type, since this is not what the implementation does.
* gnat_rm.texi: Minor clarification of Allow_Integer_Address
function.
* sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address
case for parameter type check.
* sem_res.adb (Resolve): Use new function
Address_Integer_Convert_OK.
* sem_type.adb: Minor code reorganization (use Ekind_In) Minor
reformatting throughout.
* sem_util.adb (Address_Integer_Convert_OK): New function.
* sem_util.ads: Minor reformatting (put specs in alpha order)
(Address_Integer_Convert_OK): New function.
2014-01-20 Thomas Quinot <quinot@adacore.com>
* exp_ch7.adb (Wrap_Transient_Expression):
Insertion extra conditional expression only if
Opt.Suppress_Control_Flow_Optimizations is set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206832 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch7.adb')
-rw-r--r-- | gcc/ada/exp_ch7.adb | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb index 8a16033233f..42d499b2d18 100644 --- a/gcc/ada/exp_ch7.adb +++ b/gcc/ada/exp_ch7.adb @@ -7982,16 +7982,13 @@ package body Exp_Ch7 is -- end; -- A special case is made for Boolean expressions so that the back-end - -- knows to generate a conditional branch instruction if running with + -- knows to generate a conditional branch instruction, if running with -- -fpreserve-control-flow. This ensures that a control flow change -- signalling the decision outcome occurs before the cleanup actions. - -- In the absence of -fpreserve-control-flow, the back-end will - -- optimize away the extra conditional expression, so we can do this - -- modification unconditionally here. - -- Why don't we add a test of Opt.Preserve_Control_Flow here??? - - if Is_Boolean_Type (Typ) then + if Opt.Suppress_Control_Flow_Optimizations + and then Is_Boolean_Type (Typ) + then Expr := Make_If_Expression (Loc, Expressions => New_List ( |