older Mac's need to run ranlib in the .a.


git-svn-id: https://root.cern.ch/svn/root/trunk@48863 27541ba8-7e3a-0410-8455-c3a389f83636
From Alja: fix bug in calculation of weight for color interpolation.


git-svn-id: https://root.cern.ch/svn/root/trunk@48874 27541ba8-7e3a-0410-8455-c3a389f83636
support for p3.3


git-svn-id: https://root.cern.ch/svn/root/trunk@48877 27541ba8-7e3a-0410-8455-c3a389f83636
allow checking MethodProxy type from TPython;
  for: http://root.cern.ch/phpBB3/viewtopic.php?f=14&t=15805


git-svn-id: https://root.cern.ch/svn/root/trunk@48879 27541ba8-7e3a-0410-8455-c3a389f83636
remove unnecessary declarations and includes


git-svn-id: https://root.cern.ch/svn/root/trunk@48880 27541ba8-7e3a-0410-8455-c3a389f83636
let the cleanup begin ...


git-svn-id: https://root.cern.ch/svn/root/trunk@48881 27541ba8-7e3a-0410-8455-c3a389f83636
svn mv to get proper 'T' filenames


git-svn-id: https://root.cern.ch/svn/root/trunk@48882 27541ba8-7e3a-0410-8455-c3a389f83636
svn mv all filenames of 'T' classes for consistency


git-svn-id: https://root.cern.ch/svn/root/trunk@48883 27541ba8-7e3a-0410-8455-c3a389f83636
From Florian and Pere:
small changes to the CMake files to run the tests from the build directory.


git-svn-id: https://root.cern.ch/svn/root/trunk@48885 27541ba8-7e3a-0410-8455-c3a389f83636
Fixes for compiling with C++11 and libcxx on OSX.


git-svn-id: https://root.cern.ch/svn/root/trunk@48886 27541ba8-7e3a-0410-8455-c3a389f83636
From Maarten:
a bit more elegant code.


git-svn-id: https://root.cern.ch/svn/root/trunk@48887 27541ba8-7e3a-0410-8455-c3a389f83636
turn on C++11 mode for cling when compiling with C++11 option.


git-svn-id: https://root.cern.ch/svn/root/trunk@48888 27541ba8-7e3a-0410-8455-c3a389f83636
Month "Dec" was truncated. Fixes issue #100892.


git-svn-id: https://root.cern.ch/svn/root/trunk@48890 27541ba8-7e3a-0410-8455-c3a389f83636
*Lay the foundation of return by-value support.

  Some functions return temporary objects. Eg:

  std::string getName() {
    return "ROOT";
  }

  In that case the lifetime of the temporary variable is defined by the caller. 
  Such function called by TClingCallFunc would cause undefined behaviour, because
  there is no actual caller and the compiler cannot define any lifetime. 

  In order to provide such concept we have implemented cling::StoredValueRef, which
  is a reference counted cling::Value. As long as somebody "has" a copy of it, the
  boxed value (and the occupied memory) will live.

  However cling::Value and cling::StoredValueRef expose LLVM/clang/cling internals
  to ROOT. We want to avoid for now exposing LLVM/clang/cling internals, so we have
  TInterpreterValue, which makes cling::StoredValueRef opaque.

*New interface taking TInterpreterValue is added to the TInterpreter to allow the
users to manage the lifetime of the returned temporaries.

*Replace the occurrances of cling::Value with cling::StoredValueRef to avoid 
any lifetime management issues.

*Minor optimizations of the existing implementation

*Tweaks to the build system so that TInterpreterValue.cxx could 
#include cling/Interpreter/StoredValueRef.h

PLEASE NOTE: This is not the final implementation it needs polishing. Eg. there
is a bug that should be fixed soon, which doesn't allow to get the actual result
out of the TInterpreterValue.


git-svn-id: https://root.cern.ch/svn/root/trunk@48895 27541ba8-7e3a-0410-8455-c3a389f83636
SVN keywords


git-svn-id: https://root.cern.ch/svn/root/trunk@48896 27541ba8-7e3a-0410-8455-c3a389f83636
Don't return a reference to a temporary.

Silences a compiler warning and makes the "PEASE NOTE" in my previous commit
message invalid.


git-svn-id: https://root.cern.ch/svn/root/trunk@48897 27541ba8-7e3a-0410-8455-c3a389f83636
We should not care if the cling::StoredValueRef needsManagedAllocation().
needsManagedAllocation() means that the size of the boxed value exceeds the 
StoredValue's size and we have to place it on the heap and on deletion we have to
free the memory.

In that particular case we don't care which is the internal memory management case
of that StoredValueRef we care only its reference counter to be increased by 1.


git-svn-id: https://root.cern.ch/svn/root/trunk@48898 27541ba8-7e3a-0410-8455-c3a389f83636
Add interface for registration of temporaries. Thorough explanation of the 
semantics of those temporaries still to come - right after the commercials...


git-svn-id: https://root.cern.ch/svn/root/trunk@48899 27541ba8-7e3a-0410-8455-c3a389f83636
Register the temporaries in the list of temporaries.

TInterpreter::ExecInt could execute a function that returns a temporary (as
explained in one of my previous commit logs.). Eg.
std::string GetName() { return "AAA"; }

If that function was executed through ExecInt interface it would return a pointer
to an object with an undefined lifetime. In order to deal with that we have 
implemented a ref counted cling::StoredValueRef and a bridge to ROOT - TInterpreterValue.

Now we just need to stored in TCling's list of temporaries so that the ref counter
is increased by 1 and thus the object will be kept alive. 

PLEASE NOTE1: There is new interface TInterpreter::Exec that takes a 
TInterpreterValue object, which the user can use to define his/hers own lifetime
semantics. 
PLEASE NOTE2: TInterpreter::ExecInt temporary refcounting is implemented just 
for backward compatibility. Please use TInterpreter::Exec as stated above.
The main reason is that the variables are recorded in a list of variables, which
could be erased by anybody anytime, resulting in breaking everybody else's 
custom lifetime handling semantics.


git-svn-id: https://root.cern.ch/svn/root/trunk@48900 27541ba8-7e3a-0410-8455-c3a389f83636
I should edit the file at its actual possition and not the one copied in $ROOTSYS/include.


git-svn-id: https://root.cern.ch/svn/root/trunk@48901 27541ba8-7e3a-0410-8455-c3a389f83636