Commit Graph

2512 Commits

Author SHA1 Message Date
Axel Naumann
69234ce153 Fix nullptr value printing (ROOT-7092). 2015-02-21 22:27:26 +01:00
Axel Naumann
0e1c818da1 Implement loading of MachO universal bins (e.g. Frameworks). 2015-02-21 12:29:35 +01:00
Axel Naumann
ff65075668 Implement unloading of transactions that are nested below uncommitted ones. 2015-02-18 14:51:21 +01:00
Axel Naumann
c1cf9236c0 Also test error recovery from non-existing file. 2015-02-18 14:51:21 +01:00
Axel Naumann
39e505288b Improve and re-use existing addTransaction(). 2015-02-18 14:51:21 +01:00
Axel Naumann
1ffc20a6b2 Add a cling pragma handler. For now implement #pragma cling load(file)
Extremely handy for sources that require certain libraries to be loaded;
it's similar to MSVC's #pragma comment(lib"libToLink").
2015-02-18 14:51:21 +01:00
Axel Naumann
430a9c7473 Add non-const getParser(). 2015-02-18 14:51:21 +01:00
Axel Naumann
e01719a2bb Do not strip the binary. Fixes missing symbols on MacOS. 2015-02-17 15:45:15 +01:00
Bertrand Bellenot
c70c555b26 From Axel: Forward eof on Windows and assert on non-Windows platforms 2015-02-17 09:55:19 +01:00
Axel Naumann
381a62b1cf Do not interpret /Users/... as /U sers; fixes MacOS cling tests. 2015-02-14 22:16:15 +01:00
Axel Naumann
39dbb9b6fd Fix doxygen warning. 2015-02-14 14:11:35 +01:00
Axel Naumann
99ebb91b5f Fix constness warning. 2015-02-13 20:30:17 +01:00
Bertrand Bellenot
694c772e39 Fix crash (assertion failure) on Windows
Late parsed templates (Microsoft specific) can leave unswallowed "macro"-like tokens. They will seriously confuse the Parser when entering the next source file. So lex until we are EOF.
2015-02-13 16:53:13 +01:00
Axel Naumann
3419001b9a Improve "missing symbol" error messages (ROOT-6755). 2015-02-12 18:29:16 +01:00
Axel Naumann
678e3fbe40 Do not remove inlined functions: they might need to be inlined in a subsequent transaction. 2015-02-12 15:53:09 +01:00
Danilo Piparo
4ecc896170 Fix cmake compilation 2015-02-12 10:14:26 +01:00
Axel Naumann
99d8ab07a9 Also symbol lookup needs to remove the leading "_" on MacOS. 2015-02-11 22:05:21 +01:00
Axel Naumann
4bc5c13beb Add backend passes back in. Fixes (some of) MacOS.
Once clang BackendUtils become more relevant for our use case
we should switch to that, instead of simulating its behavior.
2015-02-11 22:05:21 +01:00
Axel Naumann
34c0e373dc Save JIT time. 2015-02-11 22:05:20 +01:00
Axel Naumann
1001c65f99 MacOS adds an extra "_" in front of symbol names. 2015-02-11 11:51:16 +01:00
Axel Naumann
ebacb03d18 Silence warning but keep code - we still need it. 2015-02-11 10:57:48 +01:00
Axel Naumann
080ec79f0d Update CMake to orcjit. 2015-02-11 10:57:48 +01:00
Axel Naumann
1dbd2590e4 Record llvm update. 2015-02-11 10:57:48 +01:00
Axel Naumann
32a244d8df Add OrcJIT. 2015-02-11 10:57:48 +01:00
Axel Naumann
ddaa27fe23 Link against MCJIT. 2015-02-11 10:57:48 +01:00
Axel Naumann
eb75ab36ef Add the transaction to define its lifetime.
This should be migrated to use unique_ptr in the interfaces instead
of relying on comments...
2015-02-11 10:57:48 +01:00
Axel Naumann
9bd2a08dd2 Cache unique_ptr value before move. 2015-02-11 10:57:47 +01:00
Axel Naumann
6fe605a69a Missing initialization. 2015-02-11 10:57:47 +01:00
Axel Naumann
93e44e7273 Use ~Transaction() to unload its JITed symbols. 2015-02-11 10:57:47 +01:00
Axel Naumann
8edeb7fbbe Whitespace. 2015-02-11 10:57:47 +01:00
Axel Naumann
bb966e8c8f First commit deserT, then T to resolve use.
Solves missing _ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii in roottest.
2015-02-11 10:57:47 +01:00
Axel Naumann
16fe3f49dc Replace use of ExecutionEngine by OrcJIT. 2015-02-11 10:57:47 +01:00
Axel Naumann
d9a804df73 OrcJIT emits only call dependencies. 2015-02-11 10:57:47 +01:00
Axel Naumann
45056891ad Link against OrcJIT. 2015-02-11 10:57:46 +01:00
Axel Naumann
7e2955f8de Remove unused "remap symbols". 2015-02-11 10:57:46 +01:00
Axel Naumann
8efd56133d Implement getMissingSymbolAddress(). Take ref to IncrementalExecutor.
Weak symbols can be generated after getSymbolAddress(). Instead them "error" part
now needs to go through getMissingSymbolAddress().
2015-02-11 10:57:46 +01:00
Axel Naumann
d742271424 Follow interface change. 2015-02-11 10:57:46 +01:00
Axel Naumann
c44e538008 Follow interface change. 2015-02-11 10:57:46 +01:00
Axel Naumann
276ff16454 No DeclCollector in interface; much more efficient OnlyLex path. 2015-02-11 10:57:46 +01:00
Axel Naumann
ae0290a4fb Follow change in warning; add new warning. 2015-02-11 10:57:46 +01:00
Axel Naumann
020f962990 Follow interface change (unique_ptr). 2015-02-11 10:57:44 +01:00
Axel Naumann
b59de8a40a Adapt to clang/llvm changes (mostly ownership). 2015-02-11 10:57:43 +01:00
Axel Naumann
9b94d72ac3 No more old JIT. 2015-02-11 10:57:43 +01:00
Axel Naumann
b61128b376 Remove BackendPass; MCJIT happily uses those from the target. 2015-02-11 10:57:42 +01:00
Axel Naumann
0dec67dfe7 Follow interface change. 2015-02-11 10:57:42 +01:00
Axel Naumann
6b3843b2ba Implement new DeclCollectorPPAdapter.
As emitter objects now own their callback objects, DeclCollector has two owners.
Fix that by using an explicit bridge callback for the Preprocessor that it can own.
2015-02-11 10:57:41 +01:00
Axel Naumann
e10151e9d3 CGModule now prevents re-emission of "llvm.ident". 2015-02-11 10:57:41 +01:00
Axel Naumann
2deb711ce1 Make test more readable. 2015-02-11 10:57:41 +01:00
Axel Naumann
9c2d9fb700 Simplify interface: no need for the llvm::Module. 2015-02-11 10:57:41 +01:00
Axel Naumann
14a75773d6 Use getAddressOfGlobal(): assume the CFunc symbol exists if emitted. 2015-02-11 10:57:40 +01:00