aaron.ballman added a comment. In D122808#3425703 <https://reviews.llvm.org/D122808#3425703>, @antoniofrighetto wrote:
> Looks definitely better! How about this slightly changed version protecting > the interface? > > /// Helper which adds two underlying types of enumeration type. > template <typename EnumTy1, > typename EnumTy2, > typename UT1 = std::enable_if_t<std::is_enum_v<EnumTy1>, > std::underlying_type_t<EnumTy1>>, > typename UT2 = std::enable_if_t<std::is_enum_v<EnumTy2>, > std::underlying_type_t<EnumTy2>>> > constexpr auto addEnumValues(EnumTy1 LHS, EnumTy2 RHS) { > return static_cast<UT1>(LHS) + static_cast<UT2>(RHS); > } > > I feel like this is something we may wish to readopt in the future for other > similar cases as well (e.g., `-Wdeprecated-anon-enum-enum-conversion` in > `Comment.h`). I think that's a great interface for it! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122808/new/ https://reviews.llvm.org/D122808 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits