mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
[OCaml] Don't truncate constants over 32 bits in Llvm.const_int.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213655 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -695,7 +695,7 @@ CAMLprim value llvm_append_namedmd(LLVMModuleRef M, value Name, LLVMValueRef Val
|
|||||||
|
|
||||||
/* lltype -> int -> llvalue */
|
/* lltype -> int -> llvalue */
|
||||||
CAMLprim LLVMValueRef llvm_const_int(LLVMTypeRef IntTy, value N) {
|
CAMLprim LLVMValueRef llvm_const_int(LLVMTypeRef IntTy, value N) {
|
||||||
return LLVMConstInt(IntTy, (long long) Int_val(N), 1);
|
return LLVMConstInt(IntTy, (long long) Long_val(N), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* lltype -> Int64.t -> bool -> llvalue */
|
/* lltype -> Int64.t -> bool -> llvalue */
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
(* RUN: rm -rf %t.builddir
|
(* RUN: rm -rf %t.builddir
|
||||||
* RUN: mkdir -p %t.builddir
|
* RUN: mkdir -p %t.builddir
|
||||||
* RUN: cp %s %t.builddir
|
* RUN: cp %s %t.builddir
|
||||||
* RUN: %ocamlopt -warn-error A unix.cmxa llvm.cmxa llvm_bitwriter.cmxa %t.builddir/bitwriter.ml -o %t
|
* RUN: %ocamlopt -warn-error A-3 unix.cmxa llvm.cmxa llvm_bitwriter.cmxa %t.builddir/bitwriter.ml -o %t
|
||||||
* RUN: %t %t.bc
|
* RUN: %t %t.bc
|
||||||
* RUN: llvm-dis < %t.bc
|
* RUN: llvm-dis < %t.bc
|
||||||
* XFAIL: vg_leak
|
* XFAIL: vg_leak
|
||||||
|
@@ -126,6 +126,12 @@ let test_constants () =
|
|||||||
ignore (define_global "const_int_string" c m);
|
ignore (define_global "const_int_string" c m);
|
||||||
insist (i32_type = type_of c);
|
insist (i32_type = type_of c);
|
||||||
|
|
||||||
|
if Sys.word_size = 64; then begin
|
||||||
|
group "long int";
|
||||||
|
let c = const_int i64_type (1 lsl 61) in
|
||||||
|
insist (c = const_of_int64 i64_type (Int64.of_int (1 lsl 61)) false)
|
||||||
|
end;
|
||||||
|
|
||||||
(* CHECK: @const_string = global {{.*}}c"cruel\00world"
|
(* CHECK: @const_string = global {{.*}}c"cruel\00world"
|
||||||
*)
|
*)
|
||||||
group "string";
|
group "string";
|
||||||
|
Reference in New Issue
Block a user