Skip to content

Commit 31a9c44

Browse files
committed
[ADT] Make is_scoped_enum_v SFINAE-able
...in old compilers where `std::underlying_type` is not SFINAE-friendly. Fixes buildbot failure https://lab.llvm.org/buildbot/#/builders/134/builds/17904 caused by llvm#138089
1 parent 001cc34 commit 31a9c44

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

llvm/include/llvm/ADT/STLForwardCompat.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ struct from_range_t {
7373
};
7474
inline constexpr from_range_t from_range{};
7575

76-
template <typename T, typename UnderlyingT = std::underlying_type_t<T>>
76+
template <typename T, typename UnderlyingT = typename std::enable_if_t<
77+
std::is_enum_v<T>, std::underlying_type<T>>::type>
7778
constexpr bool is_scoped_enum_v =
7879
std::is_enum_v<T> && !std::is_convertible_v<T, UnderlyingT>;
7980

0 commit comments

Comments
 (0)