Fix MPR#7203: expose a convenience function to allocate float vect#534
Fix MPR#7203: expose a convenience function to allocate float vect#534gasche merged 1 commit intoocaml:trunkfrom
Conversation
|
Should one check that the size is not greater than Max_wosize as in caml_make_float_vect? Also, can you add an entry to the Changes file? |
|
IMO it should do the same as BUT the name is wrong, it should be |
|
Raising an exception for a function to be used on the C side seems to be a bad idea, since there is no way to catch it on the C side, easily leading to memory leaks (if the C code has already mallocated some memory). |
|
I tried to mimic the behavior of |
d9cf6b0 to
1082aa0
Compare
1082aa0 to
3cefcaa
Compare
Fix MPR#7203: expose a convenience function to allocate float vect
| } | ||
|
|
||
| /* [len] is a number of floats */ | ||
| CAMLprim value caml_alloc_float_array(mlsize_t len) |
There was a problem hiding this comment.
This causes the function to be added to the primitives table in the bytecode runtime, which I think can only be an error here? This should have been CAMLexport rather than CAMLprim, I think?
There was a problem hiding this comment.
@dra27 is correct, this should be CAMLexport, in particular because it cannot be called from OCaml bytecode (first argument is an unboxed integer).
There was a problem hiding this comment.
Thanks! It'll be fixed as part of a horrific, I mean glorious, update to the caml headers coming soon to a pull request near you...
Move allocation size information to frame descriptors
64235a3 flambda-backend: Change Float.nan from sNaN to qNaN (ocaml#466) 14a8e27 flambda-backend: Track GC work for all managed bigarray allocations (upstream 11022) (ocaml#569) c3cda96 flambda-backend: Add two new methods to targetint for dwarf (ocaml#560) e6f1fed flambda-backend: Handle arithmetic overflow in select_addr (ocaml#570) dab7209 flambda-backend: Add Target_system to ocaml/utils (ocaml#542) 82d5044 flambda-backend: Enhance numbers.ml with more primitive types (ocaml#544) 216be99 flambda-backend: Fix flambda_o3 and flambda_oclassic attributes (ocaml#536) 4b56e07 flambda-backend: Test naked pointer root handling (ocaml#550) 40d69ce flambda-backend: Stop local function optimisation from moving code into function bodies; opaque_identity fixes for class compilation (ocaml#537) f08ae58 flambda-backend: Implemented inlining history and use it inside inlining reports (ocaml#365) ac496bf flambda-backend: Disable the local keyword in typing (ocaml#540) 7d46712 flambda-backend: Bugfix for Typedtree generation of arrow types (ocaml#539) 61a7b47 flambda-backend: Insert missing page table check in roots_nat.c (ocaml#541) 323bd36 flambda-backend: Compiler error when -disable-all-extensions and -extension are used (ocaml#534) d8956b0 flambda-backend: Persistent environment and reproducibility (ocaml#533) 4a0c89f flambda-backend: Revert "Revert bswap PRs (480 and 482)" (ocaml#506) 7803705 flambda-backend: Cause a C warning when CAMLreturn is missing in C stubs. (ocaml#376) 6199db5 flambda-backend: Improve unboxing during cmm for Flambda (ocaml#295) 96b9e1b flambda-backend: Print diagnostics at runtime for Invalid (ocaml#530) 42ab88e flambda-backend: Disable bytecode compilers in ocamltest (ocaml#504) 58c72d5 flambda-backend: Backport ocaml#10595 from upstream/trunk (ocaml#471) 1010539 flambda-backend: Use C++ name mangling convention (ocaml#483) 81881bb flambda-backend: Local allocation test no longer relies on lifting (ocaml#525) f5c4719 flambda-backend: Fix an assertion in Closure that breaks probes (ocaml#505) c2cf2b2 flambda-backend: Add some missing command line arguments to ocamlnat (ocaml#499) git-subtree-dir: ocaml git-subtree-split: 64235a3
No description provided.