aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/inline.adb16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb
index e3f35da..a1ead98 100644
--- a/gcc/ada/inline.adb
+++ b/gcc/ada/inline.adb
@@ -3013,14 +3013,10 @@ package body Inline is
Temp_Typ := Etype (A);
end if;
- -- If the actual is a simple name or a literal, no need to
- -- create a temporary, object can be used directly.
-
- -- If the actual is a literal and the formal has its address taken,
- -- we cannot pass the literal itself as an argument, so its value
- -- must be captured in a temporary. Skip this optimization in
- -- GNATprove mode, to make sure any check on a type conversion
- -- will be issued.
+ -- If the actual is a simple name or a literal, no need to create a
+ -- temporary, object can be used directly. Skip this optimization in
+ -- GNATprove mode, to make sure any check on a type conversion will
+ -- be issued.
if (Is_Entity_Name (A)
and then
@@ -3039,6 +3035,10 @@ package body Inline is
and then Formal_Is_Used_Once (F)
and then not GNATprove_Mode)
+ -- If the actual is a literal and the formal has its address taken,
+ -- we cannot pass the literal itself as an argument, so its value
+ -- must be captured in a temporary.
+
or else
(Nkind (A) in
N_Real_Literal | N_Integer_Literal | N_Character_Literal