diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-10-28 11:44:47 +0100 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-11-12 14:05:44 +0100 |
commit | bd525f07535cb1a144e39cbb5c9b33e845d19e87 (patch) | |
tree | dcd1c2f6939f4dfc94aedd4ce0af7a4e930ec7d4 /gcc | |
parent | 0362d7aa8fcdb63505a6b37a36fc7cc5845ba80c (diff) | |
download | gcc-bd525f07535cb1a144e39cbb5c9b33e845d19e87.zip gcc-bd525f07535cb1a144e39cbb5c9b33e845d19e87.tar.gz gcc-bd525f07535cb1a144e39cbb5c9b33e845d19e87.tar.bz2 |
ada: Fix internal error on invalid prefix with assertions enabled
This happens for example with:
package Q3 is
type Types is (One, Two);
end Q3;
with Q3;
package P3 is
Kind : Q3.Types := Q3.Types.One;
end P3;
and prevents the error from being given.
gcc/ada/ChangeLog:
PR ada/112979
* sem_ch8.adb (Find_Selected_Component): Try to recognize the
object operation notation only if the selector is a subprogram.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_ch8.adb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index 2007db3..449bfa8 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -8535,7 +8535,7 @@ package body Sem_Ch8 is Current_Entity (Selector_Name (N)); begin if Present (F) - and then Is_Overloadable (F) + and then Is_Subprogram (F) and then Present (First_Entity (F)) and then not Is_Tagged_Type (Etype (First_Entity (F))) then |