From ca1a2571cfb560ac935b190a1469e4f1f506ec20 Mon Sep 17 00:00:00 2001 From: alanechang Date: Wed, 3 Jan 2024 17:30:13 -0500 Subject: [PATCH 1/5] move unboxed ints to stable --- ocaml/typing/jkind.ml | 5 +++-- ocaml/typing/typeopt.ml | 18 +++++++----------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/ocaml/typing/jkind.ml b/ocaml/typing/jkind.ml index 346ba76e370..fe80cac3889 100644 --- a/ocaml/typing/jkind.ml +++ b/ocaml/typing/jkind.ml @@ -850,8 +850,9 @@ let raise ~loc err = raise (User_error (loc, err)) let get_required_layouts_level (context : annotation_context) (jkind : Legacy.const) : Language_extension.maturity = match context, jkind with - | _, (Value | Immediate | Immediate64 | Any | Float64) -> Stable - | _, (Word | Bits32 | Bits64) -> Beta + | _, (Value | Immediate | Immediate64 | Any | Float64 | Word | Bits32 | Bits64) + -> + Stable | _, Void -> Alpha (******************************) diff --git a/ocaml/typing/typeopt.ml b/ocaml/typing/typeopt.ml index 9a3798601b9..982251bb036 100644 --- a/ocaml/typing/typeopt.ml +++ b/ocaml/typing/typeopt.ml @@ -566,11 +566,11 @@ let[@inline always] layout_of_const_sort_generic ~value_kind ~error | Value -> Lambda.Pvalue (Lazy.force value_kind) | Float64 when Language_extension.(is_at_least Layouts Stable) -> Lambda.Punboxed_float - | Word when Language_extension.(is_at_least Layouts Beta) -> + | Word when Language_extension.(is_at_least Layouts Stable) -> Lambda.Punboxed_int Pnativeint - | Bits32 when Language_extension.(is_at_least Layouts Beta) -> + | Bits32 when Language_extension.(is_at_least Layouts Stable) -> Lambda.Punboxed_int Pint32 - | Bits64 when Language_extension.(is_at_least Layouts Beta) -> + | Bits64 when Language_extension.(is_at_least Layouts Stable) -> Lambda.Punboxed_int Pint64 | (Void | Float64 | Word | Bits32 | Bits64 as const) -> error const @@ -582,10 +582,8 @@ let layout env loc sort ty = ~error:(function | Value -> assert false | Void -> raise (Error (loc, Non_value_sort (Jkind.Sort.void,ty))) - | Float64 -> - raise (Error (loc, Sort_without_extension (Jkind.Sort.float64, Stable, Some ty))) - | (Word | Bits32 | Bits64 as const) -> - raise (Error (loc, Sort_without_extension (Jkind.Sort.of_const const, Beta, Some ty)))) + | (Float64 | Word | Bits32 | Bits64 as const) -> + raise (Error (loc, Sort_without_extension (Jkind.Sort.of_const const, Stable, Some ty)))) let layout_of_sort loc sort = layout_of_const_sort_generic @@ -594,10 +592,8 @@ let layout_of_sort loc sort = ~error:(function | Value -> assert false | Void -> raise (Error (loc, Non_value_sort_unknown_ty Jkind.Sort.void)) - | Float64 -> - raise (Error (loc, Sort_without_extension (Jkind.Sort.float64, Stable, None))) - | (Word | Bits32 | Bits64 as const) -> - raise (Error (loc, Sort_without_extension (Jkind.Sort.of_const const, Beta, None)))) + | (Float64 | Word | Bits32 | Bits64 as const) -> + raise (Error (loc, Sort_without_extension (Jkind.Sort.of_const const, Stable, None)))) let layout_of_const_sort s = layout_of_const_sort_generic From efaa20c72be2300deb7550abb1f7a1c2b3dc300f Mon Sep 17 00:00:00 2001 From: alanechang Date: Wed, 3 Jan 2024 17:30:41 -0500 Subject: [PATCH 2/5] use literals in tests --- .../typing-layouts-bits32/unboxed_bits32s.ml | 119 +++++++++--------- ...boxed_bits32s_disabled.compilers.reference | 5 - .../typing-layouts-bits64/unboxed_bits64s.ml | 119 +++++++++--------- ...boxed_bits64s_disabled.compilers.reference | 5 - .../typing-layouts-word/unboxed_nativeints.ml | 119 +++++++++--------- ...ed_nativeints_disabled.compilers.reference | 5 - 6 files changed, 171 insertions(+), 201 deletions(-) delete mode 100644 ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s_disabled.compilers.reference delete mode 100644 ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s_disabled.compilers.reference delete mode 100644 ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints_disabled.compilers.reference diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml b/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml index 8bd63797f46..c6969c27cb0 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml @@ -7,20 +7,15 @@ flags = "-extension layouts_beta" * bytecode flags = "-extension layouts_beta" - * setup-ocamlc.byte-build-env - ocamlc_byte_exit_status = "2" - flags = "-extension layouts" - ** ocamlc.byte - compiler_reference = "${test_source_directory}/unboxed_bits32s_disabled.compilers.reference" - *** check-ocamlc.byte-output + * native + flags = "-extension layouts" + * bytecode + flags = "-extension layouts" *) (* This file contains various tests for [int32#]. It's not an expect test to make sure it gets tested for native code. *) -(* CR layouts v2.5: When unboxed literals work, change this file to use them - instead of [of_int32] on boxed literals everywhere. *) - (*****************************************) (* Prelude: Functions on unboxed int32s. *) @@ -64,22 +59,22 @@ let test1 () = (* Positive numbers *) - let three = of_int32 3l in + let three = #3l in print_int32u "Test 1, three" three; - let twice_three = three + (of_int32 3l) in + let twice_three = three + #3l in print_int32u "Test 1, twice_three" twice_three; - let thrice_three = (of_int32 3l) * three in + let thrice_three = #3l * three in print_int32u "Test 1, thrice_three" thrice_three; let twice_three_again = thrice_three - three in print_int32u "Test 1, twice_three_again" twice_three; - let three_again = twice_three_again / (of_int32 2l) in + let three_again = twice_three_again / #2l in print_int32u "Test 1, three_again" three_again; - let three_again_unsigned = twice_three_again // (of_int32 2l) in + let three_again_unsigned = twice_three_again // #2l in print_int32u "Test 1, three_again_unsigned" three_again_unsigned; let twice_three_greater_than_three = twice_three > three in @@ -87,22 +82,22 @@ let test1 () = twice_three_greater_than_three; let three_with_effort = - ((of_int32 3l) + twice_three) * (of_int32 2l) / (of_int32 6l) in + (#3l + twice_three) * #2l / #6l in print_int32u "Test 1, three_with_effort" three_with_effort; - let seven_rem_three = (of_int32 7l) % three in + let seven_rem_three = #7l % three in print_int32u "Test 1, seven_rem_three" seven_rem_three; - let seven_rem_three_unsigned = (of_int32 7l) %% three in + let seven_rem_three_unsigned = #7l %% three in print_int32u "Test 1, seven_rem_three_unsigned" seven_rem_three_unsigned; - let forty_two_logand_three = logand (of_int32 42l) three in + let forty_two_logand_three = logand #42l three in print_int32u_bin "Test1, forty_two_logand_three (0b00101010 & 0b00000011)" forty_two_logand_three; - let forty_two_logor_three = logor (of_int32 42l) three in + let forty_two_logor_three = logor #42l three in print_int32u_bin "Test1, forty_two_logor_three (0b00101010 & 0b00000011)" forty_two_logor_three; - let forty_two_logxor_three = logxor (of_int32 42l) three in + let forty_two_logxor_three = logxor #42l three in print_int32u_bin "Test1, forty_two_logxor_three (0b00101010 & 0b00000011)" forty_two_logxor_three; let lognot_three = lognot three in @@ -119,22 +114,22 @@ let test1 () = (* Negative numbers *) - let minus_five = of_int32 (-5l) in + let minus_five = -#5l in print_int32u "Test 1, minus_five" minus_five; - let twice_minus_five = minus_five + (of_int32 (-5l)) in + let twice_minus_five = minus_five + (-#5l) in print_int32u "Test 1, twice_minus_five" twice_minus_five; - let thrice_minus_five = (of_int32 (3l)) * minus_five in + let thrice_minus_five = #3l * minus_five in print_int32u "Test 1, thrice_minus_five" thrice_minus_five; let twice_minus_five_again = thrice_minus_five - minus_five in print_int32u "Test 1, twice_minus_five_again" twice_minus_five; - let minus_five_again = twice_minus_five_again / (of_int32 2l) in + let minus_five_again = twice_minus_five_again / #2l in print_int32u "Test 1, minus_five_again" minus_five_again; - let minus_five_again_unsigned = twice_minus_five_again // (of_int32 2l) in + let minus_five_again_unsigned = twice_minus_five_again // #2l in print_int32u "Test 1, minus_five_again_unsigned" minus_five_again_unsigned; let minus_five_greater_than_twice_minus_five = minus_five > twice_minus_five in @@ -142,22 +137,22 @@ let test1 () = minus_five_greater_than_twice_minus_five; let minus_five_with_effort = - ((of_int32 (-5l)) + twice_minus_five) * (of_int32 2l) / (of_int32 6l) in + ((-#5l) + twice_minus_five) * #2l / #6l in print_int32u "Test 1, minus_five_with_effort" minus_five_with_effort; - let seven_rem_minus_five = (of_int32 7l) % minus_five in + let seven_rem_minus_five = #7l % minus_five in print_int32u "Test 1, seven_rem_minus_five" seven_rem_minus_five; - let seven_rem_minus_five_unsigned = (of_int32 7l) %% minus_five in + let seven_rem_minus_five_unsigned = #7l %% minus_five in print_int32u "Test 1, seven_rem_minus_five_unsigned" seven_rem_minus_five_unsigned; - let forty_two_logand_minus_five = logand (of_int32 42l) minus_five in + let forty_two_logand_minus_five = logand #42l minus_five in print_int32u_bin "Test1, forty_two_logand_minus_five (0b00101010 & 0b1...1011)" forty_two_logand_minus_five; - let forty_two_logor_minus_five = logor (of_int32 42l) minus_five in + let forty_two_logor_minus_five = logor #42l minus_five in print_int32u_bin "Test1, forty_two_logor_minus_five (0b00101010 & 0b1...1011)" forty_two_logor_minus_five; - let forty_two_logxor_minus_five = logxor (of_int32 42l) minus_five in + let forty_two_logxor_minus_five = logxor #42l minus_five in print_int32u_bin "Test1, forty_two_logxor_minus_five (0b00101010 & 0b1...1011)" forty_two_logxor_minus_five; let lognot_minus_five = lognot minus_five in @@ -189,33 +184,33 @@ let[@inline never] twice f (x : 'a t_bits32) = f (f x) let[@inline never] compose f g (x : 'a t_bits32) = f (g x) let[@inline never] twice_on_three f = - let pi = Int32_u.of_int32 3l in + let pi = #3l in twice f pi -let times_four = twice Int32_u.(fun x -> x * (of_int32 2l)) +let times_four = twice Int32_u.(fun x -> x * #2l) let _ = let open Int32_u in print_int32u "Test 2, add three twice" - (twice (fun x -> x + (of_int32 3l)) (of_int32 0l)); + (twice (fun x -> x + #3l) #0l); print_int32u "Test 2, add three four times" - (twice (twice (fun x -> x + (of_int32 3l))) (of_int32 0l)); + (twice (twice (fun x -> x + #3l)) #0l); print_int32u "Test 2, increment three twice" - (twice_on_three (fun x -> (of_int32 1l) + x)); + (twice_on_three (fun x -> #1l + x)); print_int32u "Test 2, increment three four times" - (twice_on_three (twice (fun x -> (of_int32 1l) + x))); + (twice_on_three (twice (fun x -> #1l + x))); print_int32u "Test 2, two times four" - (times_four (of_int32 2l)); + (times_four #2l); print_int32u "Test 2, three times sixteen" (twice_on_three times_four); print_int32u "Test 2, three times sixteen again" - (compose times_four times_four (of_int32 3l)); + (compose times_four times_four #3l); print_int32u "Test 2, three minus four" - (let two = twice (fun x -> x + (of_int32 1l)) (of_int32 0l) in + (let two = twice (fun x -> x + #1l) #0l in let add_two = Int32_u.(+) two in let add_two_after = compose add_two in - let minus_four = add_two_after (twice (fun x -> x - (of_int32 3l))) in - minus_four (of_int32 3l)) + let minus_four = add_two_after (twice (fun x -> x - #3l)) in + minus_four #3l) (**********************************) (* Test 3: int32# in closures *) @@ -225,7 +220,7 @@ let _ = let[@inline never] f3 n m steps () = let[@inline never] rec go k = if k = n - then Int32_u.of_int32 0l + then #0l else begin let acc = go (k + 1) in steps.(k) <- Int32_u.to_int32 acc; @@ -239,7 +234,7 @@ let[@inline_never] f3_manyargs x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 steps () = let (start_k, end_k) = x0 in let[@inline never] rec go k = if k = end_k - then Int32_u.of_int32 0l + then #0l else begin let (x2_1, x2_2) = x2 in let (x4_1, x4_2) = x4 in @@ -256,7 +251,7 @@ let[@inline_never] f3_manyargs x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 steps () = let test3 () = (* Test f3 *) let steps = Array.init 10 (fun _ -> 0l) in - let five_times_three = f3 5 (Int32_u.of_int32 3l) steps in + let five_times_three = f3 5 #3l steps in print_int32u "Test 3, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 3, step %d: %ld\n") steps; @@ -268,11 +263,11 @@ let test3 () = 9 * (1 + 2 + 3 + 5 + 8) = 171 *) let steps = Array.init 10 (fun _ -> 0l) in - let x1 = Int32_u.of_int32 1l in - let x3 = Int32_u.of_int32 2l in - let x5 = Int32_u.of_int32 3l in - let x7 = Int32_u.of_int32 5l in - let x9 = Int32_u.of_int32 8l in + let x1 = #1l in + let x3 = #2l in + let x5 = #3l in + let x7 = #5l in + let x9 = #8l in (* all these 8 numbers together sum to 3 *) let x2 = (7, 42) in @@ -292,7 +287,7 @@ let _ = test3 () let[@inline never] test4 () = (* Simple indirect call *) let[@inline never] go f = - Int32_u.to_int32 (f (Int32_u.of_int32 1l) (Int32_u.of_int32 2l)) + Int32_u.to_int32 (f #1l #2l) in let (x1, x2) = (go Int32_u.(+), go Int32_u.(-)) in print_int32u "Test 4, 1 + 2" (Int32_u.of_int32 x1); @@ -300,7 +295,7 @@ let[@inline never] test4 () = (* partial application to int32# *) let steps = Array.init 10 (fun _ -> 0l) in - let f = Sys.opaque_identity (f3 5 (Int32_u.of_int32 3l)) in + let f = Sys.opaque_identity (f3 5 #3l) in let five_times_three = f steps in print_int32u "Test 4, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %ld\n") steps; @@ -308,7 +303,7 @@ let[@inline never] test4 () = (* partial application with int32# remaining *) let steps = Array.init 10 (fun _ -> 0l) in let f = Sys.opaque_identity (f3 6) in - let six_times_three = f (Int32_u.of_int32 3l) steps in + let six_times_three = f #3l steps in print_int32u "Test 4, 6 * 3: " (six_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %ld\n") steps; @@ -317,14 +312,14 @@ let[@inline never] test4 () = let f3 = Sys.opaque_identity f3 in let steps = Array.init 10 (fun _ -> 0l) in - let f = Sys.opaque_identity (f3 5 (Int32_u.of_int32 3l)) in + let f = Sys.opaque_identity (f3 5 #3l) in let five_times_three = f steps in print_int32u "Test 4, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %ld\n") steps; let steps = Array.init 10 (fun _ -> 0l) in let f = Sys.opaque_identity (f3 6) in - let six_times_three = f (Int32_u.of_int32 3l) steps in + let six_times_three = f #3l steps in print_int32u "Test 4, 6 * 3: " (six_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %ld\n") steps @@ -344,9 +339,9 @@ let[@inline never] f5 n m = let test5 () = let open Int32_u in let _ : unit = - f5 (of_int32 3l) (of_int32 2l) + f5 #3l #2l (fun n s m -> print_int32u s (n + m)) "Test 5, 3 + 2 + 1" - (of_int32 1l) + #1l in () @@ -387,20 +382,20 @@ let test6 () = (* (30 - 20) / 3 = 3 *) let o = (Sys.opaque_identity f6_1) () in print_int32u "Test 6, 3" - (o#f6_m1 (of_int32 30l) (of_int32 20l) (of_int32 3l)); + (o#f6_m1 #30l #20l #3l); (* 4 * 8 = 32 *) let o = (Sys.opaque_identity f6_2) (4,7) in - let result = o#f6_m2 8 (of_int32 4l) (fun x -> x * of_int32 2l) in + let result = o#f6_m2 8 #4l (fun x -> x * #2l) in print_int32u "Test 6, 32" result; (* (1 + 2 + 3 + (-2) + (-12) + 4) * (2 + (-1) + 10) = -44 *) let o = (Sys.opaque_identity f6_3) (1,2) 3 in let result = - o#f6_m3 (-2) (of_int32 2l) + o#f6_m3 (-2) #2l (fun[@inline never] i m1 m2 n m3 -> (of_int32 (Int32.of_int (add3 i n))) * (m1 + m2 + m3)) - (of_int32 (-1l)) (-12,4) (of_int32 10l) + (-#1l) (-12,4) #10l in print_int32u "Test 6, -44" result @@ -412,7 +407,7 @@ let _ = test6 () module M = struct open Int32_u let[@inline never] f () = assert false - let g () = if Sys.opaque_identity true then of_int32 32l else f () + let g () = if Sys.opaque_identity true then #32l else f () end let test7 () = diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s_disabled.compilers.reference b/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s_disabled.compilers.reference deleted file mode 100644 index 09dfd66cd10..00000000000 --- a/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s_disabled.compilers.reference +++ /dev/null @@ -1,5 +0,0 @@ -File "unboxed_bits32s.ml", line 186, characters 11-17: -186 | type ('a : bits32) t_bits32 = 'a - ^^^^^^ -Error: Layout bits32 is more experimental than allowed by the enabled layouts extension. - You must enable -extension layouts_beta to use this feature. diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml b/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml index d9b3468a707..5701f9bc888 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml @@ -7,20 +7,15 @@ flags = "-extension layouts_beta" * bytecode flags = "-extension layouts_beta" - * setup-ocamlc.byte-build-env - ocamlc_byte_exit_status = "2" - flags = "-extension layouts" - ** ocamlc.byte - compiler_reference = "${test_source_directory}/unboxed_bits64s_disabled.compilers.reference" - *** check-ocamlc.byte-output + * native + flags = "-extension layouts" + * bytecode + flags = "-extension layouts" *) (* This file contains various tests for [int64#]. It's not an expect test to make sure it gets tested for native code. *) -(* CR layouts v2.5: When unboxed literals work, change this file to use them - instead of [of_int64] on boxed literals everywhere. *) - (*****************************************) (* Prelude: Functions on unboxed int64s. *) @@ -64,22 +59,22 @@ let test1 () = (* Positive numbers *) - let three = of_int64 3L in + let three = #3L in print_int64u "Test 1, three" three; - let twice_three = three + (of_int64 3L) in + let twice_three = three + #3L in print_int64u "Test 1, twice_three" twice_three; - let thrice_three = (of_int64 3L) * three in + let thrice_three = #3L * three in print_int64u "Test 1, thrice_three" thrice_three; let twice_three_again = thrice_three - three in print_int64u "Test 1, twice_three_again" twice_three; - let three_again = twice_three_again / (of_int64 2L) in + let three_again = twice_three_again / #2L in print_int64u "Test 1, three_again" three_again; - let three_again_unsigned = twice_three_again // (of_int64 2L) in + let three_again_unsigned = twice_three_again // #2L in print_int64u "Test 1, three_again_unsigned" three_again_unsigned; let twice_three_greater_than_three = twice_three > three in @@ -87,22 +82,22 @@ let test1 () = twice_three_greater_than_three; let three_with_effort = - ((of_int64 3L) + twice_three) * (of_int64 2L) / (of_int64 6L) in + (#3L + twice_three) * #2L / #6L in print_int64u "Test 1, three_with_effort" three_with_effort; - let seven_rem_three = (of_int64 7L) % three in + let seven_rem_three = #7L % three in print_int64u "Test 1, seven_rem_three" seven_rem_three; - let seven_rem_three_unsigned = (of_int64 7L) %% three in + let seven_rem_three_unsigned = #7L %% three in print_int64u "Test 1, seven_rem_three_unsigned" seven_rem_three_unsigned; - let forty_two_logand_three = logand (of_int64 42L) three in + let forty_two_logand_three = logand #42L three in print_int64u_bin "Test1, forty_two_logand_three (0b00101010 & 0b00000011)" forty_two_logand_three; - let forty_two_logor_three = logor (of_int64 42L) three in + let forty_two_logor_three = logor #42L three in print_int64u_bin "Test1, forty_two_logor_three (0b00101010 & 0b00000011)" forty_two_logor_three; - let forty_two_logxor_three = logxor (of_int64 42L) three in + let forty_two_logxor_three = logxor #42L three in print_int64u_bin "Test1, forty_two_logxor_three (0b00101010 & 0b00000011)" forty_two_logxor_three; let lognot_three = lognot three in @@ -119,22 +114,22 @@ let test1 () = (* Negative numbers *) - let minus_five = of_int64 (-5L) in + let minus_five = -#5L in print_int64u "Test 1, minus_five" minus_five; - let twice_minus_five = minus_five + (of_int64 (-5L)) in + let twice_minus_five = minus_five + (-#5L) in print_int64u "Test 1, twice_minus_five" twice_minus_five; - let thrice_minus_five = (of_int64 (3L)) * minus_five in + let thrice_minus_five = #3L * minus_five in print_int64u "Test 1, thrice_minus_five" thrice_minus_five; let twice_minus_five_again = thrice_minus_five - minus_five in print_int64u "Test 1, twice_minus_five_again" twice_minus_five; - let minus_five_again = twice_minus_five_again / (of_int64 2L) in + let minus_five_again = twice_minus_five_again / #2L in print_int64u "Test 1, minus_five_again" minus_five_again; - let minus_five_again_unsigned = twice_minus_five_again // (of_int64 2L) in + let minus_five_again_unsigned = twice_minus_five_again // #2L in print_int64u "Test 1, minus_five_again_unsigned" minus_five_again_unsigned; let minus_five_greater_than_twice_minus_five = minus_five > twice_minus_five in @@ -142,22 +137,22 @@ let test1 () = minus_five_greater_than_twice_minus_five; let minus_five_with_effort = - ((of_int64 (-5L)) + twice_minus_five) * (of_int64 2L) / (of_int64 6L) in + ((-#5L) + twice_minus_five) * #2L / #6L in print_int64u "Test 1, minus_five_with_effort" minus_five_with_effort; - let seven_rem_minus_five = (of_int64 7L) % minus_five in + let seven_rem_minus_five = #7L % minus_five in print_int64u "Test 1, seven_rem_minus_five" seven_rem_minus_five; - let seven_rem_minus_five_unsigned = (of_int64 7L) %% minus_five in + let seven_rem_minus_five_unsigned = #7L %% minus_five in print_int64u "Test 1, seven_rem_minus_five_unsigned" seven_rem_minus_five_unsigned; - let forty_two_logand_minus_five = logand (of_int64 42L) minus_five in + let forty_two_logand_minus_five = logand #42L minus_five in print_int64u_bin "Test1, forty_two_logand_minus_five (0b00101010 & 0b1...1011)" forty_two_logand_minus_five; - let forty_two_logor_minus_five = logor (of_int64 42L) minus_five in + let forty_two_logor_minus_five = logor #42L minus_five in print_int64u_bin "Test1, forty_two_logor_minus_five (0b00101010 & 0b1...1011)" forty_two_logor_minus_five; - let forty_two_logxor_minus_five = logxor (of_int64 42L) minus_five in + let forty_two_logxor_minus_five = logxor #42L minus_five in print_int64u_bin "Test1, forty_two_logxor_minus_five (0b00101010 & 0b1...1011)" forty_two_logxor_minus_five; let lognot_minus_five = lognot minus_five in @@ -189,33 +184,33 @@ let[@inline never] twice f (x : 'a t_bits64) = f (f x) let[@inline never] compose f g (x : 'a t_bits64) = f (g x) let[@inline never] twice_on_three f = - let pi = Int64_u.of_int64 3L in + let pi = #3L in twice f pi -let times_four = twice Int64_u.(fun x -> x * (of_int64 2L)) +let times_four = twice Int64_u.(fun x -> x * #2L) let _ = let open Int64_u in print_int64u "Test 2, add three twice" - (twice (fun x -> x + (of_int64 3L)) (of_int64 0L)); + (twice (fun x -> x + #3L) #0L); print_int64u "Test 2, add three four times" - (twice (twice (fun x -> x + (of_int64 3L))) (of_int64 0L)); + (twice (twice (fun x -> x + #3L)) #0L); print_int64u "Test 2, increment three twice" - (twice_on_three (fun x -> (of_int64 1L) + x)); + (twice_on_three (fun x -> #1L + x)); print_int64u "Test 2, increment three four times" - (twice_on_three (twice (fun x -> (of_int64 1L) + x))); + (twice_on_three (twice (fun x -> #1L + x))); print_int64u "Test 2, two times four" - (times_four (of_int64 2L)); + (times_four #2L); print_int64u "Test 2, three times sixteen" (twice_on_three times_four); print_int64u "Test 2, three times sixteen again" - (compose times_four times_four (of_int64 3L)); + (compose times_four times_four #3L); print_int64u "Test 2, three minus four" - (let two = twice (fun x -> x + (of_int64 1L)) (of_int64 0L) in + (let two = twice (fun x -> x + #1L) #0L in let add_two = Int64_u.(+) two in let add_two_after = compose add_two in - let minus_four = add_two_after (twice (fun x -> x - (of_int64 3L))) in - minus_four (of_int64 3L)) + let minus_four = add_two_after (twice (fun x -> x - #3L)) in + minus_four #3L) (**********************************) (* Test 3: int64# in closures *) @@ -225,7 +220,7 @@ let _ = let[@inline never] f3 n m steps () = let[@inline never] rec go k = if k = n - then Int64_u.of_int64 0L + then #0L else begin let acc = go (k + 1) in steps.(k) <- Int64_u.to_int64 acc; @@ -239,7 +234,7 @@ let[@inline_never] f3_manyargs x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 steps () = let (start_k, end_k) = x0 in let[@inline never] rec go k = if k = end_k - then Int64_u.of_int64 0L + then #0L else begin let (x2_1, x2_2) = x2 in let (x4_1, x4_2) = x4 in @@ -256,7 +251,7 @@ let[@inline_never] f3_manyargs x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 steps () = let test3 () = (* Test f3 *) let steps = Array.init 10 (fun _ -> 0L) in - let five_times_three = f3 5 (Int64_u.of_int64 3L) steps in + let five_times_three = f3 5 #3L steps in print_int64u "Test 3, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 3, step %d: %Ld\n") steps; @@ -268,11 +263,11 @@ let test3 () = 9 * (1 + 2 + 3 + 5 + 8) = 171 *) let steps = Array.init 10 (fun _ -> 0L) in - let x1 = Int64_u.of_int64 1L in - let x3 = Int64_u.of_int64 2L in - let x5 = Int64_u.of_int64 3L in - let x7 = Int64_u.of_int64 5L in - let x9 = Int64_u.of_int64 8L in + let x1 = #1L in + let x3 = #2L in + let x5 = #3L in + let x7 = #5L in + let x9 = #8L in (* all these 8 numbers together sum to 3 *) let x2 = (7, 42) in @@ -292,7 +287,7 @@ let _ = test3 () let[@inline never] test4 () = (* Simple indirect call *) let[@inline never] go f = - Int64_u.to_int64 (f (Int64_u.of_int64 1L) (Int64_u.of_int64 2L)) + Int64_u.to_int64 (f #1L #2L) in let (x1, x2) = (go Int64_u.(+), go Int64_u.(-)) in print_int64u "Test 4, 1 + 2" (Int64_u.of_int64 x1); @@ -300,7 +295,7 @@ let[@inline never] test4 () = (* partial application to int64# *) let steps = Array.init 10 (fun _ -> 0L) in - let f = Sys.opaque_identity (f3 5 (Int64_u.of_int64 3L)) in + let f = Sys.opaque_identity (f3 5 #3L) in let five_times_three = f steps in print_int64u "Test 4, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %Ld\n") steps; @@ -308,7 +303,7 @@ let[@inline never] test4 () = (* partial application with int64# remaining *) let steps = Array.init 10 (fun _ -> 0L) in let f = Sys.opaque_identity (f3 6) in - let six_times_three = f (Int64_u.of_int64 3L) steps in + let six_times_three = f #3L steps in print_int64u "Test 4, 6 * 3: " (six_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %Ld\n") steps; @@ -317,14 +312,14 @@ let[@inline never] test4 () = let f3 = Sys.opaque_identity f3 in let steps = Array.init 10 (fun _ -> 0L) in - let f = Sys.opaque_identity (f3 5 (Int64_u.of_int64 3L)) in + let f = Sys.opaque_identity (f3 5 #3L) in let five_times_three = f steps in print_int64u "Test 4, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %Ld\n") steps; let steps = Array.init 10 (fun _ -> 0L) in let f = Sys.opaque_identity (f3 6) in - let six_times_three = f (Int64_u.of_int64 3L) steps in + let six_times_three = f #3L steps in print_int64u "Test 4, 6 * 3: " (six_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %Ld\n") steps @@ -344,9 +339,9 @@ let[@inline never] f5 n m = let test5 () = let open Int64_u in let _ : unit = - f5 (of_int64 3L) (of_int64 2L) + f5 #3L #2L (fun n s m -> print_int64u s (n + m)) "Test 5, 3 + 2 + 1" - (of_int64 1L) + #1L in () @@ -387,20 +382,20 @@ let test6 () = (* (30 - 20) / 3 = 3 *) let o = (Sys.opaque_identity f6_1) () in print_int64u "Test 6, 3" - (o#f6_m1 (of_int64 30L) (of_int64 20L) (of_int64 3L)); + (o#f6_m1 #30L #20L #3L); (* 4 * 8 = 32 *) let o = (Sys.opaque_identity f6_2) (4,7) in - let result = o#f6_m2 8 (of_int64 4L) (fun x -> x * of_int64 2L) in + let result = o#f6_m2 8 #4L (fun x -> x * #2L) in print_int64u "Test 6, 32" result; (* (1 + 2 + 3 + (-2) + (-12) + 4) * (2 + (-1) + 10) = -44 *) let o = (Sys.opaque_identity f6_3) (1,2) 3 in let result = - o#f6_m3 (-2) (of_int64 2L) + o#f6_m3 (-2) #2L (fun[@inline never] i m1 m2 n m3 -> (of_int64 (Int64.of_int (add3 i n))) * (m1 + m2 + m3)) - (of_int64 (-1L)) (-12,4) (of_int64 10L) + (-#1L) (-12,4) #10L in print_int64u "Test 6, -44" result @@ -412,7 +407,7 @@ let _ = test6 () module M = struct open Int64_u let[@inline never] f () = assert false - let g () = if Sys.opaque_identity true then of_int64 32L else f () + let g () = if Sys.opaque_identity true then #32L else f () end let test7 () = diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s_disabled.compilers.reference b/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s_disabled.compilers.reference deleted file mode 100644 index 9de74eeb0e4..00000000000 --- a/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s_disabled.compilers.reference +++ /dev/null @@ -1,5 +0,0 @@ -File "unboxed_bits64s.ml", line 186, characters 11-17: -186 | type ('a : bits64) t_bits64 = 'a - ^^^^^^ -Error: Layout bits64 is more experimental than allowed by the enabled layouts extension. - You must enable -extension layouts_beta to use this feature. diff --git a/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml b/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml index 1312484abfd..533e4873fc1 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml @@ -7,20 +7,15 @@ flags = "-extension layouts_beta" * bytecode flags = "-extension layouts_beta" - * setup-ocamlc.byte-build-env - ocamlc_byte_exit_status = "2" - flags = "-extension layouts" - ** ocamlc.byte - compiler_reference = "${test_source_directory}/unboxed_nativeints_disabled.compilers.reference" - *** check-ocamlc.byte-output + * native + flags = "-extension layouts" + * bytecode + flags = "-extension layouts" *) (* This file contains various tests for [nativeint#]. It's not an expect test to make sure it gets tested for native code. *) -(* CR layouts v2.5: When unboxed literals work, change this file to use them - instead of [of_nativeint] on boxed literals everywhere. *) - (*****************************************) (* Prelude: Functions on unboxed nativeints. *) @@ -64,22 +59,22 @@ let test1 () = (* Positive numbers *) - let three = of_nativeint 3n in + let three = #3n in print_nativeintu "Test 1, three" three; - let twice_three = three + (of_nativeint 3n) in + let twice_three = three + #3n in print_nativeintu "Test 1, twice_three" twice_three; - let thrice_three = (of_nativeint 3n) * three in + let thrice_three = #3n * three in print_nativeintu "Test 1, thrice_three" thrice_three; let twice_three_again = thrice_three - three in print_nativeintu "Test 1, twice_three_again" twice_three; - let three_again = twice_three_again / (of_nativeint 2n) in + let three_again = twice_three_again / #2n in print_nativeintu "Test 1, three_again" three_again; - let three_again_unsigned = twice_three_again // (of_nativeint 2n) in + let three_again_unsigned = twice_three_again // #2n in print_nativeintu "Test 1, three_again_unsigned" three_again_unsigned; let twice_three_greater_than_three = twice_three > three in @@ -87,22 +82,22 @@ let test1 () = twice_three_greater_than_three; let three_with_effort = - ((of_nativeint 3n) + twice_three) * (of_nativeint 2n) / (of_nativeint 6n) in + (#3n + twice_three) * #2n / #6n in print_nativeintu "Test 1, three_with_effort" three_with_effort; - let seven_rem_three = (of_nativeint 7n) % three in + let seven_rem_three = #7n % three in print_nativeintu "Test 1, seven_rem_three" seven_rem_three; - let seven_rem_three_unsigned = (of_nativeint 7n) %% three in + let seven_rem_three_unsigned = #7n %% three in print_nativeintu "Test 1, seven_rem_three_unsigned" seven_rem_three_unsigned; - let forty_two_logand_three = logand (of_nativeint 42n) three in + let forty_two_logand_three = logand #42n three in print_nativeintu_bin "Test1, forty_two_logand_three (0b00101010 & 0b00000011)" forty_two_logand_three; - let forty_two_logor_three = logor (of_nativeint 42n) three in + let forty_two_logor_three = logor #42n three in print_nativeintu_bin "Test1, forty_two_logor_three (0b00101010 & 0b00000011)" forty_two_logor_three; - let forty_two_logxor_three = logxor (of_nativeint 42n) three in + let forty_two_logxor_three = logxor #42n three in print_nativeintu_bin "Test1, forty_two_logxor_three (0b00101010 & 0b00000011)" forty_two_logxor_three; let lognot_three = lognot three in @@ -119,22 +114,22 @@ let test1 () = (* Negative numbers *) - let minus_five = of_nativeint (-5n) in + let minus_five = -#5n in print_nativeintu "Test 1, minus_five" minus_five; - let twice_minus_five = minus_five + (of_nativeint (-5n)) in + let twice_minus_five = minus_five + (-#5n) in print_nativeintu "Test 1, twice_minus_five" twice_minus_five; - let thrice_minus_five = (of_nativeint (3n)) * minus_five in + let thrice_minus_five = #3n * minus_five in print_nativeintu "Test 1, thrice_minus_five" thrice_minus_five; let twice_minus_five_again = thrice_minus_five - minus_five in print_nativeintu "Test 1, twice_minus_five_again" twice_minus_five; - let minus_five_again = twice_minus_five_again / (of_nativeint 2n) in + let minus_five_again = twice_minus_five_again / #2n in print_nativeintu "Test 1, minus_five_again" minus_five_again; - let minus_five_again_unsigned = twice_minus_five_again // (of_nativeint 2n) in + let minus_five_again_unsigned = twice_minus_five_again // #2n in print_nativeintu "Test 1, minus_five_again_unsigned" minus_five_again_unsigned; let minus_five_greater_than_twice_minus_five = minus_five > twice_minus_five in @@ -142,22 +137,22 @@ let test1 () = minus_five_greater_than_twice_minus_five; let minus_five_with_effort = - ((of_nativeint (-5n)) + twice_minus_five) * (of_nativeint 2n) / (of_nativeint 6n) in + ((-#5n) + twice_minus_five) * #2n / #6n in print_nativeintu "Test 1, minus_five_with_effort" minus_five_with_effort; - let seven_rem_minus_five = (of_nativeint 7n) % minus_five in + let seven_rem_minus_five = #7n % minus_five in print_nativeintu "Test 1, seven_rem_minus_five" seven_rem_minus_five; - let seven_rem_minus_five_unsigned = (of_nativeint 7n) %% minus_five in + let seven_rem_minus_five_unsigned = #7n %% minus_five in print_nativeintu "Test 1, seven_rem_minus_five_unsigned" seven_rem_minus_five_unsigned; - let forty_two_logand_minus_five = logand (of_nativeint 42n) minus_five in + let forty_two_logand_minus_five = logand #42n minus_five in print_nativeintu_bin "Test1, forty_two_logand_minus_five (0b00101010 & 0b1...1011)" forty_two_logand_minus_five; - let forty_two_logor_minus_five = logor (of_nativeint 42n) minus_five in + let forty_two_logor_minus_five = logor #42n minus_five in print_nativeintu_bin "Test1, forty_two_logor_minus_five (0b00101010 & 0b1...1011)" forty_two_logor_minus_five; - let forty_two_logxor_minus_five = logxor (of_nativeint 42n) minus_five in + let forty_two_logxor_minus_five = logxor #42n minus_five in print_nativeintu_bin "Test1, forty_two_logxor_minus_five (0b00101010 & 0b1...1011)" forty_two_logxor_minus_five; let lognot_minus_five = lognot minus_five in @@ -193,33 +188,33 @@ let[@inline never] twice f (x : 'a t_word) = f (f x) let[@inline never] compose f g (x : 'a t_word) = f (g x) let[@inline never] twice_on_three f = - let pi = Nativeint_u.of_nativeint 3n in + let pi = #3n in twice f pi -let times_four = twice Nativeint_u.(fun x -> x * (of_nativeint 2n)) +let times_four = twice Nativeint_u.(fun x -> x * #2n) let _ = let open Nativeint_u in print_nativeintu "Test 2, add three twice" - (twice (fun x -> x + (of_nativeint 3n)) (of_nativeint 0n)); + (twice (fun x -> x + #3n) #0n); print_nativeintu "Test 2, add three four times" - (twice (twice (fun x -> x + (of_nativeint 3n))) (of_nativeint 0n)); + (twice (twice (fun x -> x + #3n)) #0n); print_nativeintu "Test 2, increment three twice" - (twice_on_three (fun x -> (of_nativeint 1n) + x)); + (twice_on_three (fun x -> #1n + x)); print_nativeintu "Test 2, increment three four times" - (twice_on_three (twice (fun x -> (of_nativeint 1n) + x))); + (twice_on_three (twice (fun x -> #1n + x))); print_nativeintu "Test 2, two times four" - (times_four (of_nativeint 2n)); + (times_four #2n); print_nativeintu "Test 2, three times sixteen" (twice_on_three times_four); print_nativeintu "Test 2, three times sixteen again" - (compose times_four times_four (of_nativeint 3n)); + (compose times_four times_four #3n); print_nativeintu "Test 2, three minus four" - (let two = twice (fun x -> x + (of_nativeint 1n)) (of_nativeint 0n) in + (let two = twice (fun x -> x + #1n) #0n in let add_two = Nativeint_u.(+) two in let add_two_after = compose add_two in - let minus_four = add_two_after (twice (fun x -> x - (of_nativeint 3n))) in - minus_four (of_nativeint 3n)) + let minus_four = add_two_after (twice (fun x -> x - #3n)) in + minus_four #3n) (**********************************) (* Test 3: nativeint# in closures *) @@ -229,7 +224,7 @@ let _ = let[@inline never] f3 n m steps () = let[@inline never] rec go k = if k = n - then Nativeint_u.of_nativeint 0n + then #0n else begin let acc = go (k + 1) in steps.(k) <- Nativeint_u.to_nativeint acc; @@ -243,7 +238,7 @@ let[@inline_never] f3_manyargs x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 steps () = let (start_k, end_k) = x0 in let[@inline never] rec go k = if k = end_k - then Nativeint_u.of_nativeint 0n + then #0n else begin let (x2_1, x2_2) = x2 in let (x4_1, x4_2) = x4 in @@ -260,7 +255,7 @@ let[@inline_never] f3_manyargs x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 steps () = let test3 () = (* Test f3 *) let steps = Array.init 10 (fun _ -> 0n) in - let five_times_three = f3 5 (Nativeint_u.of_nativeint 3n) steps in + let five_times_three = f3 5 #3n steps in print_nativeintu "Test 3, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 3, step %d: %nd\n") steps; @@ -272,11 +267,11 @@ let test3 () = 9 * (1 + 2 + 3 + 5 + 8) = 171 *) let steps = Array.init 10 (fun _ -> 0n) in - let x1 = Nativeint_u.of_nativeint 1n in - let x3 = Nativeint_u.of_nativeint 2n in - let x5 = Nativeint_u.of_nativeint 3n in - let x7 = Nativeint_u.of_nativeint 5n in - let x9 = Nativeint_u.of_nativeint 8n in + let x1 = #1n in + let x3 = #2n in + let x5 = #3n in + let x7 = #5n in + let x9 = #8n in (* all these 8 numbers together sum to 3 *) let x2 = (7, 42) in @@ -296,7 +291,7 @@ let _ = test3 () let[@inline never] test4 () = (* Simple indirect call *) let[@inline never] go f = - Nativeint_u.to_nativeint (f (Nativeint_u.of_nativeint 1n) (Nativeint_u.of_nativeint 2n)) + Nativeint_u.to_nativeint (f #1n #2n) in let (x1, x2) = (go Nativeint_u.(+), go Nativeint_u.(-)) in print_nativeintu "Test 4, 1 + 2" (Nativeint_u.of_nativeint x1); @@ -304,7 +299,7 @@ let[@inline never] test4 () = (* partial application to nativeint# *) let steps = Array.init 10 (fun _ -> 0n) in - let f = Sys.opaque_identity (f3 5 (Nativeint_u.of_nativeint 3n)) in + let f = Sys.opaque_identity (f3 5 #3n) in let five_times_three = f steps in print_nativeintu "Test 4, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %nd\n") steps; @@ -312,7 +307,7 @@ let[@inline never] test4 () = (* partial application with nativeint# remaining *) let steps = Array.init 10 (fun _ -> 0n) in let f = Sys.opaque_identity (f3 6) in - let six_times_three = f (Nativeint_u.of_nativeint 3n) steps in + let six_times_three = f #3n steps in print_nativeintu "Test 4, 6 * 3: " (six_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %nd\n") steps; @@ -321,14 +316,14 @@ let[@inline never] test4 () = let f3 = Sys.opaque_identity f3 in let steps = Array.init 10 (fun _ -> 0n) in - let f = Sys.opaque_identity (f3 5 (Nativeint_u.of_nativeint 3n)) in + let f = Sys.opaque_identity (f3 5 #3n) in let five_times_three = f steps in print_nativeintu "Test 4, 5 * 3: " (five_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %nd\n") steps; let steps = Array.init 10 (fun _ -> 0n) in let f = Sys.opaque_identity (f3 6) in - let six_times_three = f (Nativeint_u.of_nativeint 3n) steps in + let six_times_three = f #3n steps in print_nativeintu "Test 4, 6 * 3: " (six_times_three ()); Array.iteri (Printf.printf " Test 4, step %d: %nd\n") steps @@ -348,9 +343,9 @@ let[@inline never] f5 n m = let test5 () = let open Nativeint_u in let _ : unit = - f5 (of_nativeint 3n) (of_nativeint 2n) + f5 #3n #2n (fun n s m -> print_nativeintu s (n + m)) "Test 5, 3 + 2 + 1" - (of_nativeint 1n) + #1n in () @@ -391,20 +386,20 @@ let test6 () = (* (30 - 20) / 3 = 3 *) let o = (Sys.opaque_identity f6_1) () in print_nativeintu "Test 6, 3" - (o#f6_m1 (of_nativeint 30n) (of_nativeint 20n) (of_nativeint 3n)); + (o#f6_m1 #30n #20n #3n); (* 4 * 8 = 32 *) let o = (Sys.opaque_identity f6_2) (4,7) in - let result = o#f6_m2 8 (of_nativeint 4n) (fun x -> x * of_nativeint 2n) in + let result = o#f6_m2 8 #4n (fun x -> x * #2n) in print_nativeintu "Test 6, 32" result; (* (1 + 2 + 3 + (-2) + (-12) + 4) * (2 + (-1) + 10) = -44 *) let o = (Sys.opaque_identity f6_3) (1,2) 3 in let result = - o#f6_m3 (-2) (of_nativeint 2n) + o#f6_m3 (-2) #2n (fun[@inline never] i m1 m2 n m3 -> (of_nativeint (Nativeint.of_int (add3 i n))) * (m1 + m2 + m3)) - (of_nativeint (-1n)) (-12,4) (of_nativeint 10n) + (-#1n) (-12,4) #10n in print_nativeintu "Test 6, -44" result @@ -416,7 +411,7 @@ let _ = test6 () module M = struct open Nativeint_u let[@inline never] f () = assert false - let g () = if Sys.opaque_identity true then of_nativeint 32n else f () + let g () = if Sys.opaque_identity true then #32n else f () end let test7 () = diff --git a/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints_disabled.compilers.reference b/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints_disabled.compilers.reference deleted file mode 100644 index a4c7ba13eed..00000000000 --- a/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints_disabled.compilers.reference +++ /dev/null @@ -1,5 +0,0 @@ -File "unboxed_nativeints.ml", line 190, characters 11-15: -190 | type ('a : word) t_word = 'a - ^^^^ -Error: Layout word is more experimental than allowed by the enabled layouts extension. - You must enable -extension layouts_beta to use this feature. From 32d3c339d6ead9c1a6325d4a61f2e22c8b5f98bc Mon Sep 17 00:00:00 2001 From: alanechang Date: Wed, 3 Jan 2024 17:31:41 -0500 Subject: [PATCH 3/5] delete old tests --- .../tests/typing-layouts-bits32/basics.ml | 25 ------------------- .../tests/typing-layouts-bits64/basics.ml | 25 ------------------- .../tests/typing-layouts-word/basics.ml | 25 ------------------- 3 files changed, 75 deletions(-) delete mode 100644 ocaml/testsuite/tests/typing-layouts-bits32/basics.ml delete mode 100644 ocaml/testsuite/tests/typing-layouts-bits64/basics.ml delete mode 100644 ocaml/testsuite/tests/typing-layouts-word/basics.ml diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/basics.ml b/ocaml/testsuite/tests/typing-layouts-bits32/basics.ml deleted file mode 100644 index 90298d236ed..00000000000 --- a/ocaml/testsuite/tests/typing-layouts-bits32/basics.ml +++ /dev/null @@ -1,25 +0,0 @@ -(* TEST - flags = "-extension layouts" - * expect -*) - -(* This file contains typing tests for the layout [bits32]. - - Runtime tests for the type [int32#] can be found in the - [unboxed_int32], [alloc], and [stdlib__int32_u] tests in this - directory. The type [int32#] here is used as a convenient example of a - concrete [bits32] type in some tests, but its behavior isn't the primary - purpose of this test. *) - -(* CR layouts: We'll be moving code from [basics_beta] to this file as support - for different features becomes available at this level of stability. *) - -type t_bits32 : bits32 -type ('a : bits32) t_bits32_id = 'a;; -[%%expect{| -Line 1, characters 16-22: -1 | type t_bits32 : bits32 - ^^^^^^ -Error: Layout bits32 is more experimental than allowed by the enabled layouts extension. - You must enable -extension layouts_beta to use this feature. -|}] diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/basics.ml b/ocaml/testsuite/tests/typing-layouts-bits64/basics.ml deleted file mode 100644 index 8e69c2ab1ff..00000000000 --- a/ocaml/testsuite/tests/typing-layouts-bits64/basics.ml +++ /dev/null @@ -1,25 +0,0 @@ -(* TEST - flags = "-extension layouts" - * expect -*) - -(* This file contains typing tests for the layout [bits64]. - - Runtime tests for the type [int64#] can be found in the - [unboxed_int64], [alloc], and [stdlib__int64_u] tests in this - directory. The type [int64#] here is used as a convenient example of a - concrete [bits64] type in some tests, but its behavior isn't the primary - purpose of this test. *) - -(* CR layouts: We'll be moving code from [basics_beta] to this file as support - for different features becomes available at this level of stability. *) - -type t_bits64 : bits64 -type ('a : bits64) t_bits64_id = 'a;; -[%%expect{| -Line 1, characters 16-22: -1 | type t_bits64 : bits64 - ^^^^^^ -Error: Layout bits64 is more experimental than allowed by the enabled layouts extension. - You must enable -extension layouts_beta to use this feature. -|}] diff --git a/ocaml/testsuite/tests/typing-layouts-word/basics.ml b/ocaml/testsuite/tests/typing-layouts-word/basics.ml deleted file mode 100644 index 7b8ed2f56a9..00000000000 --- a/ocaml/testsuite/tests/typing-layouts-word/basics.ml +++ /dev/null @@ -1,25 +0,0 @@ -(* TEST - flags = "-extension layouts" - * expect -*) - -(* This file contains typing tests for the layout [word]. - - Runtime tests for the type [nativeint#] can be found in the - [unboxed_nativeint], [alloc], and [stdlib__nativeint_u] tests in this - directory. The type [nativeint#] here is used as a convenient example of a - concrete [word] type in some tests, but its behavior isn't the primary - purpose of this test. *) - -(* CR layouts: We'll be moving code from [basics_beta] to this file as support - for different features becomes available at this level of stability. *) - -type t_word : word -type ('a : word) t_word_id = 'a;; -[%%expect{| -Line 1, characters 14-18: -1 | type t_word : word - ^^^^ -Error: Layout word is more experimental than allowed by the enabled layouts extension. - You must enable -extension layouts_beta to use this feature. -|}] From b0cab2642dbfc64ff2b1d8da33af1279404f741a Mon Sep 17 00:00:00 2001 From: alanechang Date: Wed, 3 Jan 2024 17:44:09 -0500 Subject: [PATCH 4/5] change tests to use layouts stable --- .../tests/typing-layouts-bits32/alloc.ml | 2 +- .../{basics_alpha_beta.ml => basics.ml} | 2 ++ .../tests/typing-layouts-bits32/c_api.ml | 16 +++++++++------- .../tests/typing-layouts-bits32/parsing.ml | 2 +- .../typing-layouts-bits32/stdlib_bits32_u.ml | 2 +- .../tests/typing-layouts-bits64/alloc.ml | 2 +- .../{basics_alpha_beta.ml => basics.ml} | 2 ++ .../tests/typing-layouts-bits64/c_api.ml | 16 +++++++++------- .../tests/typing-layouts-bits64/parsing.ml | 2 +- .../typing-layouts-bits64/stdlib_bits64_u.ml | 2 +- .../testsuite/tests/typing-layouts-word/alloc.ml | 2 +- .../{basics_alpha_beta.ml => basics.ml} | 2 ++ .../testsuite/tests/typing-layouts-word/c_api.ml | 16 +++++++++------- .../tests/typing-layouts-word/parsing.ml | 2 +- .../typing-layouts-word/stdlib_nativeint_u.ml | 2 +- 15 files changed, 42 insertions(+), 30 deletions(-) rename ocaml/testsuite/tests/typing-layouts-bits32/{basics_alpha_beta.ml => basics.ml} (99%) rename ocaml/testsuite/tests/typing-layouts-bits64/{basics_alpha_beta.ml => basics.ml} (99%) rename ocaml/testsuite/tests/typing-layouts-word/{basics_alpha_beta.ml => basics.ml} (99%) diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/alloc.ml b/ocaml/testsuite/tests/typing-layouts-bits32/alloc.ml index ae8dc3bc158..b66b3d330ac 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/alloc.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/alloc.ml @@ -1,6 +1,6 @@ (* TEST * flambda2 - flags = "-extension layouts_alpha" + flags = "-extension layouts" ** native *) diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/basics_alpha_beta.ml b/ocaml/testsuite/tests/typing-layouts-bits32/basics.ml similarity index 99% rename from ocaml/testsuite/tests/typing-layouts-bits32/basics_alpha_beta.ml rename to ocaml/testsuite/tests/typing-layouts-bits32/basics.ml index 8b1932c411e..5218f2f020d 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/basics_alpha_beta.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/basics.ml @@ -3,6 +3,8 @@ flags = "-extension layouts_alpha" * expect flags = "-extension layouts_beta" + * expect + flags = "-extension layouts" *) (* This file contains typing tests for the layout [bits32]. diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml b/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml index c53155bbec1..4d5c5e5b342 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml @@ -8,13 +8,15 @@ flags = "-extension layouts_beta" * bytecode flags = "-extension layouts_beta" + * native + flags = "-extension layouts" + * bytecode + flags = "-extension layouts" *) (* This file tests using external C functions with int32#. *) external to_int32 : int32# -> (int32[@local_opt]) = "%box_int32" -external of_int32 : (int32[@local_opt]) -> int32# = - "%unbox_int32" let print_int32u s f = Printf.printf "%s: %ld\n" s (to_int32 f) let print_int32 s f = Printf.printf "%s: %ld\n" s f @@ -33,7 +35,7 @@ external lognot_UtoBU : int32# -> (int32[@unboxed]) = "lognot_bytecode" "lognot_UtoU" let () = - let i = lognot_UtoU (of_int32 42l) in + let i = lognot_UtoU #42l in print_int32u "int32# -> int32#, ~42" i let () = @@ -41,7 +43,7 @@ let () = print_int32u "int32 -> int32#, ~(-100)" i let () = - let f = lognot_UtoB (of_int32 255l) in + let f = lognot_UtoB #255l in print_int32 "int32# -> int32, ~255" f let () = @@ -49,7 +51,7 @@ let () = print_int32u "(int32[@unboxed]) -> int32#, ~1024" f let () = - let f = lognot_UtoBU (of_int32 (-1726l)) in + let f = lognot_UtoBU (-#1726l) in print_int32 "int32# -> (int32[@unboxed]), ~(-1726)" f (* If there are more than 5 args, you get an array in bytecode *) @@ -61,7 +63,7 @@ external sum_7 : let _ = let f = sum_7 - (of_int32 1l) 2l (of_int32 3l) 4l - (of_int32 5l) 6l (of_int32 7l) + #1l 2l #3l 4l + #5l 6l #7l in print_int32u "Function of 7 args, 1+2+3+4+5+6+7" f diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/parsing.ml b/ocaml/testsuite/tests/typing-layouts-bits32/parsing.ml index c5c8f88b59e..3a7a8115d29 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/parsing.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/parsing.ml @@ -1,5 +1,5 @@ (* TEST - flags = "-extension layouts_alpha" + flags = "-extension layouts" * expect *) diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/stdlib_bits32_u.ml b/ocaml/testsuite/tests/typing-layouts-bits32/stdlib_bits32_u.ml index e00bf7573bb..48bcc9d0ab2 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/stdlib_bits32_u.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/stdlib_bits32_u.ml @@ -1,5 +1,5 @@ (* TEST - flags = "-extension layouts_alpha" + flags = "-extension layouts" *) module Int32_u = Stdlib__Int32_u diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/alloc.ml b/ocaml/testsuite/tests/typing-layouts-bits64/alloc.ml index 6acfe1d62ea..936adea0a2f 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/alloc.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/alloc.ml @@ -1,6 +1,6 @@ (* TEST * flambda2 - flags = "-extension layouts_alpha" + flags = "-extension layouts" ** native *) diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/basics_alpha_beta.ml b/ocaml/testsuite/tests/typing-layouts-bits64/basics.ml similarity index 99% rename from ocaml/testsuite/tests/typing-layouts-bits64/basics_alpha_beta.ml rename to ocaml/testsuite/tests/typing-layouts-bits64/basics.ml index c0a2737a922..e45c8a6a5d9 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/basics_alpha_beta.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/basics.ml @@ -3,6 +3,8 @@ flags = "-extension layouts_alpha" * expect flags = "-extension layouts_beta" + * expect + flags = "-extension layouts" *) (* This file contains typing tests for the layout [bits64]. diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml b/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml index 133d117f49a..99348d97c19 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml @@ -8,13 +8,15 @@ flags = "-extension layouts_beta" * bytecode flags = "-extension layouts_beta" + * native + flags = "-extension layouts" + * bytecode + flags = "-extension layouts" *) (* This file tests using external C functions with int64#. *) external to_int64 : int64# -> (int64[@local_opt]) = "%box_int64" -external of_int64 : (int64[@local_opt]) -> int64# = - "%unbox_int64" let print_int64u s f = Printf.printf "%s: %Ld\n" s (to_int64 f) let print_int64 s f = Printf.printf "%s: %Ld\n" s f @@ -33,7 +35,7 @@ external lognot_UtoBU : int64# -> (int64[@unboxed]) = "lognot_bytecode" "lognot_UtoU" let () = - let i = lognot_UtoU (of_int64 42L) in + let i = lognot_UtoU #42L in print_int64u "int64# -> int64#, ~42" i let () = @@ -41,7 +43,7 @@ let () = print_int64u "int64 -> int64#, ~(-100)" i let () = - let f = lognot_UtoB (of_int64 255L) in + let f = lognot_UtoB #255L in print_int64 "int64# -> int64, ~255" f let () = @@ -49,7 +51,7 @@ let () = print_int64u "(int64[@unboxed]) -> int64#, ~1024" f let () = - let f = lognot_UtoBU (of_int64 (-1726L)) in + let f = lognot_UtoBU (-#1726L) in print_int64 "int64# -> (int64[@unboxed]), ~(-1726)" f (* If there are more than 5 args, you get an array in bytecode *) @@ -61,7 +63,7 @@ external sum_7 : let _ = let f = sum_7 - (of_int64 1L) 2L (of_int64 3L) 4L - (of_int64 5L) 6L (of_int64 7L) + #1L 2L #3L 4L + #5L 6L #7L in print_int64u "Function of 7 args, 1+2+3+4+5+6+7" f diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/parsing.ml b/ocaml/testsuite/tests/typing-layouts-bits64/parsing.ml index 582dda866ce..c576053b5a2 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/parsing.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/parsing.ml @@ -1,5 +1,5 @@ (* TEST - flags = "-extension layouts_alpha" + flags = "-extension layouts" * expect *) diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/stdlib_bits64_u.ml b/ocaml/testsuite/tests/typing-layouts-bits64/stdlib_bits64_u.ml index d0dd1e069e5..25d51c9c472 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/stdlib_bits64_u.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/stdlib_bits64_u.ml @@ -1,5 +1,5 @@ (* TEST - flags = "-extension layouts_alpha" + flags = "-extension layouts" *) module Int64_u = Stdlib__Int64_u diff --git a/ocaml/testsuite/tests/typing-layouts-word/alloc.ml b/ocaml/testsuite/tests/typing-layouts-word/alloc.ml index 25b522e59ef..f80aec95807 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/alloc.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/alloc.ml @@ -1,6 +1,6 @@ (* TEST * flambda2 - flags = "-extension layouts_alpha" + flags = "-extension layouts" ** native *) diff --git a/ocaml/testsuite/tests/typing-layouts-word/basics_alpha_beta.ml b/ocaml/testsuite/tests/typing-layouts-word/basics.ml similarity index 99% rename from ocaml/testsuite/tests/typing-layouts-word/basics_alpha_beta.ml rename to ocaml/testsuite/tests/typing-layouts-word/basics.ml index 44356b1907f..8787d639bf0 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/basics_alpha_beta.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/basics.ml @@ -3,6 +3,8 @@ flags = "-extension layouts_alpha" * expect flags = "-extension layouts_beta" + * expect + flags = "-extension layouts" *) (* This file contains typing tests for the layout [word]. diff --git a/ocaml/testsuite/tests/typing-layouts-word/c_api.ml b/ocaml/testsuite/tests/typing-layouts-word/c_api.ml index f010f39dbc6..c97e2af2e34 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/c_api.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/c_api.ml @@ -8,13 +8,15 @@ flags = "-extension layouts_beta" * bytecode flags = "-extension layouts_beta" + * native + flags = "-extension layouts" + * bytecode + flags = "-extension layouts" *) (* This file tests using external C functions with nativeint#. *) external to_nativeint : nativeint# -> (nativeint[@local_opt]) = "%box_nativeint" -external of_nativeint : (nativeint[@local_opt]) -> nativeint# = - "%unbox_nativeint" let print_nativeintu s f = Printf.printf "%s: %nd\n" s (to_nativeint f) let print_nativeint s f = Printf.printf "%s: %nd\n" s f @@ -33,7 +35,7 @@ external lognot_UtoBU : nativeint# -> (nativeint[@unboxed]) = "lognot_bytecode" "lognot_UtoU" let () = - let i = lognot_UtoU (of_nativeint 42n) in + let i = lognot_UtoU #42n in print_nativeintu "nativeint# -> nativeint#, ~42" i let () = @@ -41,7 +43,7 @@ let () = print_nativeintu "nativeint -> nativeint#, ~(-100)" i let () = - let f = lognot_UtoB (of_nativeint 255n) in + let f = lognot_UtoB #255n in print_nativeint "nativeint# -> nativeint, ~255" f let () = @@ -49,7 +51,7 @@ let () = print_nativeintu "(nativeint[@unboxed]) -> nativeint#, ~1024" f let () = - let f = lognot_UtoBU (of_nativeint (-1726n)) in + let f = lognot_UtoBU (-#1726n) in print_nativeint "nativeint# -> (nativeint[@unboxed]), ~(-1726)" f (* If there are more than 5 args, you get an array in bytecode *) @@ -61,7 +63,7 @@ external sum_7 : let _ = let f = sum_7 - (of_nativeint 1n) 2n (of_nativeint 3n) 4n - (of_nativeint 5n) 6n (of_nativeint 7n) + #1n 2n #3n 4n + #5n 6n #7n in print_nativeintu "Function of 7 args, 1+2+3+4+5+6+7" f diff --git a/ocaml/testsuite/tests/typing-layouts-word/parsing.ml b/ocaml/testsuite/tests/typing-layouts-word/parsing.ml index 40e7e748202..2c79dc1cefa 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/parsing.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/parsing.ml @@ -1,5 +1,5 @@ (* TEST - flags = "-extension layouts_alpha" + flags = "-extension layouts" * expect *) diff --git a/ocaml/testsuite/tests/typing-layouts-word/stdlib_nativeint_u.ml b/ocaml/testsuite/tests/typing-layouts-word/stdlib_nativeint_u.ml index 51fb0b70567..25f6fff9659 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/stdlib_nativeint_u.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/stdlib_nativeint_u.ml @@ -1,5 +1,5 @@ (* TEST - flags = "-extension layouts_alpha" + flags = "-extension layouts" *) module Nativeint_u = Stdlib__Nativeint_u From c59344d5a952fbb40d2a7acdf30ca106e1271eea Mon Sep 17 00:00:00 2001 From: alanechang Date: Thu, 4 Jan 2024 11:31:56 -0500 Subject: [PATCH 5/5] mark tests using unboxed literals flambda2 only --- .../testsuite/tests/typing-layouts-bits32/c_api.ml | 13 +++++++------ .../tests/typing-layouts-bits32/unboxed_bits32s.ml | 13 +++++++------ .../testsuite/tests/typing-layouts-bits64/c_api.ml | 13 +++++++------ .../tests/typing-layouts-bits64/unboxed_bits64s.ml | 13 +++++++------ ocaml/testsuite/tests/typing-layouts-word/c_api.ml | 13 +++++++------ .../tests/typing-layouts-word/unboxed_nativeints.ml | 13 +++++++------ 6 files changed, 42 insertions(+), 36 deletions(-) diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml b/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml index 4d5c5e5b342..5cf67dd8e22 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/c_api.ml @@ -1,16 +1,17 @@ (* TEST modules = "c_functions.c" - * native + * flambda2 + ** native flags = "-extension layouts_alpha" - * bytecode + ** bytecode flags = "-extension layouts_alpha" - * native + ** native flags = "-extension layouts_beta" - * bytecode + ** bytecode flags = "-extension layouts_beta" - * native + ** native flags = "-extension layouts" - * bytecode + ** bytecode flags = "-extension layouts" *) diff --git a/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml b/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml index c6969c27cb0..30cd007d3a3 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits32/unboxed_bits32s.ml @@ -1,15 +1,16 @@ (* TEST - * native + * flambda2 + ** native flags = "-extension layouts_alpha" - * bytecode + ** bytecode flags = "-extension layouts_alpha" - * native + ** native flags = "-extension layouts_beta" - * bytecode + ** bytecode flags = "-extension layouts_beta" - * native + ** native flags = "-extension layouts" - * bytecode + ** bytecode flags = "-extension layouts" *) diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml b/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml index 99348d97c19..3c9a87f4160 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/c_api.ml @@ -1,16 +1,17 @@ (* TEST modules = "c_functions.c" - * native + * flambda2 + ** native flags = "-extension layouts_alpha" - * bytecode + ** bytecode flags = "-extension layouts_alpha" - * native + ** native flags = "-extension layouts_beta" - * bytecode + ** bytecode flags = "-extension layouts_beta" - * native + ** native flags = "-extension layouts" - * bytecode + ** bytecode flags = "-extension layouts" *) diff --git a/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml b/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml index 5701f9bc888..12457137df6 100644 --- a/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml +++ b/ocaml/testsuite/tests/typing-layouts-bits64/unboxed_bits64s.ml @@ -1,15 +1,16 @@ (* TEST - * native + * flambda2 + ** native flags = "-extension layouts_alpha" - * bytecode + ** bytecode flags = "-extension layouts_alpha" - * native + ** native flags = "-extension layouts_beta" - * bytecode + ** bytecode flags = "-extension layouts_beta" - * native + ** native flags = "-extension layouts" - * bytecode + ** bytecode flags = "-extension layouts" *) diff --git a/ocaml/testsuite/tests/typing-layouts-word/c_api.ml b/ocaml/testsuite/tests/typing-layouts-word/c_api.ml index c97e2af2e34..cbb6d6b6e70 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/c_api.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/c_api.ml @@ -1,16 +1,17 @@ (* TEST modules = "c_functions.c" - * native + * flambda2 + ** native flags = "-extension layouts_alpha" - * bytecode + ** bytecode flags = "-extension layouts_alpha" - * native + ** native flags = "-extension layouts_beta" - * bytecode + ** bytecode flags = "-extension layouts_beta" - * native + ** native flags = "-extension layouts" - * bytecode + ** bytecode flags = "-extension layouts" *) diff --git a/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml b/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml index 533e4873fc1..6377404a511 100644 --- a/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml +++ b/ocaml/testsuite/tests/typing-layouts-word/unboxed_nativeints.ml @@ -1,15 +1,16 @@ (* TEST - * native + * flambda2 + ** native flags = "-extension layouts_alpha" - * bytecode + ** bytecode flags = "-extension layouts_alpha" - * native + ** native flags = "-extension layouts_beta" - * bytecode + ** bytecode flags = "-extension layouts_beta" - * native + ** native flags = "-extension layouts" - * bytecode + ** bytecode flags = "-extension layouts" *)