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