aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/inline.adb
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2024-05-14 22:06:17 +0200
committerMarc Poulhiès <poulhies@adacore.com>2024-06-20 10:50:51 +0200
commit2e28085cc3ec07dbf897c9b9f5c64a68cddd3d14 (patch)
tree190e44be30d62ce0dd9ddfb04c587976febec5da /gcc/ada/inline.adb
parentcfd7b02a0ca102e12bc7233a45834683b0b247e6 (diff)
downloadgcc-2e28085cc3ec07dbf897c9b9f5c64a68cddd3d14.zip
gcc-2e28085cc3ec07dbf897c9b9f5c64a68cddd3d14.tar.gz
gcc-2e28085cc3ec07dbf897c9b9f5c64a68cddd3d14.tar.bz2
ada: Do not compute Has_Controlled_Component twice during freezing
The Has_Controlled_Component flag is computed twice during freezing when expansion is enabled: in Freeze_Array_Type and Expand_Freeze_Array_Type for array types, and in Freeze_Record_Type and Expand_Freeze_Record_Type for record types. This removes the latter computation in both cases, as well as moves the computation of concurrent flags from the latter to the former places, which happens to plug a loophole in the detection of errors when the No_Task_Parts aspect is specified on peculiar types. gcc/ada/ * exp_ch3.adb (Expand_Freeze_Array_Type): Do not propagate the concurrent flags and the Has_Controlled_Component flag here. (Expand_Freeze_Record_Type): Likewise. * freeze.adb (Freeze_Array_Type): Propagate the concurrent flags. (Freeze_Record_Type): Likewise. * sem_util.adb (Has_Some_Controlled_Component): Adjust comment.
Diffstat (limited to 'gcc/ada/inline.adb')
0 files changed, 0 insertions, 0 deletions