diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_ch6.adb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index 4b58d59..c7d4b96 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -4585,6 +4585,17 @@ package body Sem_Ch6 is then Conformant := True; + -- Finally, a body generated for an expression function copies + -- the profile of the function and no check is needed either. + -- If the body is the completion of a previous function + -- declared elsewhere, the conformance check is required. + + elsif Nkind (N) = N_Subprogram_Body + and then Was_Expression_Function (N) + and then Sloc (Spec_Id) = Sloc (Body_Id) + then + Conformant := True; + else Check_Conformance (Body_Id, Spec_Id, |