Home | History | Annotate | Download | only in Sema

Lines Matching refs:sema

14 #include "clang/Sema/SemaInternal.h"
30 #include "clang/Lex/HeaderSearch.h" // FIXME: Sema shouldn't depend on Lex
31 #include "clang/Lex/ModuleLoader.h" // FIXME: Sema shouldn't depend on Lex
32 #include "clang/Lex/Preprocessor.h" // FIXME: Sema shouldn't depend on Lex
34 #include "clang/Sema/CXXFieldCollector.h"
35 #include "clang/Sema/DeclSpec.h"
36 #include "clang/Sema/DelayedDiagnostic.h"
37 #include "clang/Sema/Initialization.h"
38 #include "clang/Sema/Lookup.h"
39 #include "clang/Sema/ParsedTemplate.h"
40 #include "clang/Sema/Scope.h"
41 #include "clang/Sema/ScopeInfo.h"
48 using namespace sema;
50 Sema::DeclGroupPtrTy Sema::ConvertDeclToDeclGroup(Decl *Ptr, Decl *OwnedType) {
86 bool Sema::isSimpleTypeSpecifier(tok::TokenKind Kind) const {
132 ParsedType Sema::getTypeName(const IdentifierInfo &II, SourceLocation NameLoc,
354 DeclSpec::TST Sema::isTagName(IdentifierInfo &II, Scope *S) {
387 bool Sema::isMicrosoftMissingTypename(const CXXScopeSpec *SS, Scope *S) {
401 bool Sema::DiagnoseUnknownTypeName(IdentifierInfo *&II,
524 static bool isTagTypeWithMissingTag(Sema &SemaRef, LookupResult &Result,
528 LookupResult R(SemaRef, Name, NameLoc, Sema::LookupTagName);
570 Result.clear(Sema::LookupTagName);
579 static ParsedType buildNestedType(Sema &S, CXXScopeSpec &SS,
593 Sema::NameClassification Sema::ClassifyName(Scope *S,
896 DeclContext *Sema::getContainingDC(DeclContext *DC) {
923 void Sema::PushDeclContext(Scope *S, DeclContext *DC) {
930 void Sema::PopDeclContext() {
940 void Sema::EnterDeclaratorContext(Scope *S, DeclContext *DC) {
969 void Sema::ExitDeclaratorContext(Scope *S) {
983 void Sema::ActOnReenterFunctionContext(Scope* S, Decl *D) {
1011 void Sema::ActOnExitFunctionContext() {
1042 void Sema::PushOnScopeChains(NamedDecl *D, Scope *S, bool AddToContext) {
1103 void Sema::pushExternalDeclIntoScope(NamedDecl *D, DeclarationName Name) {
1108 bool Sema::isDeclInScope(NamedDecl *&D, DeclContext *Ctx, Scope *S,
1114 Scope *Sema::getScopeForDeclContext(Scope *S, DeclContext *DC) {
1131 void Sema::FilterLookupForScope(LookupResult &R,
1200 bool Sema::mightHaveNonExternalLinkage(const DeclaratorDecl *D) {
1213 bool Sema::ShouldWarnIfUnusedFileScopedDecl(const DeclaratorDecl *D) const {
1268 void Sema::MarkUnusedFileScopedDecl(const DeclaratorDecl *D) {
1364 void Sema::DiagnoseUnusedDecl(const NamedDecl *D) {
1382 static void CheckPoppedLabel(LabelDecl *L, Sema &S) {
1390 void Sema::ActOnPopScope(SourceLocation Loc, Scope *S) {
1418 void Sema::ActOnStartFunctionDeclarator() {
1422 void Sema::ActOnEndFunctionDeclarator() {
1440 ObjCInterfaceDecl *Sema::getObjCInterfaceDecl(IdentifierInfo *&Id,
1494 Scope *Sema::getNonFieldDeclScope(Scope *S) {
1507 static void LookupPredefedObjCSuperType(Sema &ThisSema, Scope *S,
1514 SourceLocation(), Sema::LookupTagName);
1525 NamedDecl *Sema::LazilyCreateBuiltin(IdentifierInfo *II, unsigned bid,
1637 bool Sema::isIncompatibleTypedef(TypeDecl *Old, TypedefNameDecl *New) {
1676 void Sema::MergeTypedefNameDecl(TypedefNameDecl *New, LookupResult &OldDecls) {
1871 static bool mergeAlignedAttrs(Sema &S, NamedDecl *New, Decl *Old) {
1982 static bool mergeDeclAttribute(Sema &S, NamedDecl *D, InheritableAttr *Attr,
2052 static void checkNewAttributesAfterDef(Sema &S, Decl *New, const Decl *Old) {
2101 void Sema::mergeDeclAttributes(NamedDecl *New, Decl *Old,
2154 Sema &S) {
2210 Sema::CXXSpecialMember Sema::getSpecialMember(const CXXMethodDecl *MD) {
2213 return Sema::CXXDefaultConstructor;
2216 return Sema::CXXCopyConstructor;
2219 return Sema::CXXMoveConstructor;
2221 return Sema::CXXDestructor;
2223 return Sema::CXXCopyAssignment;
2225 return Sema::CXXMoveAssignment;
2228 return Sema::CXXInvalid;
2244 static bool isABIDefaultCC(Sema &S, CallingConv CC, FunctionDecl *D) {
2280 bool Sema::MergeFunctionDecl(FunctionDecl *New, Decl *OldD, Scope *S) {
2773 bool Sema::MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
2806 void Sema::mergeObjCMethodDecls(ObjCMethodDecl *newMethod,
2833 void Sema::MergeVarDeclTypes(VarDecl *New, VarDecl *Old, bool OldWasHidden) {
2894 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous,
3045 Decl *Sema::ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS,
3050 static void HandleTagNumbering(Sema &S, const TagDecl *Tag) {
3074 Decl *Sema::ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS,
3298 static bool CheckAnonMemberRedeclaration(Sema &SemaRef,
3304 LookupResult R(SemaRef, Name, NameLoc, Sema::LookupMemberName,
3305 Sema::ForRedeclaration);
3340 static bool InjectAnonymousStructOrUnionMembers(Sema &SemaRef, Scope *S,
3435 Decl *Sema::BuildAnonymousStructOrUnion(Scope *S, DeclSpec &DS,
3682 Decl *Sema::BuildMicrosoftCAnonymousStruct(Scope *S, DeclSpec &DS,
3726 DeclarationNameInfo Sema::GetNameForDeclarator(Declarator &D) {
3732 Sema::GetNameFromUnqualifiedId(const UnqualifiedId &Name) {
3884 static bool RebuildDeclaratorInCurrentInstantiation(Sema &S, Declarator &D,
3953 Decl *Sema::ActOnDeclarator(Scope *S, Declarator &D) {
3971 bool Sema::DiagnoseClassNameShadow(DeclContext *DC,
3997 bool Sema::diagnoseQualifiedDeclaration(CXXScopeSpec &SS, DeclContext *DC,
4078 NamedDecl *Sema::HandleDeclarator(Scope *S, Declarator &D,
4400 Sema::RegisterLocallyScopedExternCDecl(NamedDecl *ND, Scope *S) {
4412 NamedDecl *Sema::findLocallyScopedExternCDecl(DeclarationName Name) {
4432 void Sema::DiagnoseFunctionSpecifiers(const DeclSpec &DS) {
4453 Sema::ActOnTypedefDeclarator(Scope* S, Declarator& D, DeclContext* DC,
4492 Sema::CheckTypedefForVariablyModifiedType(Scope *S, TypedefNameDecl *NewTD) {
4533 Sema::ActOnTypedefNameDecl(Scope *S, DeclContext *DC, TypedefNameDecl *NewTD,
4626 bool Sema::inferObjCARCLifetime(ValueDecl *decl) {
4670 static void checkAttributesAfterMerging(Sema &S, NamedDecl &ND) {
4698 static bool isFunctionDefinitionDiscarded(Sema &S, FunctionDecl *FD) {
4744 static bool isIncompleteDeclExternC(Sema &S, const T *D) {
4773 bool Sema::HandleVariableRedeclaration(Decl *D, CXXScopeSpec &SS) {
4789 Sema::ActOnVariableDeclarator(Scope *S, Declarator &D, DeclContext *DC,
5348 void Sema::CheckShadow(Scope *S, VarDecl *D, const LookupResult& R) {
5423 void Sema::CheckShadow(Scope *S, VarDecl *D) {
5429 Sema::LookupOrdinaryName, Sema::ForRedeclaration);
5438 Sema &S, const T *ND, bool IsGlobal, LookupResult &Previous) {
5520 static bool checkForConflictWithNonVisibleExternC(Sema &S, const T *ND,
5555 void Sema::CheckVariableDeclarationType(VarDecl *NewVD) {
5702 bool Sema::CheckVariableDeclaration(VarDecl *NewVD,
5751 Sema *S;
5799 static void ReportOverrides(Sema& S, unsigned DiagID, const CXXMethodDecl *MD,
5817 bool Sema::AddOverriddenMethods(CXXRecordDecl *DC, CXXMethodDecl *MD) {
5855 // DiagnoseInvalidRedeclaration to call Sema::ActOnFunctionDeclarator.
5918 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD,
5924 Sema::LookupOrdinaryName, Sema::ForRedeclaration);
5958 Sema::SFINAETrap Trap(SemaRef);
6056 static FunctionDecl::StorageClass getFunctionStorageClass(Sema &SemaRef,
6092 static FunctionDecl* CreateNewFunctionDecl(Sema &SemaRef, Declarator &D,
6242 void Sema::checkVoidParamDecl(ParmVarDecl *Param) {
6294 Sema &S,
6426 Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC,
6764 // We let through "const void" here because Sema::GetTypeForDeclarator
7216 bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD,
7514 void Sema
7645 bool Sema::CheckForConstantInitializer(Expr *Init, QualType DclT) {
7666 Sema &S;
7675 SelfReferenceChecker(Sema &S, Decl *OrigDecl) : Inherited(S.Context),
7802 static void CheckSelfReference(Sema &S, Decl* OrigDecl, Expr *E,
7827 void Sema::AddInitializerToDecl(Decl *RealDecl, Expr *Init,
8282 void Sema::ActOnInitializerError(Decl *D) {
8319 void Sema::ActOnUninitializedDecl(Decl *RealDecl,
8521 void Sema::ActOnCXXForRangeDecl(Decl *D) {
8563 void Sema::CheckCompleteVariableDeclaration(VarDecl *var) {
8688 Sema::FinalizeDeclaration(Decl *ThisDecl) {
8741 Sema::DeclGroupPtrTy Sema::FinalizeDeclaratorGroup(Scope *S, const DeclSpec &DS,
8762 Sema::DeclGroupPtrTy
8763 Sema::BuildDeclaratorGroup(llvm::MutableArrayRef<Decl *> Group,
8811 void Sema::ActOnDocumentableDecl(Decl *D) {
8815 void Sema::ActOnDocumentableDecls(ArrayRef<Decl *> Group) {
8857 Decl *Sema::ActOnParamDeclarator(Scope *S, Declarator &D) {
8972 ParmVarDecl *Sema::BuildParmVarDeclForTypedef(DeclContext *DC,
8985 void Sema::DiagnoseUnusedParameters(ParmVarDecl * const *Param,
9001 void Sema::DiagnoseSizeOfParametersAndReturnValue(ParmVarDecl * const *Param,
9030 ParmVarDecl *Sema::CheckParameter(DeclContext *DC, SourceLocation StartLoc,
9047 sema::DelayedDiagnostic::makeForbiddenType(
9093 void Sema::ActOnFinishKNRParamDeclarations(Scope *S, Declarator &D,
9130 Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Declarator &D) {
9191 void Sema::CheckForFunctionRedefinition(FunctionDecl *FD) {
9208 Decl *Sema
9379 void Sema::computeNRVO(Stmt *Body, FunctionScopeInfo *Scope) {
9397 bool Sema::canSkipFunctionBody(Decl *D) {
9418 Decl *Sema::ActOnSkippedFunctionBody(Decl *Decl) {
9426 Decl *Sema::ActOnFinishFunctionBody(Decl *D, Stmt *BodyArg) {
9430 Decl *Sema::ActOnFinishFunctionBody(Decl *dcl, Stmt *Body,
9439 sema::AnalysisBasedWarnings::Policy WP = AnalysisWarnings.getDefaultPolicy();
9440 sema::AnalysisBasedWarnings::Policy *ActivePolicy = 0;
9594 void Sema::ActOnFinishDelayedAttribute(Scope *S, Decl *D,
9609 NamedDecl *Sema::ImplicitlyDefineFunction(SourceLocation Loc,
9710 void Sema::AddKnownFunctionAttributes(FunctionDecl *FD) {
9788 TypedefDecl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
9861 bool Sema::CheckEnumUnderlyingType(TypeSourceInfo *TI) {
9878 bool Sema::CheckEnumRedeclaration(SourceLocation EnumLoc, bool IsScoped,
9937 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous,
10032 Decl *Sema::ActOnTag(Scope *S, unsigned TagSpec, TagUseKind TUK,
10243 // in Sema::LookupName; is there a better way to deal with this?
10787 void Sema::ActOnTagStartDefinition(Scope *S, Decl *TagD) {
10801 Decl *Sema::ActOnObjCContainerStartDefinition(Decl *IDecl) {
10811 void Sema::ActOnStartCXXMemberDeclarations(Scope *S, Decl *TagD,
10846 void Sema::ActOnTagFinishDefinition(Scope *S, Decl *TagD,
10874 void Sema::ActOnObjCContainerFinishDefinition() {
10879 void Sema::ActOnObjCTemporaryExitContainerContext(DeclContext *DC) {
10885 void Sema::ActOnObjCReenterContainerContext(DeclContext *DC) {
10890 void Sema::ActOnTagDefinitionError(Scope *S, Decl *TagD) {
10909 ExprResult Sema::VerifyBitField(SourceLocation FieldLoc,
10986 Decl *Sema::ActOnField(Scope *S, Decl *TagD, SourceLocation DeclStart,
10996 FieldDecl *Sema::HandleField(Scope *S, RecordDecl *Record,
11103 FieldDecl *Sema::CheckFieldDecl(DeclarationName Name, QualType T,
11268 bool Sema::CheckNontrivialField(FieldDecl *FD) {
11343 Decl *Sema::ActOnIvar(Scope *S,
11458 void Sema::ActOnLastBitfield(SourceLocation DeclLoc,
11492 void Sema::ActOnFields(Scope* S,
11930 EnumConstantDecl *Sema::CheckEnumConstant(EnumDecl *Enum,
12102 Decl *Sema::ActOnEnumConstant(Scope *S, Decl *theEnumDecl, Decl *lastEnumConst,
12235 static void CheckForDuplicateEnumValues(Sema &S, ArrayRef<Decl *> Elements,
12345 void Sema::ActOnEnumBody(SourceLocation EnumLoc, SourceLocation LBraceLoc,
12575 Decl *Sema::ActOnFileScopeAsmDecl(Expr *expr,
12587 DeclResult Sema::ActOnModuleImport(SourceLocation AtLoc,
12616 void Sema::createImplicitModuleImport(SourceLocation Loc, Module *Mod) {
12629 void Sema::ActOnPragmaRedefineExtname(IdentifierInfo* Name,
12646 void Sema::ActOnPragmaWeakID(IdentifierInfo* Name,
12660 void Sema::ActOnPragmaWeakAlias(IdentifierInfo* Name,
12679 Decl *Sema::getObjCDeclContext() const {
12683 AvailabilityResult Sema::getCurContextAvailability() const {