summaryrefslogtreecommitdiff
path: root/src/ortho/mcode/ortho_code-exprs.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/ortho/mcode/ortho_code-exprs.adb')
-rw-r--r--src/ortho/mcode/ortho_code-exprs.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ortho/mcode/ortho_code-exprs.adb b/src/ortho/mcode/ortho_code-exprs.adb
index 17a47f4..a529034 100644
--- a/src/ortho/mcode/ortho_code-exprs.adb
+++ b/src/ortho/mcode/ortho_code-exprs.adb
@@ -727,6 +727,13 @@ package body Ortho_Code.Exprs is
end if;
end New_Lit;
+ function Is_Expr_S32 (Cst : O_Enode) return Boolean is
+ begin
+ pragma Assert (Get_Expr_Kind (Cst) = OE_Const);
+ return Shift_Right_Arithmetic (Get_Expr_Low (Cst), 32)
+ = Get_Expr_High (Cst);
+ end Is_Expr_S32;
+
function Get_Static_Chain (Depth : O_Depth) return O_Enode
is
Cur_Depth : O_Depth := Cur_Subprg.Depth;