4 Commits

Author SHA1 Message Date
Axel Naumann
3ec1741cf9 Add cling::StoredValueRef: a ref-counted value with automatic storage management.
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
2012-10-05 12:09:51 +00:00
Axel Naumann
8ec0986618 Fix uninitialized exit (thanks, GCC).
Mark test for PCM / redecl of templates as XFAIL until fixed.
Update last known good to the one used in ROOT.


git-svn-id: http://root.cern.ch/svn/root/trunk@45890 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-07 06:56:06 +00:00
Axel Naumann
286910cee0 Reapply Vassil's r45838 which got lost during the move of cint/cling to interpreter/
git-svn-id: http://root.cern.ch/svn/root/trunk@45868 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 15:27:17 +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