On Wednesday 25 November 2015 20:32:50 Thiago Macieira wrote: > On Wednesday 25 November 2015 18:27:11 Aleix Pol wrote: > > > Anyway, if this is a compiler bug, the conditions for triggering it may > > > not be evident. > > > > Does the fact that it's a compiler bug change the fact that it should > > be changed on the Qt side of things? > > > > If we have this compiler on the CI, Qt users will have it as well. > > No, it does not change the fact that we need to either work around or > remove the change that triggered it. Qt needs to compile with MSVC 2015. > > One way to do that is to disable noexcept for MSVC2015. Another is to > remove the use of <type_traits>.
We cannot remove the <type_traits> use, because we cannot replace it with the noexcept operator we used before, because that already failed. We cannot remove noexcept in general, because it's now part of the API. We can, however, remove it for just MSVC. > If the change is to remove noexcept, I'd like to know if Update 1 fixes the > issue. If it doesn't, it would be a good idea to dissect a testcase and > submit to Microsoft. It would be the fourth one for Update 1 that we found > just by compiling Qt with all the C++11 features enabled... Here's a test case for what I think might be the problem: https://codereview.qt-project.org/141999 The code which triggers this seems to come from a mismatch of QPair<T1,T2> vs. QPair<S1,S2> where either S1 != T1 or S2 != T2. The error also suggested that an rvalue is passed as the RHS. A fix in Qt would therefore be to avoid the T/S mismatch in qtengineio, leaving users with the same problem, or revoke NOEXCEPT for MSVC. A third option (you should always have three) is to bring out the template-foo to remove references, cv-qualifiers and arrays from the type before passing it to std::declval, similar to what we did before, but recognizing the QPair<int[2],int> problem and working around it. Thanks, Marc -- Marc Mutz <marc.m...@kdab.com> | Senior Software Engineer KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company Tel: +49-30-521325470 KDAB - The Qt Experts _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development