aboutsummaryrefslogtreecommitdiffstats
path: root/ortho/mcode/ortho_code-exprs.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2013-12-24 07:57:55 +0100
committerTristan Gingold <tgingold@free.fr>2013-12-24 07:57:55 +0100
commitb129f499996d6d4f45ff468c114c3bb362ac021b (patch)
tree8d30bd40e034baa3cfbdfc9c1c378b990244fc03 /ortho/mcode/ortho_code-exprs.adb
parente3cad42f2f816ed62c2a9d19f661e14a50672cb5 (diff)
downloadghdl-b129f499996d6d4f45ff468c114c3bb362ac021b.tar.gz
ghdl-b129f499996d6d4f45ff468c114c3bb362ac021b.tar.bz2
ghdl-b129f499996d6d4f45ff468c114c3bb362ac021b.zip
Fix mcode for i386 Darwin.
Diffstat (limited to 'ortho/mcode/ortho_code-exprs.adb')
-rw-r--r--ortho/mcode/ortho_code-exprs.adb9
1 files changed, 7 insertions, 2 deletions
diff --git a/ortho/mcode/ortho_code-exprs.adb b/ortho/mcode/ortho_code-exprs.adb
index a98facf45..ecab78283 100644
--- a/ortho/mcode/ortho_code-exprs.adb
+++ b/ortho/mcode/ortho_code-exprs.adb
@@ -181,6 +181,11 @@ package body Ortho_Code.Exprs is
return O_Dnode (Enodes.Table (Enode).Arg1);
end Get_Call_Subprg;
+ function Get_Stack_Adjust (Enode : O_Enode) return Int32 is
+ begin
+ return Int32 (Enodes.Table (Enode).Arg1);
+ end Get_Stack_Adjust;
+
function Get_Arg_Link (Enode : O_Enode) return O_Enode is
begin
return Enodes.Table (Enode).Arg2;
@@ -1231,7 +1236,7 @@ package body Ortho_Code.Exprs is
New_Enode_Stmt (OE_Ret, Get_Type_Mode (V_Type), Value, O_Enode_Null);
if not Flag_Debug_Hli then
- Emit_Jmp (OE_Jump, O_Enode_Null, Cur_Subprg.Exit_Label);
+ New_Allocb_Jump (Cur_Subprg.Exit_Label);
end if;
end New_Return_Stmt;
@@ -1244,7 +1249,7 @@ package body Ortho_Code.Exprs is
end if;
if not Flag_Debug_Hli then
- Emit_Jmp (OE_Jump, O_Enode_Null, Cur_Subprg.Exit_Label);
+ New_Allocb_Jump (Cur_Subprg.Exit_Label);
else
New_Enode_Stmt (OE_Ret, Mode_Nil, O_Enode_Null, O_Enode_Null);
end if;