[Ada] Fix internal error on if-expression in call returning tagged type
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 25 May 2020 21:27:46 +0000 (23:27 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Fri, 10 Jul 2020 09:16:17 +0000 (05:16 -0400)
commitb89896312467947542a6eebee886d182e6508760
tree3f57e0e83d18027645e8dc7ecc72b79f0ce1cb24
parenteb6eb3b79aac8efe003861859e52d8e1680b120f
[Ada] Fix internal error on if-expression in call returning tagged type

gcc/ada/

* checks.adb (Determine_Range): Deal with Min and Max attributes.
* exp_ch6.adb (Expand_Call_Helper): When generating code to pass
the accessibility level to the caller in the case of an actual
which is an if-expression, also remove the nodes created after
the declaration of the dummy temporary.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use Natural as
the type of the minimum accessibility level object.
gcc/ada/checks.adb
gcc/ada/exp_ch6.adb
gcc/ada/sem_ch6.adb