From 22071092eda0032c9559d47e1879432ee19926e5 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Mon, 18 Apr 2016 12:41:08 +0000 Subject: [PATCH] sem_res.adb (Resolve_Short_Circuit): Do not use expression-with-actions when generating C. 2016-04-18 Arnaud Charlet * sem_res.adb (Resolve_Short_Circuit): Do not use expression-with-actions when generating C. From-SVN: r235140 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/sem_res.adb | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 0a3c479415c..2c0a31da35d 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2016-04-18 Arnaud Charlet + + * sem_res.adb (Resolve_Short_Circuit): Do not use + expression-with-actions when generating C. + 2016-04-18 Yannick Moy * 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 67807723a92..0471b14b9a1 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 -- 2.30.2