VC9.0 warning messages?

Dear Windows experts,

On a Windows Server 2008 there is currently running the debug version of root_5.22.00.

When my program is compiled on this server the following warning messages appear:

TStat.cxx
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(346) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
        C:\Program Files\Microsoft Visual Studio 9.0\VC\include\algorithm(3192) : see reference to function template instantiation 'bool std::_Debug_lt_pred<_Pr,Index,Index>(_Pr,_Ty1 &,_Ty2 &,const wchar_t *,unsigned int)' being compiled
        with
        [
            _Pr=CompareDesc<const Double_t *>,
            Index=Long64_t,
            _Ty1=Long64_t,
            _Ty2=Long64_t
        ]
        C:\Program Files\Microsoft Visual Studio 9.0\VC\include\algorithm(3249) : see reference to function template instantiation 'std::pair<_Ty1,_Ty2> std::_Unguarded_partition<_RanIt,_Pr>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _Ty1=__int64 *,
            _Ty2=__int64 *,
            _RanIt=__int64 *,
            _Pr=CompareDesc<const Double_t *>
        ]
        C:\Program Files\Microsoft Visual Studio 9.0\VC\include\algorithm(3279) : see reference to function template instantiation 'void std::_Sort<__int64*,int,_Pr>(_RanIt,_RanIt,_Diff,_Pr)' being compiled
        with
        [
            _Pr=CompareDesc<const Double_t *>,
            _RanIt=__int64 *,
            _Diff=int
        ]
        C:/root/include\TMath.h(774) : see reference to function template instantiation 'void std::sort<Index*,CompareDesc<T>>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            Index=Long64_t,
            T=const Double_t *,
            _RanIt=Long64_t *,
            _Pr=CompareDesc<const Double_t *>
        ]
        C:/root/include\TMath.h(887) : see reference to function template instantiation 'void TMath::Sort<T,Long64_t>(Index,const Element *,Index *,Bool_t)' being compiled
        with
        [
            T=Double_t,
            Index=Long64_t,
            Element=Double_t
        ]
        TStat.cxx(761) : see reference to function template instantiation 'Double_t TMath::Median<Double_t>(Long64_t,const T *,const Double_t *,Long64_t *)' being compiled
        with
        [
            T=Double_t
        ]
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(346) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(348) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(348) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(346) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
        C:\Program Files\Microsoft Visual Studio 9.0\VC\include\algorithm(3192) : see reference to function template instantiation 'bool std::_Debug_lt_pred<_Pr,Index,Index>(_Pr,_Ty1 &,_Ty2 &,const wchar_t *,unsigned int)' being compiled
        with
        [
            _Pr=CompareAsc<const Double_t *>,
            Index=Long64_t,
            _Ty1=Long64_t,
            _Ty2=Long64_t
        ]
        C:\Program Files\Microsoft Visual Studio 9.0\VC\include\algorithm(3249) : see reference to function template instantiation 'std::pair<_Ty1,_Ty2> std::_Unguarded_partition<_RanIt,_Pr>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _Ty1=__int64 *,
            _Ty2=__int64 *,
            _RanIt=__int64 *,
            _Pr=CompareAsc<const Double_t *>
        ]
        C:\Program Files\Microsoft Visual Studio 9.0\VC\include\algorithm(3279) : see reference to function template instantiation 'void std::_Sort<__int64*,int,_Pr>(_RanIt,_RanIt,_Diff,_Pr)' being compiled
        with
        [
            _Pr=CompareAsc<const Double_t *>,
            _RanIt=__int64 *,
            _Diff=int


        ]
        C:/root/include\TMath.h(776) : see reference to function template instantiation 'void std::sort<Index*,CompareAsc<T>>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            Index=Long64_t,
            T=const Double_t *,
            _RanIt=Long64_t *,
            _Pr=CompareAsc<const Double_t *>
        ]
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(346) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(348) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility(348) : warning C4244: 'argument' : conversion from 'Long64_t' to 'int', possible loss of data
"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin/cl" /I"C:/root/include" /FIw32pragma.h /MDd /EHsc /Ox /D "MSVC" /D "WIN32" /c StatUtils.cxx
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

For the full output see: bioconductor.org/checkResults/2. … ldsrc.html

Do you have any ideas what these messages mean and where to look for?
I am attaching file TStat.cxx where these messages appear.

Thank you in advance.
Best regards
Christian
TStat.cxx (53.9 KB)

Hi Christian,

thanks for the report! The warning makes sense; it’s because of TMath. Lorenzo is looking into it.

Cheers, Axel.

Hello Christian,

thank you for reporting this. This should be fixed now in the svn trunk.
Best Regards

Lorenzo