Login  Register

Re: QuantLib-1.8 | vc14 | AdaptiveRungeKutta testsuite error

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

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