Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.2.0 Alpha
-
None
-
Mac OS X 10.8.5
Apple LLVM version 5.0 (clang-500.1.74) (based on LLVM 3.3svn)
or
clang version 3.4 (trunk) (llvm/trunk 191486)
-
qtdeclarative/stable: 3fbe74cb0b6f01ca930bf4f22f25b4976cbe1ac3
Description
QtDeclarative no longer builds with Clang in C++11 mode due to a recent change in qv4arrayobject.cpp: the new code is
ReturnedValue ArrayPrototype::method_isArray(SimpleCallContext *ctx)
{
bool isArray = ctx->argumentCount ? ctx->arguments[0].asArrayObject() : false;
return Encode(isArray);
}
Clang reports: jsruntime/qv4arrayobject.cpp:135:39: error: incompatible operand types ('QV4::ArrayObject *' and 'bool')
The Clang developers referred me to the C++11 standard, section 5.16, on the conditional operator. This section describes some technical requirements for the operands of the conditional operator.
Attachments
For Gerrit Dashboard: QTBUG-33706 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
66982,1 | V4: fix ArrayPrototype::method_isArray() build break | stable | qt/qtdeclarative | Status: MERGED | +2 | 0 |