diff options
author | Tristan Gingold <tgingold@free.fr> | 2015-09-04 21:52:38 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2015-09-04 21:52:38 +0200 |
commit | 8520993b4d1eadefa488dfc96dff25333f1b19db (patch) | |
tree | 818d4fe917d3e6b765932ed3d1ab1ee70dc3c508 /src/vhdl/translate/translation.adb | |
parent | 2d8f611cb63b72aa0373efe0ffa0df47e25519c9 (diff) | |
download | ghdl-8520993b4d1eadefa488dfc96dff25333f1b19db.tar.gz ghdl-8520993b4d1eadefa488dfc96dff25333f1b19db.tar.bz2 ghdl-8520993b4d1eadefa488dfc96dff25333f1b19db.zip |
Suppress stack switching; save process state in secondary stack.
Diffstat (limited to 'src/vhdl/translate/translation.adb')
-rw-r--r-- | src/vhdl/translate/translation.adb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/vhdl/translate/translation.adb b/src/vhdl/translate/translation.adb index a3d2375a7..d83758418 100644 --- a/src/vhdl/translate/translation.adb +++ b/src/vhdl/translate/translation.adb @@ -392,6 +392,7 @@ package body Translation is Wki_R_Len := Get_Identifier ("r_len"); Wki_Base := Get_Identifier ("BASE"); Wki_Bounds := Get_Identifier ("BOUNDS"); + Wki_Locvars := Get_Identifier ("LOCVARS"); Sizetype := New_Unsigned_Type (32); New_Type_Decl (Get_Identifier ("__ghdl_size_type"), Sizetype); @@ -1676,12 +1677,18 @@ package body Translation is New_Interface_Decl (Interfaces, Param, Wki_Sig, Ghdl_Signal_Ptr); Finish_Subprogram_Decl (Interfaces, Ghdl_Process_Wait_Add_Sensitivity); - -- function __ghdl_process_wait_suspend return __ghdl_bool_type; - Start_Function_Decl + -- procedure __ghdl_process_wait_suspend (void); + Start_Procedure_Decl (Interfaces, Get_Identifier ("__ghdl_process_wait_suspend"), - O_Storage_External, Ghdl_Bool_Type); + O_Storage_External); Finish_Subprogram_Decl (Interfaces, Ghdl_Process_Wait_Suspend); + -- function __ghdl_process_wait_timed_out return __ghdl_bool_type; + Start_Function_Decl + (Interfaces, Get_Identifier ("__ghdl_process_wait_timed_out"), + O_Storage_External, Ghdl_Bool_Type); + Finish_Subprogram_Decl (Interfaces, Ghdl_Process_Wait_Timed_Out); + -- void __ghdl_process_wait_close (void); Start_Procedure_Decl (Interfaces, Get_Identifier ("__ghdl_process_wait_close"), |