tst_qtconcurrentrun: fix UB (uninit'ed values)
While doubleFunction's body is empty, it takes its argument by value, which means copying. Copying an uninitialized double is a gray zone (if you follow the partially-formed paradigma, it's UB; though the std may allow it some types, most notably std::byte and uchar; probably not double, though). Converting an uninitialized int into double is most certainly UB. Fix by initializing both d and i. Found by GCC 11's -Wmaybe-uninitialized. Pick-to: 6.5 6.2 5.15 Change-Id: I103fb72bf4b8792a292346007f498dc6349e9c68 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
1cc1d39f3e
commit
b1b0f42c97
@ -666,10 +666,10 @@ void tst_QtConcurrentRun::implicitConvertibleTypes()
|
||||
{
|
||||
QThreadPool pool;
|
||||
|
||||
double d;
|
||||
double d = 0.0;
|
||||
run(doubleFunction, d).waitForFinished();
|
||||
run(&pool, doubleFunction, d).waitForFinished();
|
||||
int i;
|
||||
int i = 0;
|
||||
run(doubleFunction, d).waitForFinished();
|
||||
run(&pool, doubleFunction, d).waitForFinished();
|
||||
run(doubleFunction, i).waitForFinished();
|
||||
|
Loading…
Reference in New Issue
Block a user