diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-03-26 08:18:39 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-03-26 08:18:39 +0100 |
commit | baa9dfbdac7e9d2c8e1960a62e62dd807d751c46 (patch) | |
tree | a3b3140525a82da208656f2443e0861057ea4e80 /src/grt | |
parent | 7ad32b9bb91e29cae2fbba0a71b6e924dfbcaf9c (diff) | |
download | ghdl-baa9dfbdac7e9d2c8e1960a62e62dd807d751c46.tar.gz ghdl-baa9dfbdac7e9d2c8e1960a62e62dd807d751c46.tar.bz2 ghdl-baa9dfbdac7e9d2c8e1960a62e62dd807d751c46.zip |
translate: adjust null access check: add an explicit check.
Diffstat (limited to 'src/grt')
-rw-r--r-- | src/grt/grt-lib.adb | 9 | ||||
-rw-r--r-- | src/grt/grt-lib.ads | 3 |
2 files changed, 12 insertions, 0 deletions
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"); |