diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2020-05-02 11:35:42 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-19 04:17:25 -0400 |
commit | 1e400f33e172020a4a3e357ee99c63e3ee97376d (patch) | |
tree | 9caa8bd6d1247b80869fb36ccbc0c6ae574ef0c4 | |
parent | e3c1f8dd0502c22c9ad47b360a65405ae9b87b23 (diff) | |
download | gcc-1e400f33e172020a4a3e357ee99c63e3ee97376d.zip gcc-1e400f33e172020a4a3e357ee99c63e3ee97376d.tar.gz gcc-1e400f33e172020a4a3e357ee99c63e3ee97376d.tar.bz2 |
[Ada] Fix small fallout of previous change for allocator
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
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.
-rw-r--r-- | gcc/ada/sem_res.adb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index e4c0c07..46f1409 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; |