rsmith requested changes to this revision. rsmith added a comment. This revision now requires changes to proceed.
Seems like a nice approach to the problem, but we need to not break the libclang C ABI :) ================ Comment at: clang/include/clang-c/Index.h:202-204 + * The cursor has a declspec(nothrow) exception specification. + */ + CXCursor_ExceptionSpecificationKind_NoThrow, ---------------- This would renumber the later enumerators, resulting in an ABI break for our stable C ABI. ================ Comment at: clang/lib/Sema/SemaExprCXX.cpp:6067-6068 if (EST2 == EST_NoexceptTrue) return ESI1; + if (EST1 == EST_NoThrow) return ESI2; + if (EST2 == EST_NoThrow) return ESI1; ---------------- I think this should be checked earlier, in the spirit of allowing "real" syntax to be preferred to attributes. (Eg, given a declaration that's `__declspec(nothrow)` and one that's `noexcept`, we should keep the `noexcept` in the merged type.) Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62435/new/ https://reviews.llvm.org/D62435 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits