diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index ba0408a44f07..126c6d4bbb50 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2017-01-13 Hristian Kirtchev + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): + Ensure that the input body is a subprogram body before trying to + determine whether it denoted an expression function. Note that + subprogram body stubs cannot denote expression functions. + 2017-01-13 Gary Dismukes * bindgen.adb, sem_ch6.adb, binde.adb, exp_ch3.adb: Minor reformatting diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index 86bbb532771b..08a1bb975c21 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -3503,6 +3503,7 @@ package body Sem_Ch6 is -- freezing. if Has_Completion (Spec_Id) + and then Nkind (N) = N_Subprogram_Body and then Was_Expression_Function (N) then Freeze_Expr_Types (Spec_Id);