IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
* Avoid alloc/dealloc of the entire body of the function (the CompoundStmt) by
using ugly iterator + offset tricks.
git-svn-id: http://root.cern.ch/svn/root/trunk@46553 27541ba8-7e3a-0410-8455-c3a389f83636
seconds, but I don't like where EvaluateInternal is going.
At first place it shouldn't do any smart guessing what the transformers would do.
Second it shouldn't try to attach expression evaluation (storing the result in
cling::Value) while preparing for value printing.
To sum up:
* Simplify the old craft in EvaluateInternal
- Move the value printing logic into the value printer transformer.
- Move the expression evaluation login (mainly coming through the
Interpreter::evaluate interface) into separate transformer.
* Attach the new transformer to the list of transformers (the size of it was
increased as well.)
* Add new compilation option switch that the new transformer will react on.
* Turn on the switch where necessary.
* Simplify value printer logic. Now everything is at one place, which makes it
simpler and easier to debug.
* Make IncrementalParser::Parse to take compilation options' reference instead of
constructing it's own.
* As consequence of the new implementation - two bugs in the testsuite were
uncovered. Propose a fix for them.
* Improve documentation.
* TODO: There is some code duplication, which will be factored out soon.
git-svn-id: http://root.cern.ch/svn/root/trunk@46549 27541ba8-7e3a-0410-8455-c3a389f83636
lookups that are expected (by the compiler) to fail and those which should not fail.
I was misled (wasn't thinking at all: Thanks Axel for questioning the checkin)
because I thought we cannot distinguish those two different cases in the test
callback.
Silly mistake:
Revert the changes in the testsuite.
Revert the default setup of the test callback in enableDynamicLookup
The problem is solved by extracting out the function which determines whether
a lookup is not expected to fail. (It still needs better place.)
git-svn-id: http://root.cern.ch/svn/root/trunk@46438 27541ba8-7e3a-0410-8455-c3a389f83636
it looks for typeinfo of the InterpreterCallbacks (compiled with fno-rtti).
*Move the SymbolResolverCallback into InterpreterCallbacks.(h,cpp). Ideally it is
used only in the testsuite so we could hack in the build system to build the
SymbolResolverCallback with fno-rtti and include just the header file but that's
for later.
*Set the symbol resolver callback in enableDynamicLookup for now.
*Clear up the logic behind InterpreterExternalSemaSource and InterpreterCallbacks.
*Now the DynamicIDHandler derives from InterpreterExternalSemaSource.
*Adapt the testsuite to the change.
*Request the InterpreterCallback constructor to be put in the binary.
git-svn-id: http://root.cern.ch/svn/root/trunk@46435 27541ba8-7e3a-0410-8455-c3a389f83636
to be a single object.
ASTReader (aka PCM reader) attaches itself as an ExternalSemaSource.
When cling attaches a callback class and the ASTReader attaches itself they step
on one another's feet.
The patch implements in clang the notion of multiplex ExternalSemaSources and
adapts cling to make use of it. It will be soon proposed to end up in clang
mainline.
git-svn-id: http://root.cern.ch/svn/root/trunk@46397 27541ba8-7e3a-0410-8455-c3a389f83636
Update Interpreter to use that instead of cling::Value.
This fixes an issue where the called neded to guess the return type of the wrapper function, such that for instance Interpreter::Evaluate() has storage for the wrapper's aggregate SRet return value if needed.
Instead, the Interpreter now allocates the proper storage for return values, and hands out references to it.
StoredValueRef is tiny (8bytes on 64bit Linux); default allocation is cheap.
Update TCintWithCling and friends; don't pass the returnValue in if the caller does not need it.
TClingCallFunc: provide storage for fArgs.
git-svn-id: http://root.cern.ch/svn/root/trunk@46334 27541ba8-7e3a-0410-8455-c3a389f83636
* 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
* 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
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
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