Login  Register

Re: QuantLib-1.8 | vc14 | AdaptiveRungeKutta testsuite error

Posted by Peter Caspers-4 on Sep 09, 2016; 4:59am
URL: http://quantlib.414.s1.nabble.com/QuantLib-1-8-vc14-AdaptiveRungeKutta-testsuite-error-tp17619p17708.html

Hi,

in my project settings I have /Ob2 by default, in your compiler line
below (the one that fails) I don't see this flag at all. Did you
change any of the default project settings? Is there anybody else on
VC14 that can reproduce this problem? The only thing from boost that
is used in your standalone code seems to be boost::function, so I
doubt it has to do with the boost version (but who knows).

Regards
Peter

On 9 September 2016 at 08:10, Ivan A. Cherkasov
<[hidden email]> wrote:

> Hello.
> It failed. Please see the attached files.
>
> Supposedly some other function gets messed up by inline expansion and that
> was caught accidentally by the RK test case. Or compiler ignores the
> declspec.
>
> On Sep 8, 2016 4:44 PM, "Peter Caspers" <[hidden email]> wrote:
>>
>> Yes. Ivan, could you try to put
>>
>> __declspec(noinline)
>>
>>
>> before the rkqs and rkck and operator() functions and see if it works
>> then?
>>
>> On 08 Sep 2016, at 14:22, Luigi Ballabio <[hidden email]> wrote:
>>
>> Except it's not good if VC14 fails in the default configuration...
>>
>>
>> On Thu, Sep 8, 2016 at 2:19 PM Peter Caspers <[hidden email]>
>> wrote:
>>>
>>> Hi,
>>>
>>> I don’t see an issue with /Ob2 on VC12. This all looks like a bug in the
>>> VC14 - code optimization to me, nothing we can (or should) really fix in the
>>> code?
>>>
>>> Regards
>>> Peter
>>>
>>> On 08 Sep 2016, at 09:19, Ivan A. Cherkasov <[hidden email]>
>>> wrote:
>>>
>>> Hello.
>>>
>>> This failed for me (CL.command.1.tlog):
>>>
>>> ^C:\TMP\QL18_VC2015\REPRO_RK\REPRO_RK.CPP
>>> /c /IC:\BIN\BOOST_1_61_0 /I"C:\TMP\QL18_VC2015\QUANTLIB-1.8" /Zi /nologo
>>> /W3 /WX- /sdl /O2 /Oi /GL /D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm-
>>> /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline
>>> /Fo"X64\RELEASE\\" /Fd"X64\RELEASE\VC140.PDB" /Gd /TP
>>> C:\TMP\QL18_VC2015\REPRO_RK\REPRO_RK.CPP
>>>
>>> This worked for me:
>>>
>>> ^C:\TMP\QL18_VC2015\REPRO_RK\REPRO_RK.CPP
>>> /c /IC:\BIN\BOOST_1_61_0 /I"C:\TMP\QL18_VC2015\QUANTLIB-1.8" /Zi /nologo
>>> /W3 /WX- /sdl /O2 /Ob0 /Ot /D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm-
>>> /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline
>>> /Fo"X64\RELEASE\\" /Fd"X64\RELEASE\VC140.PDB" /Gd /TP
>>> C:\TMP\QL18_VC2015\REPRO_RK\REPRO_RK.CPP
>>>
>>> I’m using “Version 14.0.25422.01 Update 3”.
>>>
>>> I rebuilt from scratch using QuantLib-1.8.tar.gz and QuantLib_vc14.sln,
>>> the only thing I changed in the project settings is the C/C++ ->
>>> Optimization -> Inline Function Expansion = Disabled (/Ob0). It succeeded,
>>> test suite log attached.
>>>
>>> On Sep 7, 2016 10:00 PM, "Peter Caspers" <[hidden email]> wrote:
>>>>
>>>> Can you post the full compiler command line (you find that under C++ /
>>>> Command Line), I can not provoke the error no matter what optimization flags
>>>> I use
>>>>
>>>> /FR".\build\vc120\x64\Release\" /GS /W3 /Gy /Zc:wchar_t /I"..\.." /Zi
>>>> /Gm- /Ox /Ob2 /Fd".\build\vc120\x64\Release\" /fp:fast /D "NDEBUG" /D
>>>> "WIN32" /D "_CONSOLE" /D "_SCL_SECURE_NO_DEPRECATE" /D
>>>> "_CRT_SECURE_NO_DEPRECATE" /D "_MBCS" /fp:except /errorReport:prompt /GF
>>>> /WX- /Zc:forScope /GR /Gd /MD /Fa".\build\vc120\x64\Release\" /EHsc /nologo
>>>> /Fo".\build\vc120\x64\Release\" /Ot
>>>> /Fp".\build\vc120\x64\Release\BermudanSwaption.pch”
>>>>
>>>> On 07 Sep 2016, at 19:59, Ivan A. Cherkasov <[hidden email]>
>>>> wrote:
>>>>
>>>> Also works with /O2 /Ob0 (w/o inlines)
>>>>
>>>>
>>>>
>>> <testsuite.log>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> QuantLib-dev mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>
>>
>

------------------------------------------------------------------------------
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev