[libclang] No longer attempt to get a dependent bit-width
Handle template parameter-dependent bit field widths in libclang In a class template, a bit field's width may depend on a template parameter. In this case the width expression cannot be evaluated. Previously clang_getFieldDeclBitWidth() would assert, or cause memory unsafety and return an invalid result if assertions are disabled. This adds a check for this case which returns an error code. This work was largely taken from an earlier patch which was reverted due to an accidental API duplication (https://reviews.llvm.org/D130303). Fixes: https://github.com/llvm/llvm-project/issues/56644 Co-authored-by:Aaron Ballman <aaron@aaronballman.com> Differential Revision: https://reviews.llvm.org/D146039
Loading
Please sign in to comment