29c75f4ec437a6f6d82a32162225ed253be868e5
[scilab.git] / scilab / modules / jit / src / cpp / llvm-wrapper.cpp
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2013-2013 - S/E - Sylvestre ledru
4  *  Copyright (C) 2013-2013 - S/E - Antoine ELIAS
5  *  Copyright (C) 2013-2013 - S/E - Calixte DENIZET
6  *
7  *  This file must be used under the terms of the CeCILL.
8  *  This source file is licensed as described in the file COPYING, which
9  *  you should have received as part of this distribution.  The terms
10  *  are also available at
11  *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
12  *
13  */
14
15 #include "types_comparison_lt_le_gt_ge.hxx"
16 #include "double.hxx"
17 #include "types_addition.hxx"
18 #include "context.hxx"
19
20 /* This is a configuration file which will be transformed by llvm + clang
21 for the JIT
22 */
23 int foo()
24 {
25     types::Double* pdbl = types::Double::Empty();
26     types::Bool* pb = 0;
27     int res = AddDoubleToDouble(pdbl, pdbl, &pdbl);
28     symbol::Symbol * sym = 0;// = symbol::Symbol(L"a"); => This declaration makes llc fails
29
30     symbol::Context::getInstance()->put(*sym, *pdbl);
31     symbol::Context::getInstance()->get(*sym);
32
33     DoubleLessDouble(pdbl, pdbl, 0);
34     pb->get(0);
35
36     return res;
37 }
38
39