From baa9dfbdac7e9d2c8e1960a62e62dd807d751c46 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sat, 26 Mar 2022 08:18:39 +0100 Subject: translate: adjust null access check: add an explicit check. --- src/grt/grt-lib.adb | 9 +++++++++ src/grt/grt-lib.ads | 3 +++ 2 files changed, 12 insertions(+) (limited to 'src/grt') diff --git a/src/grt/grt-lib.adb b/src/grt/grt-lib.adb index 13a0f1da4..f94c4b0c9 100644 --- a/src/grt/grt-lib.adb +++ b/src/grt/grt-lib.adb @@ -205,6 +205,15 @@ package body Grt.Lib is Error_E_Call_Stack (Bt); end Ghdl_Direction_Check_Failed; + procedure Ghdl_Access_Check_Failed + is + Bt : Backtrace_Addrs; + begin + Save_Backtrace (Bt, 1); + Error_S ("NULL access dereferenced"); + Error_E_Call_Stack (Bt); + end Ghdl_Access_Check_Failed; + procedure Diag_C_Range (Rng : Std_Integer_Range_Ptr) is begin Diag_C (Rng.Left); diff --git a/src/grt/grt-lib.ads b/src/grt/grt-lib.ads index 467cc4ca3..f8e7f0a7a 100644 --- a/src/grt/grt-lib.ads +++ b/src/grt/grt-lib.ads @@ -52,6 +52,7 @@ package Grt.Lib is Line: Ghdl_I32); procedure Ghdl_Direction_Check_Failed (Filename : Ghdl_C_String; Line: Ghdl_I32); + procedure Ghdl_Access_Check_Failed; procedure Ghdl_Integer_Index_Check_Failed (Filename : Ghdl_C_String; @@ -124,6 +125,8 @@ private "__ghdl_direction_check_failed"); pragma Export (C, Ghdl_Integer_Index_Check_Failed, "__ghdl_integer_index_check_failed"); + pragma Export (C, Ghdl_Access_Check_Failed, + "__ghdl_access_check_failed"); pragma Export (C, Ghdl_Program_Error, "__ghdl_program_error"); -- cgit v1.2.3