diff --git a/llvm/include/llvm/Support/YAMLTraits.h b/llvm/include/llvm/Support/YAMLTraits.h index bbc12a2fcbe7a..81e3e2e41e86d 100644 --- a/llvm/include/llvm/Support/YAMLTraits.h +++ b/llvm/include/llvm/Support/YAMLTraits.h @@ -442,15 +442,8 @@ template struct has_CustomMappingTraits { is_detected>::value; }; -// has_FlowTraits will cause an error with some compilers because -// it subclasses int. Using this wrapper only instantiates the -// real has_FlowTraits only if the template type is a class. -template > class has_FlowTraits { -public: - static constexpr bool value = false; -}; - -template struct has_FlowTraits { +// Test if flow is defined on type T. +template struct has_FlowTraits { template using check = decltype(&U::flow); static constexpr bool value = is_detected::value;