Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2:PowerPC
libqt5-qtdoc
workaround-qdoc-failure.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File workaround-qdoc-failure.patch of Package libqt5-qtdoc
From: Michal Srb <msrb@suse.com> Subject: Assertion failure in libclang on i586 (when building qtdoc) References: boo#1092425 I have found that the issue is caused by `qfloat::operator float()` in qtbase/src/corelib/global/qfloat16.h. For some reason the declaration is omitted when building the documentation using `#ifndef Q_QDOC`, but its definition is there unconditionally. Omitting the definition prevents the qdoc failure. See the attached patch. I don't know yet why it behaves differently on x86 and x86_64, perhaps it has something to do with the body of the method, which is different depending on the architecture. Also, even with broken code, it should not crash with assertion failure. So there must be something broken in either libclang or qdoc, but I did not yet find what. Perhaps we could use this patch for the time being. Index: qt-everywhere-src-5.12.1/qtbase/src/corelib/global/qfloat16.h =================================================================== --- qt-everywhere-src-5.12.1.orig/qtbase/src/corelib/global/qfloat16.h +++ qt-everywhere-src-5.12.1/qtbase/src/corelib/global/qfloat16.h @@ -145,6 +145,7 @@ inline qfloat16::qfloat16(float f) Q_DEC } QT_WARNING_POP +#ifndef Q_QDOC inline qfloat16::operator float() const Q_DECL_NOTHROW { #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__F16C__) @@ -171,6 +172,7 @@ inline qfloat16 operator-(qfloat16 a) Q_ f.b16 = a.b16 ^ quint16(0x8000); return f; } +#endif inline qfloat16 operator+(qfloat16 a, qfloat16 b) Q_DECL_NOTHROW { return qfloat16(static_cast<float>(a) + static_cast<float>(b)); } inline qfloat16 operator-(qfloat16 a, qfloat16 b) Q_DECL_NOTHROW { return qfloat16(static_cast<float>(a) - static_cast<float>(b)); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor