~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to bindings/ocaml/all_backends/all_backends_ocaml.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*===-- all_backends_ocaml.c - LLVM OCaml Glue ------------------*- C++ -*-===*\
 
2
|*                                                                            *|
 
3
|*                     The LLVM Compiler Infrastructure                       *|
 
4
|*                                                                            *|
 
5
|* This file is distributed under the University of Illinois Open Source      *|
 
6
|* License. See LICENSE.TXT for details.                                      *|
 
7
|*                                                                            *|
 
8
|*===----------------------------------------------------------------------===*|
 
9
|*                                                                            *|
 
10
|* This file glues LLVM's OCaml interface to its C interface. These functions *|
 
11
|* are by and large transparent wrappers to the corresponding C functions.    *|
 
12
|*                                                                            *|
 
13
|* Note that these functions intentionally take liberties with the CAMLparamX *|
 
14
|* macros, since most of the parameters are not GC heap objects.              *|
 
15
|*                                                                            *|
 
16
\*===----------------------------------------------------------------------===*/
 
17
 
 
18
#include "llvm-c/Target.h"
 
19
#include "caml/alloc.h"
 
20
#include "caml/fail.h"
 
21
#include "caml/memory.h"
 
22
#include "caml/custom.h"
 
23
 
 
24
/* unit -> unit */
 
25
CAMLprim value llvm_initialize_all(value Unit) {
 
26
  LLVMInitializeAllTargetInfos();
 
27
  LLVMInitializeAllTargets();
 
28
  LLVMInitializeAllTargetMCs();
 
29
  LLVMInitializeAllAsmPrinters();
 
30
  LLVMInitializeAllAsmParsers();
 
31
  return Val_unit;
 
32
}