Commit Graph

31 Commits

Author SHA1 Message Date
Vassil Vassilev
a255ebf4de Clarify ownership.
git-svn-id: http://root.cern.ch/svn/root/trunk@46316 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-04 15:44:50 +00:00
Vassil Vassilev
238b375d09 Don't enable/disable incremental processing every time we parse. Just set it once and forever.
git-svn-id: http://root.cern.ch/svn/root/trunk@46315 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-04 13:09:52 +00:00
Axel Naumann
0717f653ff One more const-correctness fix
git-svn-id: http://root.cern.ch/svn/root/trunk@46307 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-04 06:53:23 +00:00
Axel Naumann
f3758f5f2a Improve const-correctness in casts.
git-svn-id: http://root.cern.ch/svn/root/trunk@46294 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-03 15:23:04 +00:00
Vassil Vassilev
32f4bd161b Add non-const getter.
git-svn-id: http://root.cern.ch/svn/root/trunk@46288 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-03 12:57:09 +00:00
Vassil Vassilev
a41c19237c * Remove the craftwork from dealing with setting callbacks.
* Simplify the impelentation of DynIDHandler.
* Create a shortcut for getting the semantic analysis object.


git-svn-id: http://root.cern.ch/svn/root/trunk@46287 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-03 12:40:41 +00:00
Axel Naumann
9c865d8553 Update llvm / clang to r165095.
Update cling to follow interface changes; make note of it in cling/LastKnownGoodLLVMSVNRevision.txt.

Remove all (!) patches from ROOT's version of clang; they are all integrated into clang mainline.
ROOT now starts up with modules without errors; doing almost anything hits
root.exe: /home/axel/build/root/llvmvendor/roottrunk/interpreter/llvm/inst/include/clang/AST/RecordLayout.h:199: clang::CharUnits clang::ASTRecordLayout::getBaseClassOffset(const clang::CXXRecordDecl*) const: Assertion `CXXInfo->BaseOffsets.count(Base) && "Did not find base!"' failed.
or a "corrupt" vtable due to base class definitions being replaced by later PCMs; to be worked-around soon.


git-svn-id: http://root.cern.ch/svn/root/trunk@46280 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-03 09:45:56 +00:00
Vassil Vassilev
397efb6340 Include the transaction where needed (caused by the forward declares in prev commit.)
git-svn-id: http://root.cern.ch/svn/root/trunk@46265 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-02 10:34:22 +00:00
Vassil Vassilev
e087402f78 * Implement interpreter callbacks, which the Interpreter owns.
* Implement new callback functions - on transaction committed and transaction unloaded.
* Publish the Transaction class so that it can be visible by TCintWithCling.
* Publish the CompilationOptions needed by Transaction.
* Fix the references of Transaction and CompilationOptions.
* Forward declare where possible.
* Add missing keywords.
* Improve include style.


git-svn-id: http://root.cern.ch/svn/root/trunk@46264 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-02 10:30:25 +00:00
Vassil Vassilev
3a2e68400b PrintingPolicy is struct not a class.
git-svn-id: http://root.cern.ch/svn/root/trunk@46261 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-01 14:22:41 +00:00
Vassil Vassilev
68b6851405 Add pretty printing routines, making the class gdb-friendly.
git-svn-id: http://root.cern.ch/svn/root/trunk@46258 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-01 11:47:27 +00:00
Axel Naumann
9e01fa3de8 Clarify fall-through
git-svn-id: http://root.cern.ch/svn/root/trunk@46240 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-28 06:48:09 +00:00
Vassil Vassilev
f39c6f4642 To r46217
git-svn-id: http://root.cern.ch/svn/root/trunk@46218 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-27 11:43:33 +00:00
Vassil Vassilev
e899b1cf93 Remove the patch causing llvm test suite to fail. If we need it - it is in the
svn history anyway.


git-svn-id: http://root.cern.ch/svn/root/trunk@46216 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-27 11:39:14 +00:00
Vassil Vassilev
9cc45252ae Use more meaningful names - irrelevant for the users, priceless for developers.
git-svn-id: http://root.cern.ch/svn/root/trunk@46210 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-27 08:51:01 +00:00
Vassil Vassilev
fac0637329 Remove unused class.
git-svn-id: http://root.cern.ch/svn/root/trunk@46199 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-26 13:30:53 +00:00
Vassil Vassilev
d057925245 Improve documentation.
git-svn-id: http://root.cern.ch/svn/root/trunk@46198 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-26 13:27:48 +00:00
Axel Naumann
afd46ea54a Rename getMangledName() into mangleName().
git-svn-id: http://root.cern.ch/svn/root/trunk@46147 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 15:20:19 +00:00
Axel Naumann
fe430cd40d Add tests for Interpreter::getAddressOfGlobal().
Fix it for the JIT case.


git-svn-id: http://root.cern.ch/svn/root/trunk@46146 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 15:16:36 +00:00
Axel Naumann
a23e654580 Also suppress warning about unused comparisons.
git-svn-id: http://root.cern.ch/svn/root/trunk@46142 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 13:53:23 +00:00
Axel Naumann
a6c25495ce Spelling
git-svn-id: http://root.cern.ch/svn/root/trunk@46141 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 13:52:52 +00:00
Axel Naumann
adcf034af3 Enable Modules by default for cling.
git-svn-id: http://root.cern.ch/svn/root/trunk@46140 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 13:52:26 +00:00
Axel Naumann
621c0173c2 Cache MangleContext as a private member of the interpreter, so we don't have to re-create it all the time.
Implement JITed version of ExecutionContext::getAddressOfGlobal(), which now also needs a Module.


git-svn-id: http://root.cern.ch/svn/root/trunk@46139 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 12:11:46 +00:00
Axel Naumann
6323e0e50c Implement Interpreter::getAddressOfGlobal(const clang::NamedDecl*) (test comes "in a minute")
Factor out mangling into Interpreter::getMangledName().
Spelling.


git-svn-id: http://root.cern.ch/svn/root/trunk@46136 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 09:57:43 +00:00
Vassil Vassilev
c38e4407ef Use better names for the internal functions so that they are more visible while
debugging.


git-svn-id: http://root.cern.ch/svn/root/trunk@46024 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-18 15:14:58 +00:00
Vassil Vassilev
5bc1387d38 Remove old lookup functions from the Interpreter. Now we have dedicated object
for string-based lookup (LookupObject) and cling::utils::Lookup class for quick
simple lookups.

This checkin slows down the testsuite because there is no LookupHelper::findVarDecl
and we have to #include a lot of headers at runtime.


git-svn-id: http://root.cern.ch/svn/root/trunk@46022 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-18 15:05:53 +00:00
Vassil Vassilev
7c08e8c678 Get rid of interpreter pointer in one of the transformers.
git-svn-id: http://root.cern.ch/svn/root/trunk@46017 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-18 13:13:22 +00:00
Vassil Vassilev
f2d691971f Get rid of interpreter pointer in one of the transformers. More to follow.
git-svn-id: http://root.cern.ch/svn/root/trunk@46016 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-18 12:46:30 +00:00
Vassil Vassilev
48cd1f6b57 With r164028 in LLVM we can remove the helper class.
git-svn-id: http://root.cern.ch/svn/root/trunk@46012 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-18 11:45:00 +00:00
Axel Naumann
268a844e25 Re-apply r45839; got lost during move of cling
git-svn-id: http://root.cern.ch/svn/root/trunk@45870 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 15:35:00 +00:00
Axel Naumann
05ba8a3a07 Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.)
git-svn-id: http://root.cern.ch/svn/root/trunk@45844 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 09:37:39 +00:00