Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Symbols mentioned in compatibility.h but not declared anywhere else #7744

vicuna opened this Issue Feb 23, 2018 · 0 comments


None yet
1 participant
Copy link

vicuna commented Feb 23, 2018

Original bug ID: 7744
Reporter: @dra27
Status: new
Resolution: open
Priority: normal
Severity: tweak
Version: 4.06.1
Target version: 4.07.0+dev/beta2/rc1/rc2
Category: runtime system and C interface
Monitored by: @nojb

Bug description

The following symbols are declared in compatibility.h and marked CAMLexport in the runtime but are only defined in their respective C files: caml_channel_size, caml_do_read, caml_finalize_channel, caml_input_scan_line, caml_int32_ops, caml_int64_ops, caml_minor_collection, caml_nativeint_ops, caml_pos_in, caml_pos_out, caml_seek_in, caml_seek_out.

Steps to reproduce

caml_minor_collection, judging from the comment, exists for lablgtk?

caml_pos_in, caml_pos_out, caml_seek_in and caml_seek_out are marked special cases in compatibility.h

Note that while caml_int32_ops, caml_int64_ops and caml_nativeint_ops have been marked CAMLexport, caml_ba_ops never has been.

The remaining items (also) come from io.c and, again judging from comments, appear to have been exported for Cash's benefit?

Additional information

Possible change on the horizon where symbols need once again to be exported explicitly, so these need to be properly mentioned in headers if they're to be kept exported.

@vicuna vicuna added the stdlib label Mar 14, 2019

@vicuna vicuna added this to the 4.07.0 milestone Mar 14, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.