CtorInitializer::getBaseClass(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), GetKeyForBase(), GetKeyForMember(), clang::CXXMethodDecl::getParent(), clang::FieldDecl::getParent(), clang::CXXCtorInitializer::getSourceLocation(), clang::CXXCtorInitializer::getSourceRange(), clang::TypeSourceInfo::getType(), clang::CXXCtorInitializer::getTypeSourceInfo(), clang::RecordDecl::isAnonymousStructOrUnion(), clang::CXXCtorInitializer::isAnyMemberInitializer(), clang::DeclContext::isDependentContext(), clang::DiagnosticsEngine::isIgnored(), clang::TagDecl::isUnion(), Parent, PopulateKeysForFields(), and clang::CXXRecordDecl::vbases().
Diagnose an implicit copy operation for a class which is odr-used, but which is deprecated because the class has a user-declared copy constructor, copy assignment operator, or destructor.
Definition at line 11930 of file SemaDeclCXX.cpp.
References clang::Sema::Diag(), clang::Sema::getLangOpts(), clang::Decl::getLocation(), clang::CXXMethodDecl::getParent(), and clang::Decl::isImplicit().
Referenced by clang::Sema::DefineImplicitCopyAssignment(), and clang::Sema::DefineImplicitCopyConstructor().
Diagnose a mismatch in 'inline' qualifiers when a namespace is reopened.
Definition at line 8840 of file SemaDeclCXX.cpp.
References clang::FixItHint::CreateInsertion(), clang::DeclContext::decls(), clang::Sema::Diag(), clang::Decl::getLocation(), clang::NamedDecl::getMostRecentDecl(), clang::IdentifierInfo::getName(), clang::DeclContext::getParent(), clang::Decl::getPreviousDecl(), clang::Sema::getSourceManager(), clang::NamespaceDecl::isInline(), clang::SourceManager::isInSystemHeader(), and clang::DeclContext::makeDeclVisibleInContext().
Definition at line 8457 of file SemaDeclCXX.cpp.
Definition at line 8465 of file SemaDeclCXX.cpp.
Find the direct and/or virtual base specifiers that correspond to the given base type, for use in base initialization within a constructor.
Definition at line 3705 of file SemaDeclCXX.cpp.
References clang::CXXRecordDecl::bases(), clang::Sema::Context, clang::ASTContext::hasSameUnqualifiedType(), and clang::CXXBaseSpecifier::isVirtual().
Determine whether the given class is a base class of the given class, including looking at dependent bases.
Definition at line 2154 of file SemaDeclCXX.cpp.
Find the base class to decompose in a built-in decomposition of a class type.
This base class search is, unfortunately, not quite like any other that we perform anywhere else in C++.
Definition at line 1228 of file SemaDeclCXX.cpp.
References clang::AS_public, clang::Type::getAsCXXRecordDecl(), clang::CXXBaseSpecifier::getType(), clang::CXXRecordDecl::hasDirectFields(), and Specifier.
Find the base specifier for a base class with the given type.
Definition at line 9863 of file SemaDeclCXX.cpp.
References clang::CXXRecordDecl::bases(), clang::Decl::getASTContext(), clang::NestedNameSpecifier::getAsType(), clang::Type::getCanonicalTypeUnqualified(), clang::TypoCorrection::getCorrectionDecl(), clang::TypoCorrection::getCorrectionSpecifier(), clang::Decl::getDeclContext(), clang::ASTContext::getLangOpts(), clang::ASTContext::getRecordType(), clang::CXXBaseSpecifier::getType(), clang::ASTContext::hasSameType(), clang::CXXRecordDecl::isProvablyNotDerivedFrom(), Specifier, and clang::TypoCorrection::WillReplaceSpecifier().
Perform lookup for a special member of the specified kind, and determine whether it is trivial.
If the triviality can be determined without the lookup, skip it. This is intended for use when determining whether a special member of a containing object is trivial, and thus does not ever perform overload resolution for default constructors.
If Selected is not NULL, *Selected will be filled in with the member that was most likely to be intended to be trivial, if any.
If ForCall is true, look at CXXRecord::HasTrivialSpecialMembersForCall to determine whether the special member is trivial.
Definition at line 7358 of file SemaDeclCXX.cpp.
References clang::Sema::SpecialMemberOverloadResult::Ambiguous, clang::Qualifiers::Const, clang::CXXRecordDecl::ctors(), clang::Sema::CXXCopyAssignment, clang::Sema::CXXCopyConstructor, clang::Sema::CXXDefaultConstructor, clang::Sema::CXXDestructor, clang::Sema::CXXInvalid, clang::Sema::CXXMoveAssignment, clang::Sema::CXXMoveConstructor, clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::CXXRecordDecl::getDestructor(), clang::Sema::SpecialMemberOverloadResult::getKind(), clang::Sema::SpecialMemberOverloadResult::getMethod(), clang::CXXRecordDecl::hasTrivialCopyAssignment(), clang::CXXRecordDecl::hasTrivialCopyConstructor(), clang::CXXRecordDecl::hasTrivialCopyConstructorForCall(), clang::CXXRecordDecl::hasTrivialDefaultConstructor(), clang::CXXRecordDecl::hasTrivialDestructor(), clang::CXXRecordDecl::hasTrivialDestructorForCall(), clang::FunctionDecl::isTrivial(), clang::FunctionDecl::isTrivialForCall(), clang::CXXMethodDecl::isUserProvided(), lookupCallFromSpecialMember(), clang::CXXRecordDecl::needsImplicitDefaultConstructor(), clang::CXXRecordDecl::needsImplicitDestructor(), clang::Sema::SpecialMemberOverloadResult::NoMemberOrDeleted, and clang::Sema::TAH_ConsiderTrivialABI.
Definition at line 7485 of file SemaDeclCXX.cpp.
References clang::CXXRecordDecl::ctors(), clang::DeclContext::decls_begin(), and clang::DeclContext::decls_end().
Definition at line 419 of file SemaDeclCXX.cpp.
References clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::ParmVarDecl::hasDefaultArg(), and clang::ParmVarDecl::hasInheritedDefaultArg().
Definition at line 6467 of file SemaDeclCXX.cpp.
References clang::Sema::Context, clang::EST_Unevaluated, clang::FunctionProtoType::ExtProtoInfo::ExceptionSpec, clang::FunctionProtoType::ExtProtoInfo::ExtInfo, clang::ASTContext::getDefaultCallingConvention(), clang::FunctionProtoType::ExceptionSpecInfo::SourceDecl, clang::FunctionProtoType::ExceptionSpecInfo::Type, and clang::FunctionType::ExtInfo::withCallingConv().
Definition at line 4909 of file SemaDeclCXX.cpp.
Definition at line 4913 of file SemaDeclCXX.cpp.
Referenced by clang::Sema::ActOnMemInitializers(), and DiagnoseBaseOrMemInitializerOrder().
Definition at line 2862 of file SemaDeclCXX.cpp.
References clang::AS_none, clang::AS_private, clang::ParsedAttributesView::end(), clang::Type::getAsCXXRecordDecl(), clang::CXXBaseSpecifier::getType(), clang::ParsedAttr::isDeclspecPropertyAttribute(), and Specifier.
getNamespaceDecl - Returns the namespace a decl represents.
If the decl is a namespace alias, returns the namespace it points to.
Definition at line 9025 of file SemaDeclCXX.cpp.
Get diagnostic select index for tag kind for record diagnostic message.
WARNING: Indexes apply to particular diagnostics only!
Definition at line 1578 of file SemaDeclCXX.cpp.
References clang::TTK_Class, clang::TTK_Interface, and clang::TTK_Struct.
Definition at line 987 of file SemaDeclCXX.cpp.
References clang::Sema::Context, clang::Sema::getTrivialTemplateArgumentLoc(), and clang::ASTContext::MakeIntValue().
Referenced by checkTupleLikeDecomposition(), and getTupleLikeElementType().
Definition at line 994 of file SemaDeclCXX.cpp.
Referenced by getTupleLikeElementType(), and isTupleLike().
Definition at line 1048 of file SemaDeclCXX.cpp.
References clang::TemplateArgumentListInfo::addArgument(), clang::Sema::Context, clang::Sema::Diag(), clang::LookupResult::empty(), clang::LookupResult::getAs