QtConcurrent: Extend workaround GCC bug 58800 in median calculation
GNU/Linux distributions like Fedora update the __GLIBCXX__ date (e.g. because of applied extra patches on top) and thus make the current workaround useless. As long as no official gcc/libstdc++ version is released, we can increment the "upper bound" date to cover such cases. See also comment #1 at QTCREATORBUG-11129. Change-Id: I1fdf6f312664163f6a99a8eddf490646ff25a87d Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
parent
3a84d92f57
commit
08cbbde617
@ -104,8 +104,10 @@ public:
|
||||
dirty = false;
|
||||
|
||||
// This is a workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58800
|
||||
// Avoid using std::nth_element for stdlibc++ <= 4.7.3 || (>= 4.8.0 && <= 4.8.2)
|
||||
#if defined(__GLIBCXX__) && (__GLIBCXX__ <= 20130411 || (__GLIBCXX__ >= 20130322 && __GLIBCXX__ <= 20131016))
|
||||
// Avoid using std::nth_element for the affected stdlibc++ releases 4.7.3 and 4.8.2.
|
||||
// Note that the official __GLIBCXX__ value of the releases is not used since that
|
||||
// one might be patched on some GNU/Linux distributions.
|
||||
#if defined(__GLIBCXX__) && __GLIBCXX__ <= 20140107
|
||||
QVector<T> sorted = values;
|
||||
std::sort(sorted.begin(), sorted.end());
|
||||
currentMedian = sorted.at(bufferSize / 2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user