aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/inline.adb
diff options
context:
space:
mode:
authorRonan Desplanques <desplanques@adacore.com>2024-04-25 12:09:16 +0200
committerMarc Poulhiès <poulhies@adacore.com>2024-06-13 15:30:31 +0200
commit9fe127c9c6320dea32d6441e10b654a7e2ab004c (patch)
tree7bd812dd831d53b133d1d4712ff656f4021c0889 /gcc/ada/inline.adb
parent72ccc99d6fc22aaae4aaf74027329acafd70cbfc (diff)
downloadgcc-9fe127c9c6320dea32d6441e10b654a7e2ab004c.zip
gcc-9fe127c9c6320dea32d6441e10b654a7e2ab004c.tar.gz
gcc-9fe127c9c6320dea32d6441e10b654a7e2ab004c.tar.bz2
ada: Fix expansion of protected subprogram bodies
System.Tasking.Protected_Objects.Lock can raise exceptions, but that wasn't taken into account by the expansion of protected subprogram bodies before this patch. More precisely, there were cases where calls to System.Tasking.Initialization.Abort_Undefer were incorrectly omitted. This patch fixes this. gcc/ada/ * exp_ch7.adb (Build_Cleanup_Statements): Adapt to changes made to Build_Protected_Subprogram_Call_Cleanup. * exp_ch9.adb (Make_Unlock_Statement, Wrap_Unprotected_Call): New functions. (Build_Protected_Subprogram_Body): Fix resource management in generated code. (Build_Protected_Subprogram_Call_Cleanup): Make use of newly introduced Make_Unlock_Statement.
Diffstat (limited to 'gcc/ada/inline.adb')
0 files changed, 0 insertions, 0 deletions