From: Eric Botcazou Date: Sat, 2 May 2020 09:35:42 +0000 (+0200) Subject: [Ada] Fix small fallout of previous change for allocator X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1e400f33e172020a4a3e357ee99c63e3ee97376d;p=gcc.git [Ada] Fix small fallout of previous change for allocator 2020-06-19 Eric Botcazou gcc/ada/ * sem_res.adb (Resolve_Qualified_Expression): Do not override the type of the node when it is unconstrained if it is for an allocator. --- diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index e4c0c072ab9..46f140932b8 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -10161,10 +10161,12 @@ package body Sem_Res is -- If the target type is unconstrained, then we reset the type of the -- result from the type of the expression. For other cases, the actual - -- subtype of the expression is the target type. + -- subtype of the expression is the target type. But we avoid doing it + -- for an allocator since this is not needed and might be problematic. if Is_Composite_Type (Target_Typ) and then not Is_Constrained (Target_Typ) + and then Nkind (Parent (N)) /= N_Allocator then Set_Etype (N, Etype (Expr)); end if;