Details
-
Bug
-
Resolution: Out of scope
-
P1: Critical
-
None
-
5.12
-
None
-
Linux, g++ 8.2.1
Description
qtdeclarative/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp: In member function ‘virtual void QSGBatchRenderer::Updater::updateStates(QSGNode*)’: qtdeclarative/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:303:67: error: result of ‘(32768 << 16)’ requires 33 bits to represent, but ‘int’ only has 32 bits [-Werror=shift-overflow=] if (uint(sn->dirtyState) & uint(QSGNode::DirtyForceUpdate << 16)) ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
-Wshift-overflow has a different behaviour wrt to the C++ standard used, which is the cause for this :
"-Wshift-overflow=2
This warning level also warns about left-shifting 1 into the sign bit, unless C++14 mode (or newer) is active. "