[gcc r13-7909] ada: Fix wrong optimization of extended return for discriminated record type
Eric Botcazou
ebotcazou@gcc.gnu.org
Wed Sep 27 08:28:47 GMT 2023
https://gcc.gnu.org/g:1c135ab169fd6924292258ab107732b565ee1ee3
commit r13-7909-g1c135ab169fd6924292258ab107732b565ee1ee3
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Thu Sep 7 16:44:36 2023 +0200
ada: Fix wrong optimization of extended return for discriminated record type
This happens when the discriminants of the record type have default values.
gcc/ada/ChangeLog:
* inline.adb (Expand_Inlined_Call): In the case of a function call
that returns an unconstrained type and initializes an object, set
the No_Initialization flag on the new declaration of the object.
Diff:
---
gcc/ada/inline.adb | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb
index c3911cf70e8..598668b0e55 100644
--- a/gcc/ada/inline.adb
+++ b/gcc/ada/inline.adb
@@ -4105,6 +4105,7 @@ package body Inline is
Object_Definition =>
New_Copy_Tree (Object_Definition (Parent (Targ1))));
Replace_Formals (Decl);
+ Set_No_Initialization (Decl);
Rewrite (Parent (N), Decl);
Analyze (Parent (N));
More information about the Gcc-cvs
mailing list