https://bugs.kde.org/show_bug.cgi?id=438249

--- Comment #15 from Igor Kushnir <igor...@gmail.com> ---
> Assertion `!isValueDependent() && "Expression evaluator can't be called on a 
> dependent expression."' failed.
Thanks for checking this so quickly!
This must really be an upstream libclang bug because
clang_getFieldDeclBitWidth() has no preconditions. From
https://clang.llvm.org/doxygen/group__CINDEX__TYPES.html#ga80bbb872dde5b2f26964081338108f91:
> CINDEX_LINKAGE int clang_getFieldDeclBitWidth(CXCursor C)     
> Retrieve the bit width of a bit field declaration as an integer.
> If a cursor that is not a bit field declaration is passed in, -1 is returned.
In order to report the libclang bug, we need to figure out which data member of
which class causes it first. Can someone try inserting the line `qCritical() <<
"setDeclData" << decl->toString() << decl->comment();` just above the crashing
`decl->setBitWidth` line in KDevelop's builder.cpp, reproduce the crash and
hopefully determine a minimum reproducible example based on the last
"setDeclData" line printed before the crash?

Note that `decl->toString()` returns the type and the name of the data member
and `decl->comment()` returns the data member's associated documentation. Also
note that KDevelop parses data members of a class in order, so the lines
immediately preceding the last one before the crash could help identify the
class and the data member that causes the crash.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to