]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Crash on creation of extra formals on type extension
authorJavier Miranda <miranda@adacore.com>
Sat, 19 Aug 2023 16:50:42 +0000 (16:50 +0000)
committerMarc Poulhiès <poulhies@adacore.com>
Tue, 5 Sep 2023 11:05:14 +0000 (13:05 +0200)
commit2aa1a9205e3e9581e771c7d02e35fd03bff9fce3
treeb34408f5cd0c3b950d13d74a61346d492eb74c37
parentfd208ccbfcb8562b4302b618b3fc1d2601af17d5
ada: Crash on creation of extra formals on type extension

The compiler blows up processing an overriding dispatching function
of a derived tagged type that returns a private tagged type that
has an access type discriminant.

gcc/ada/

* accessibility.ads (Needs_Result_Accessibility_Extra_Formal): New
subprogram.
* accessibility.adb (Needs_Result_Accessibility_Level_Param): New
subprogram.
(Needs_Result_Accessibility_Extra_Formal): New subprogram,
temporarily keep the previous behavior of the frontend.
* sem_ch6.adb (Create_Extra_Formals): Replace occurrences of
function Needs_Result_Accessibility_Level_Param by calls to
function Needs_Result_Accessibility_Extra_Formal.
(Extra_Formals_OK): Ditto.
gcc/ada/accessibility.adb
gcc/ada/accessibility.ads
gcc/ada/sem_ch6.adb