1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/bindings/ocaml
whitequark d1038a9785 [OCaml] Fix incorrect use of CAMLlocal in nested blocks
Summary:
The OCaml manual states:

> Local variables of type value must be declared with one of the
> CAMLlocal macros. [...] These macros must be used at the beginning
> of the function, not in a nested block.

This patch moves several instances of CAMLlocal macros from nested
blocks to the function beginning.

Reviewers: whitequark

Reviewed By: whitequark

Subscribers: CodaFi, llvm-commits

Differential Revision: https://reviews.llvm.org/D53841

llvm-svn: 346387
2018-11-08 04:00:18 +00:00
..
all_backends Remove autoconf support 2016-01-26 21:29:08 +00:00
analysis [OCaml] Use LLVMCreateMessage with constant strings when calling llvm_raise 2016-04-01 07:56:17 +00:00
backends cmake: Install the OCaml libraries into a more correct path 2016-09-30 18:34:23 +00:00
bitreader [OCaml] Use LLVMCreateMessage with constant strings when calling llvm_raise 2016-04-01 07:56:17 +00:00
bitwriter Remove autoconf support 2016-01-26 21:29:08 +00:00
executionengine Silence warnings in OCaml bindings 2016-03-31 08:39:42 +00:00
irreader Remove autoconf support 2016-01-26 21:29:08 +00:00
linker [OCaml] Use LLVMCreateMessage with constant strings when calling llvm_raise 2016-04-01 07:56:17 +00:00
llvm [OCaml] Fix incorrect use of CAMLlocal in nested blocks 2018-11-08 04:00:18 +00:00
target [NFC] Remove multiple semicolons 2017-06-28 23:15:16 +00:00
transforms [LLVM-C][OCaml] Add UnifyFunctionExitNodes pass to C and OCaml APIs 2018-09-18 13:36:03 +00:00
CMakeLists.txt [OCaml] [cmake] Add CMake buildsystem for OCaml. 2014-12-01 19:50:23 +00:00
README.txt [CMake] [OCaml] Allow building OCaml bindings out of tree. 2016-09-05 01:42:22 +00:00

This directory contains LLVM bindings for the OCaml programming language
(http://ocaml.org).

Prerequisites
-------------

* OCaml 4.00.0+.
* ctypes 0.4+.
* oUnit 2+ (only required for tests).
* CMake (to build LLVM).

Building the bindings
---------------------

If all dependencies are present, the bindings will be built and installed
as a part of the default CMake configuration, with no further action.
They will only work with the specific OCaml compiler detected during the build.

The bindings can also be built out-of-tree, i.e. targeting a preinstalled
LLVM. To do this, configure the LLVM build tree as follows:

    $ cmake -DLLVM_OCAML_OUT_OF_TREE=TRUE \
            -DCMAKE_INSTALL_PREFIX=[OCaml install prefix] \
            [... any other options]

then build and install it as:

    $ make ocaml_all
    $ cmake -P bindings/ocaml/cmake_install.cmake