From c79a6fbdf9f0ca556d9f2409f99d59856db79a3d Mon Sep 17 00:00:00 2001
From: Tristan Gingold <tgingold@free.fr>
Date: Fri, 28 Nov 2014 21:20:00 +0100
Subject: sem_stmt: avoid crash after error on concurrent procedure call in
 entity.

---
 src/vhdl/sem_stmts.adb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'src/vhdl')

diff --git a/src/vhdl/sem_stmts.adb b/src/vhdl/sem_stmts.adb
index b5912fbc6..d14276892 100644
--- a/src/vhdl/sem_stmts.adb
+++ b/src/vhdl/sem_stmts.adb
@@ -1418,7 +1418,9 @@ package body Sem_Stmts is
 
       if Is_Passive then
          Imp := Get_Implementation (Call);
-         if Get_Kind (Imp) = Iir_Kind_Procedure_Declaration then
+         if Imp /= Null_Iir
+           and then Get_Kind (Imp) = Iir_Kind_Procedure_Declaration
+         then
             Decl := Get_Interface_Declaration_Chain (Imp);
             while Decl /= Null_Iir loop
                if Get_Mode (Decl) in Iir_Out_Modes then
-- 
cgit v1.2.3