clang 22.0.0git
|
#include "clang/Sema/SemaConcept.h"
#include "TreeTransform.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTLambda.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/ExprConcepts.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/Basic/OperatorPrecedence.h"
#include "clang/Sema/EnterExpressionEvaluationContext.h"
#include "clang/Sema/Initialization.h"
#include "clang/Sema/Overload.h"
#include "clang/Sema/ScopeInfo.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaInternal.h"
#include "clang/Sema/Template.h"
#include "clang/Sema/TemplateDeduction.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/SaveAndRestore.h"
Go to the source code of this file.
|
static |
Definition at line 203 of file SemaConcept.cpp.
References clang::Decl::getLexicalDeclContext(), clang::MultiLevelTemplateArgumentList::getNumLevels(), and clang::Sema::getTemplateInstantiationArgs().
Referenced by clang::Sema::FriendConstraintsDependOnEnclosingTemplate(), and clang::Sema::IsAtLeastAsConstrained().
|
static |
Definition at line 1085 of file SemaConcept.cpp.
References clang::Sema::ArgPackSubstIndex, clang::C, clang::ConceptIdConstraint::Create(), clang::ActionResult< PtrTy, Compress >::get(), clang::Sema::getASTContext(), clang::SourceRange::getBegin(), clang::MultiLevelTemplateArgumentList::getInnermost(), clang::Sema::getNormalizedAssociatedConstraints(), clang::MultiLevelTemplateArgumentList::getNumLevels(), clang::MultiLevelTemplateArgumentList::isAnyArgInstantiationDependent(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::ConstraintSatisfaction::IsSatisfied, clang::ActionResult< PtrTy, Compress >::isUsable(), and clang::Template.
|
static |
Definition at line 1603 of file SemaConcept.cpp.
References clang::Sema::CheckConstraintSatisfaction(), clang::Sema::getTemplateInstantiationArgs(), clang::ConstraintSatisfaction::IsSatisfied, and clang::Template.
|
static |
Definition at line 1772 of file SemaConcept.cpp.
References clang::Concept, clang::SemaBase::Diag(), clang::First, and int.
Referenced by diagnoseUnsatisfiedConstraintExpr().
|
static |
Definition at line 1793 of file SemaConcept.cpp.
References diagnoseUnsatisfiedConstraintExpr(), clang::First, and clang::isa().
Referenced by clang::Sema::BuildStaticAssertDeclaration(), and diagnoseUnsatisfiedRequirement().
|
static |
Definition at line 1911 of file SemaConcept.cpp.
References clang::cast(), clang::Concept, clang::SemaBase::Diag(), Diag(), diagnoseUnsatisfiedConceptIdExpr(), diagnoseWellFormedUnsatisfiedConstraintExpr(), clang::First, clang::concepts::NestedRequirement::getInvalidConstraintEntity(), int, and clang::SourceLocation::isInvalid().
Referenced by DiagnoseUnsatisfiedConstraint().
|
static |
Definition at line 1692 of file SemaConcept.cpp.
References clang::SemaBase::Diag(), clang::Sema::DiagnoseUnsatisfiedConstraint(), clang::First, clang::concepts::ExprRequirement::getExpr(), clang::concepts::ExprRequirement::getExprSubstitutionDiagnostic(), clang::concepts::ExprRequirement::getNoexceptLoc(), clang::concepts::ExprRequirement::getReturnTypeRequirement(), clang::concepts::ExprRequirement::getReturnTypeRequirementSubstitutedConstraintExpr(), clang::concepts::ExprRequirement::getSatisfactionStatus(), clang::concepts::ExprRequirement::ReturnTypeRequirement::getSubstitutionDiagnostic(), int, clang::concepts::Requirement::isSatisfied(), clang::concepts::ExprRequirement::SS_ConstraintsNotSatisfied, clang::concepts::ExprRequirement::SS_Dependent, clang::concepts::ExprRequirement::SS_ExprSubstitutionFailure, clang::concepts::ExprRequirement::SS_NoexceptNotMet, clang::concepts::ExprRequirement::SS_Satisfied, and clang::concepts::ExprRequirement::SS_TypeRequirementSubstitutionFailure.
Referenced by diagnoseWellFormedUnsatisfiedConstraintExpr().
|
static |
Definition at line 1803 of file SemaConcept.cpp.
References DiagnoseUnsatisfiedConstraint(), clang::First, clang::concepts::NestedRequirement::getConstraintExpr(), clang::concepts::NestedRequirement::getConstraintSatisfaction(), clang::Expr::getExprLoc(), clang::concepts::NestedRequirement::hasInvalidConstraint(), and clang::ASTConstraintSatisfaction::records().
|
static |
Definition at line 1745 of file SemaConcept.cpp.
References clang::SemaBase::Diag(), clang::First, clang::concepts::TypeRequirement::getSatisfactionStatus(), clang::concepts::TypeRequirement::getSubstitutionDiagnostic(), int, clang::concepts::Requirement::isSatisfied(), clang::concepts::TypeRequirement::SS_Dependent, and clang::concepts::TypeRequirement::SS_SubstitutionFailure.
|
static |
Definition at line 1813 of file SemaConcept.cpp.
References clang::cast(), clang::Sema::Context, clang::Expr::EvalStatus::Diag, clang::SemaBase::Diag(), clang::Sema::DiagnoseTypeTraitDetails(), clang::Sema::DiagnoseUnsatisfiedConstraint(), diagnoseUnsatisfiedRequirement(), diagnoseWellFormedUnsatisfiedConstraintExpr(), clang::First, clang::SourceRange::getBegin(), clang::Stmt::getBeginLoc(), clang::APValue::getInt(), clang::BinaryOperator::getOpcodeStr(), clang::Stmt::getSourceRange(), clang::Expr::IgnoreParenImpCasts(), int, clang::Expr::SE_NoSideEffects, clang::T, toString(), and clang::Expr::EvalResult::Val.
Referenced by diagnoseUnsatisfiedConstraintExpr(), and diagnoseWellFormedUnsatisfiedConstraintExpr().
|
static |
Definition at line 181 of file SemaConcept.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::ASTContext::getCanonicalTemplateArgument(), clang::Expr::getExprLoc(), clang::Stmt::getSourceRange(), clang::Stmt::Profile(), clang::TemplateArgument::Profile(), clang::Sema::SatisfactionStackContains(), and clang::TemplateArg.
|
static |
Definition at line 1221 of file SemaConcept.cpp.
References clang::ASTTemplateArgumentListInfo::arguments(), clang::Concept, clang::ConceptDecl::getCanonicalDecl(), clang::ConceptSpecializationExpr::getNamedConcept(), clang::ConceptSpecializationExpr::getTemplateArgsAsWritten(), clang::ConceptSpecializationExpr::getTemplateArguments(), clang::Sema::getTemplateInstantiationArgs(), and clang::Sema::SubstConceptTemplateArguments().
Referenced by clang::Sema::CheckConstraintSatisfaction().
|
static |
Definition at line 1432 of file SemaConcept.cpp.
References clang::cast(), clang::ActionResult< PtrTy, Compress >::get(), clang::Decl::getAsFunction(), clang::Sema::TemplateCompareNewDeclInfo::getDecl(), clang::Sema::TemplateCompareNewDeclInfo::getDeclContext(), clang::FunctionDecl::getDescribedFunctionTemplate(), clang::Decl::getFriendObjectKind(), clang::Sema::TemplateCompareNewDeclInfo::getLexicalDeclContext(), clang::Sema::TemplateCompareNewDeclInfo::getLocation(), clang::MultiLevelTemplateArgumentList::getNumSubstitutedLevels(), clang::Sema::getTemplateInstantiationArgs(), clang::Sema::SFINAETrap::hasErrorOccurred(), clang::Decl::isFunctionOrFunctionTemplate(), clang::Sema::InstantiatingTemplate::isInvalid(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::FunctionDecl::parameters(), clang::Sema::ReuseLambdaContextDecl, clang::Sema::SubstConstraintExprWithoutSatisfaction(), clang::Template, and clang::Sema::Unevaluated.
Referenced by clang::Sema::AreConstraintExpressionsEqual().