[clang] 9d0d404 - [clang] Use std::enable_if_t (NFC)
Kazu Hirata via cfe-commits
cfe-commits at lists.llvm.org
Sat Oct 1 17:25:08 PDT 2022
Author: Kazu Hirata
Date: 2022-10-01T17:24:54-07:00
New Revision: 9d0d4046c05f230183d31130425b5294b768200b
URL: https://github.com/llvm/llvm-project/commit/9d0d4046c05f230183d31130425b5294b768200b
DIFF: https://github.com/llvm/llvm-project/commit/9d0d4046c05f230183d31130425b5294b768200b.diff
LOG: [clang] Use std::enable_if_t (NFC)
Added:
Modified:
clang/include/clang/ASTMatchers/ASTMatchersInternal.h
clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
clang/include/clang/Basic/Diagnostic.h
clang/include/clang/Basic/PartialDiagnostic.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/Decl.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/ASTMatchers/ASTMatchersInternal.h b/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
index 5785a72559987..12bc593b785ae 100644
--- a/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
+++ b/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
@@ -1966,8 +1966,8 @@ template <typename Ty, typename Enable = void> struct GetBodyMatcher {
};
template <typename Ty>
-struct GetBodyMatcher<Ty, typename std::enable_if<
- std::is_base_of<FunctionDecl, Ty>::value>::type> {
+struct GetBodyMatcher<
+ Ty, std::enable_if_t<std::is_base_of<FunctionDecl, Ty>::value>> {
static const Stmt *get(const Ty &Node) {
return Node.doesThisDeclarationHaveABody() ? Node.getBody() : nullptr;
}
diff --git a/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h b/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
index e7533794de48b..f73ea7985d79e 100644
--- a/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
+++ b/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
@@ -71,7 +71,7 @@ class DataflowAnalysisContext {
///
/// `Loc` must not be null.
template <typename T>
- typename std::enable_if<std::is_base_of<StorageLocation, T>::value, T &>::type
+ std::enable_if_t<std::is_base_of<StorageLocation, T>::value, T &>
takeOwnership(std::unique_ptr<T> Loc) {
assert(Loc != nullptr);
Locs.push_back(std::move(Loc));
@@ -84,7 +84,7 @@ class DataflowAnalysisContext {
///
/// `Val` must not be null.
template <typename T>
- typename std::enable_if<std::is_base_of<Value, T>::value, T &>::type
+ std::enable_if_t<std::is_base_of<Value, T>::value, T &>
takeOwnership(std::unique_ptr<T> Val) {
assert(Val != nullptr);
Vals.push_back(std::move(Val));
diff --git a/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h b/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
index 541b9132ebf50..d093967e193a1 100644
--- a/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
+++ b/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
@@ -260,7 +260,7 @@ class Environment {
///
/// `Loc` must not be null.
template <typename T>
- typename std::enable_if<std::is_base_of<StorageLocation, T>::value, T &>::type
+ std::enable_if_t<std::is_base_of<StorageLocation, T>::value, T &>
takeOwnership(std::unique_ptr<T> Loc) {
return DACtx->takeOwnership(std::move(Loc));
}
@@ -272,7 +272,7 @@ class Environment {
///
/// `Val` must not be null.
template <typename T>
- typename std::enable_if<std::is_base_of<Value, T>::value, T &>::type
+ std::enable_if_t<std::is_base_of<Value, T>::value, T &>
takeOwnership(std::unique_ptr<T> Val) {
return DACtx->takeOwnership(std::move(Val));
}
diff --git a/clang/include/clang/Basic/Diagnostic.h b/clang/include/clang/Basic/Diagnostic.h
index 09857da61d326..120e3f578568d 100644
--- a/clang/include/clang/Basic/Diagnostic.h
+++ b/clang/include/clang/Basic/Diagnostic.h
@@ -1346,8 +1346,8 @@ class DiagnosticBuilder : public StreamingDiagnostic {
// It is necessary to limit this to rvalue reference to avoid calling this
// function with a bitfield lvalue argument since non-const reference to
// bitfield is not allowed.
- template <typename T, typename = typename std::enable_if<
- !std::is_lvalue_reference<T>::value>::type>
+ template <typename T,
+ typename = std::enable_if_t<!std::is_lvalue_reference<T>::value>>
const DiagnosticBuilder &operator<<(T &&V) const {
assert(isActive() && "Clients must not add to cleared diagnostic!");
const StreamingDiagnostic &DB = *this;
diff --git a/clang/include/clang/Basic/PartialDiagnostic.h b/clang/include/clang/Basic/PartialDiagnostic.h
index ddee6821e2e13..507d789c54ff9 100644
--- a/clang/include/clang/Basic/PartialDiagnostic.h
+++ b/clang/include/clang/Basic/PartialDiagnostic.h
@@ -64,8 +64,8 @@ class PartialDiagnostic : public StreamingDiagnostic {
// It is necessary to limit this to rvalue reference to avoid calling this
// function with a bitfield lvalue argument since non-const reference to
// bitfield is not allowed.
- template <typename T, typename = typename std::enable_if<
- !std::is_lvalue_reference<T>::value>::type>
+ template <typename T,
+ typename = std::enable_if_t<!std::is_lvalue_reference<T>::value>>
const PartialDiagnostic &operator<<(T &&V) const {
const StreamingDiagnostic &DB = *this;
DB << std::move(V);
diff --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h
index 52b554b9f8b10..2ae74896f6201 100644
--- a/clang/include/clang/Sema/Sema.h
+++ b/clang/include/clang/Sema/Sema.h
@@ -1719,8 +1719,8 @@ class Sema final {
// It is necessary to limit this to rvalue reference to avoid calling this
// function with a bitfield lvalue argument since non-const reference to
// bitfield is not allowed.
- template <typename T, typename = typename std::enable_if<
- !std::is_lvalue_reference<T>::value>::type>
+ template <typename T,
+ typename = std::enable_if_t<!std::is_lvalue_reference<T>::value>>
const ImmediateDiagBuilder &operator<<(T &&V) const {
const DiagnosticBuilder &BaseDiag = *this;
BaseDiag << std::move(V);
@@ -1793,8 +1793,8 @@ class Sema final {
// It is necessary to limit this to rvalue reference to avoid calling this
// function with a bitfield lvalue argument since non-const reference to
// bitfield is not allowed.
- template <typename T, typename = typename std::enable_if<
- !std::is_lvalue_reference<T>::value>::type>
+ template <typename T,
+ typename = std::enable_if_t<!std::is_lvalue_reference<T>::value>>
const SemaDiagnosticBuilder &operator<<(T &&V) const {
if (ImmediateDiag)
*ImmediateDiag << std::move(V);
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 4236c39401ef4..49ad2230e7ca0 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -187,8 +187,9 @@ static bool usesTypeVisibility(const NamedDecl *D) {
/// Does the given declaration have member specialization information,
/// and if so, is it an explicit specialization?
-template <class T> static typename
-std::enable_if<!std::is_base_of<RedeclarableTemplateDecl, T>::value, bool>::type
+template <class T>
+static std::enable_if_t<!std::is_base_of<RedeclarableTemplateDecl, T>::value,
+ bool>
isExplicitMemberSpecialization(const T *D) {
if (const MemberSpecializationInfo *member =
D->getMemberSpecializationInfo()) {
More information about the cfe-commits
mailing list