package ocaml-solo5-cross-aarch64

  1. Overview
  2. Docs
OCaml cross-compiler to the freestanding 64-bit ARM Solo5 backend

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v1.3.4.tar.gz
md5=186c4e0b2e2602b8a5cefbc731bcc6ba
sha512=b64b9f6b7371468b415c30eb7d13a06ae9c81eaf77f73494635919fc0134d9c3bb0aa177b78ab35d23bfa7fc045602a15f163e446c8fa67afe6e85f0ccbe0031

doc/compiler-libs.common/Linkdeps/index.html

Module Linkdeps

type t

The state of the linking check. It keeps track of compilation units provided and required so far.

type compunit = string
type filename = string
val create : complete:bool -> t

create ~complete returns an empty state. If complete is true, missing compilation units will be treated as errors.

val add : t -> filename:filename -> compunit:compunit -> provides:compunit list -> requires:compunit list -> unit

add t ~filename ~compunit ~provides ~requires registers the compilation unit compunit found in filename to t.

  • provides are units and sub-units provided by compunit
  • requires are units required by compunit

add should be called in reverse topological order.

val required : t -> compunit -> bool

required t compunit returns true if compunit is a dependency of previously added compilation units.

type compunit_and_source = {
  1. compunit : compunit;
  2. filename : filename;
}
type error =
  1. | Missing_implementations of (compunit * compunit_and_source list) list
  2. | Multiple_definitions of (compunit * filename list) list
val check : t -> error option

check t should be called once all the compilation units to be linked have been added. It returns some error if:

  • There are some missing implementations and complete is true
  • Some implementation appear before their dependencies
val report_error : print_filename:string Format_doc.printer -> error Format_doc.format_printer
val report_error_doc : print_filename:string Format_doc.printer -> error Format_doc.printer