diff options
author | Tristan Gingold | 2014-09-14 04:44:13 +0200 |
---|---|---|
committer | Tristan Gingold | 2014-09-14 04:44:13 +0200 |
commit | fc147a40d83670c63d75cd22f95a2d017270d2c6 (patch) | |
tree | 0f152ba602a9c337c11fc0b396ed9a0a58a806d2 /translate/grt/grt-unithread.ads | |
parent | 60b381d6d8b5493db5a4b5f7aacd42025e3a321b (diff) | |
download | ghdl-fc147a40d83670c63d75cd22f95a2d017270d2c6.tar.gz ghdl-fc147a40d83670c63d75cd22f95a2d017270d2c6.tar.bz2 ghdl-fc147a40d83670c63d75cd22f95a2d017270d2c6.zip |
Fix crash on resolver functions using secondary stack.
Diffstat (limited to 'translate/grt/grt-unithread.ads')
-rw-r--r-- | translate/grt/grt-unithread.ads | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/translate/grt/grt-unithread.ads b/translate/grt/grt-unithread.ads index cc8a176..b35b7be 100644 --- a/translate/grt/grt-unithread.ads +++ b/translate/grt/grt-unithread.ads @@ -46,7 +46,10 @@ package Grt.Unithread is procedure Set_Current_Process (Proc : Process_Acc); function Get_Current_Process return Process_Acc; - -- The secondary stack for the thread. + -- The secondary stack for the thread. In this implementation, there is + -- only one secondary stack, shared by all processes. This is allowed, + -- because a wait statement cannot appear within a function. So at a wait + -- statement, the secondary stack must be empty. function Get_Stack2 return Stack2_Ptr; procedure Set_Stack2 (St : Stack2_Ptr); |