aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2016-04-18 12:41:08 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2016-04-18 14:41:08 +0200
commit22071092eda0032c9559d47e1879432ee19926e5 (patch)
treedd4e99806a572230ac5c6fbe4a9929f9f0606dfe /gcc
parentad81cb782b0c9dc481394e424d80926cee0ddf30 (diff)
downloadgcc-22071092eda0032c9559d47e1879432ee19926e5.zip
gcc-22071092eda0032c9559d47e1879432ee19926e5.tar.gz
gcc-22071092eda0032c9559d47e1879432ee19926e5.tar.bz2
sem_res.adb (Resolve_Short_Circuit): Do not use expression-with-actions when generating C.
2016-04-18 Arnaud Charlet <charlet@adacore.com> * sem_res.adb (Resolve_Short_Circuit): Do not use expression-with-actions when generating C. From-SVN: r235140
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/sem_res.adb6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0a3c479..2c0a31d 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2016-04-18 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_res.adb (Resolve_Short_Circuit): Do not use
+ expression-with-actions when generating C.
+
2016-04-18 Yannick Moy <moy@adacore.com>
* sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index 6780772..0471b14 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -10044,9 +10044,11 @@ package body Sem_Res is
-- finalization of transient controlled objects) are fully evaluated
-- locally within an expression with actions. This is particularly
-- helpful for coverage analysis. However this should not happen in
- -- generics.
+ -- generics. Similarly, we want to minimize use of expression with
+ -- actions when generating C code, and finalization is not supported
+ -- in this mode anyway.
- if Expander_Active then
+ if Expander_Active and not Generate_C_Code then
declare
Reloc_L : constant Node_Id := Relocate_Node (L);
begin