From d22017c06b37fd58916e289ef9f96c78df3bf248 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 8 Nov 2018 04:35:42 +0100 Subject: sem_expr: handle interface subprograms in sem_subprogram_call_stage1. Fix #690 --- src/vhdl/sem_expr.adb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vhdl/sem_expr.adb b/src/vhdl/sem_expr.adb index 707b65f68..3ea703f38 100644 --- a/src/vhdl/sem_expr.adb +++ b/src/vhdl/sem_expr.adb @@ -1240,13 +1240,15 @@ package body Sem_Expr is A_Func := Get_Element (Imp_It); case Get_Kind (A_Func) is - when Iir_Kinds_Functions_And_Literals => + when Iir_Kinds_Functions_And_Literals + | Iir_Kind_Interface_Function_Declaration => if not Is_Func_Call then -- The identifier of a function call must be a function or -- an enumeration literal. goto Continue; end if; - when Iir_Kind_Procedure_Declaration => + when Iir_Kind_Procedure_Declaration + | Iir_Kind_Interface_Procedure_Declaration => if Is_Func_Call then -- The identifier of a procedure call must be a procedure. goto Continue; -- cgit v1.2.3