|
From: Peter C. <pca...@gm...> - 2016-09-09 06:18:29
|
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 <iva...@gm...> 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" <pca...@gm...> 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 <lui...@gm...> wrote: >> >> Except it's not good if VC14 fails in the default configuration... >> >> >> On Thu, Sep 8, 2016 at 2:19 PM Peter Caspers <pca...@gm...> >> 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 <iva...@gm...> >>> 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" <pca...@gm...> 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 <iva...@gm...> >>>> wrote: >>>> >>>> Also works with /O2 /Ob0 (w/o inlines) >>>> >>>> >>>> >>> <testsuite.log> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> QuantLib-dev mailing list >>> Qua...@li... >>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev >> >> > |