On Wednesday 27 March 2013 11:20:21 David Narvaez wrote: > On Wed, Mar 27, 2013 at 9:51 AM, Thiago Macieira > > <thiago.macie...@intel.com> wrote: > > 1) I don't want fixes to issues that don't make it to the release of that > > compiler. If you can find in the standard saying the new behaviour is > > correct, > > then fine. But otherwise, it might be a compiler bug that gets fixed > > before the > > release. We don't need the churn in our code. > > In this particular case, the situation was a semantic problem with our > code that GCC 4.8 would no longer allow, so it was clearly not a > compiler bug. In those situations, maybe we can agree to make sure the > patch goes to the release branch too.
I don't think the problem was in our code. I beleive GCC 4.8 Is wrong. The C++11 standard § 7.5.1 1 says: [ Note: An explicit specialization can differ from the template declaration with respect to the constexpr specifier. — end note ] Which I read that this explicitly allows code like this: template<typename T> constexpr int foo(T) { return 0; }; template<> int foo(int) { return 1; } So the bug should be reported to GCC if it still do not compile with the 4.8 release. (Note: this does not mean it was a bad idea to work around the bug) -- Olivier Woboq - Qt services and support - http://woboq.com - http://code.woboq.org _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development