Lines Matching defs:SemaRef

2343     const TypoCorrection &TC, Sema &SemaRef, const CXXScopeSpec &SS,
2347 SS.isEmpty() ? nullptr : SemaRef.computeDeclContext(SS, false);
2352 SemaRef.Diag(TypoLoc, diag::err_no_member) << Typo << Ctx
2355 SemaRef.Diag(TypoLoc, DiagnosticID) << Typo;
2359 std::string CorrectedStr = TC.getAsString(SemaRef.getLangOpts());
2366 SemaRef.diagnoseTypo(TC, SemaRef.PDiag(DiagnosticSuggestID) << Typo,
2367 SemaRef.PDiag(NoteID));
2369 SemaRef.diagnoseTypo(TC, SemaRef.PDiag(diag::err_no_member_suggest)
2372 SemaRef.PDiag(NoteID));
5416 EnsureImmediateInvocationInDefaultArgs(Sema &SemaRef)
5417 : TreeTransform(SemaRef) {}
5434 if (DC == SemaRef.CurContext)
5445 if (!SemaRef.CurrentInstantiationScope ||
5446 !SemaRef.CurContext->isDependentContext() || DC->isDependentContext())
5447 DC = SemaRef.CurContext;
5672 FunctionCallCCC(Sema &SemaRef, const IdentifierInfo *FuncName,
5674 : FunctionCallFilterCCC(SemaRef, NumArgs, false, ME),
17110 TransformToPE(Sema &SemaRef) : BaseTransform(SemaRef) { }
17125 !SemaRef.isUnevaluatedContext())
17126 return SemaRef.Diag(E->getLocation(),
17365 Sema &SemaRef, Sema::ImmediateInvocationCandidate Candidate) {
17371 Eval, SemaRef.getASTContext(), ConstantExprKind::ImmediateInvocation);
17373 SemaRef.FailedImmediateInvocations.insert(CE);
17389 SemaRef.Diag(CE->getBeginLoc(), diag::err_invalid_consteval_call)
17392 SemaRef.InnermostDeclarationWithDelayedImmediateInvocations()) {
17393 SemaRef.Diag(Context->Loc, diag::note_invalid_consteval_initializer)
17395 SemaRef.Diag(Context->Decl->getBeginLoc(), diag::note_declared_at);
17398 SemaRef.DiagnoseImmediateEscalatingReason(FD);
17400 SemaRef.Diag(Note.first, Note.second);
17403 CE->MoveIntoResult(Eval.Val, SemaRef.getASTContext());
17407 Sema &SemaRef, Sema::ExpressionEvaluationContextRecord &Rec,
17415 ComplexRemove(Sema &SemaRef, llvm::SmallPtrSetImpl<DeclRefExpr *> &DR,
17419 : Base(SemaRef), DRSet(DR), IISet(II), CurrentII(Current) {}
17430 if (SemaRef.FailedImmediateInvocations.contains(E))
17480 } Transformer(SemaRef, Rec.ReferenceToConsteval,
17497 Res = SemaRef.MaybeCreateExprWithCleanups(Res);
17503 HandleImmediateInvocations(Sema &SemaRef,
17507 Rec.isImmediateFunctionContext() || SemaRef.RebuildingImmediateInvocation)
17516 !SemaRef.FailedImmediateInvocations.empty()) {
17521 SemaRef.RebuildingImmediateInvocation, true);
17524 Sema::TentativeAnalysisScope DisableDiag(SemaRef);
17529 RemoveNestedImmediateInvocation(SemaRef, Rec, It);
17545 EvaluateAndDiagnoseImmediateInvocation(SemaRef, CE);
17569 if (SemaRef.inTemplateInstantiation() && IsPotentiallyEvaluated)
17573 (SemaRef.inTemplateInstantiation() && !ImmediateEscalating)) {
17574 SemaRef.Diag(DR->getBeginLoc(), diag::err_invalid_consteval_take_address)
17576 SemaRef.Diag(ND->getLocation(), diag::note_declared_at);
17578 SemaRef.InnermostDeclarationWithDelayedImmediateInvocations()) {
17579 SemaRef.Diag(Context->Loc, diag::note_invalid_consteval_initializer)
17581 SemaRef.Diag(Context->Decl->getBeginLoc(), diag::note_declared_at);
17584 SemaRef.DiagnoseImmediateEscalatingReason(FD);
17587 SemaRef.MarkExpressionAsImmediateEscalating(DR);
17690 static bool isPotentiallyConstantEvaluatedContext(Sema &SemaRef) {
17693 switch (SemaRef.ExprEvalContexts.back().Context) {
17809 static OdrUseContext isOdrUseContext(Sema &SemaRef) {
17812 switch (SemaRef.ExprEvalContexts.back().Context) {
17835 if (SemaRef.CurContext->isDependentContext())
18124 MarkVarDeclODRUsed(ValueDecl *V, SourceLocation Loc, Sema &SemaRef,
18131 if (Var->hasDefinition(SemaRef.Context) == VarDecl::DeclarationOnly &&
18133 SemaRef.isExternalWithNoLinkageType(Var)) &&
18135 SourceLocation &old = SemaRef.UndefinedButUsed[Var->getCanonicalDecl()];
18140 if (SemaRef.LangOpts.OpenMP)
18141 SemaRef.OpenMP().tryCaptureOpenMPLambdas(V);
18142 SemaRef.tryCaptureVariable(V, Loc, Sema::TryCapture_Implicit,
18147 if (SemaRef.LangOpts.CUDA && Var->hasGlobalStorage()) {
18148 auto *FD = dyn_cast_or_null<FunctionDecl>(SemaRef.CurContext);
18149 auto VarTarget = SemaRef.CUDA().IdentifyTarget(Var);
18150 auto UserTarget = SemaRef.CUDA().IdentifyTarget(FD);
18158 if (SemaRef.LangOpts.CUDAIsDevice && !SemaRef.LangOpts.HIPStdPar) {
18159 SemaRef.targetDiag(Loc, diag::err_ref_bad_target)
18162 SemaRef.targetDiag(Var->getLocation(),
18182 SemaRef.getASTContext().CUDADeviceVarODRUsedByHost.insert(Var);
18183 else if (SemaRef.LangOpts.GPURelocatableDeviceCode &&
18185 SemaRef.getASTContext().GetGVALinkageForFunction(FD) ==
18187 SemaRef.getASTContext().CUDAExternalDeviceDeclODRUsedByHost.insert(Var);
18191 V->markUsed(SemaRef.Context);
19428 static void DoMarkPotentialCapture(Sema &SemaRef, SourceLocation Loc,
19435 (SemaRef.CurContext != VD->getDeclContext() &&
19439 SemaRef.getCurLambda(/*IgnoreNonLambdaCapturingScope=*/true);
19454 !VD->isUsableInConstantExpressions(SemaRef.Context))
19461 Sema &SemaRef, SourceLocation Loc, VarDecl *Var, Expr *E,
19475 OdrUseContext OdrUse = isOdrUseContext(SemaRef);
19477 Var->mightBeUsableInConstantExpressions(SemaRef.Context);
19489 isPotentiallyConstantEvaluatedContext(SemaRef) && UsableInConstantExpr;
19502 SemaRef.checkSpecializationVisibility(Loc, Var);
19532 SemaRef.runWithSufficientStackSpace(PointOfInstantiation, [&] {
19533 SemaRef.InstantiateVariableDefinition(PointOfInstantiation, Var);
19543 SemaRef.PendingInstantiations
19547 for (auto &I : SemaRef.SavedPendingInstantiations) {
19553 SemaRef.PendingInstantiations.push_back(*Iter);
19566 SemaRef.PendingInstantiations
19603 SemaRef.isUnevaluatedContext()) &&
19615 if (E && Var->isUsableInConstantExpressions(SemaRef.Context))
19616 SemaRef.MaybeODRUseExprs.insert(E);
19618 MarkVarDeclODRUsed(Var, Loc, SemaRef);
19626 DoMarkPotentialCapture(SemaRef, Loc, Var, E);
19631 static void DoMarkBindingDeclReferenced(Sema &SemaRef, SourceLocation Loc,
19638 OdrUseContext OdrUse = isOdrUseContext(SemaRef);
19641 SemaRef.tryCaptureVariable(BD, Loc, Sema::TryCapture_Implicit,
19647 DoMarkPotentialCapture(SemaRef, Loc, BD, E);
19661 Sema &SemaRef, ValueDecl *D, Expr *E) {
19671 for (auto *Scope : llvm::reverse(SemaRef.FunctionScopes)) {
19676 if (LSI->Lambda && !LSI->Lambda->Encloses(SemaRef.CurContext) &&
19702 IsDependent, SemaRef.getASTContext());
19706 MarkExprReferenced(Sema &SemaRef, SourceLocation Loc, Decl *D, Expr *E,
19709 if (SemaRef.OpenMP().isInOpenMPDeclareTargetContext())
19710 SemaRef.OpenMP().checkDeclIsAllowedInOpenMPTarget(E, D);
19713 DoMarkVarDeclReferenced(SemaRef, Loc, Var, E, RefsMinusAssignments);
19714 if (SemaRef.getLangOpts().CPlusPlus)
19715 FixDependencyOfIdExpressionsInLambdaWithDependentObjectParameter(SemaRef,
19721 DoMarkBindingDeclReferenced(SemaRef, Loc, Decl, E);
19722 if (SemaRef.getLangOpts().CPlusPlus)
19723 FixDependencyOfIdExpressionsInLambdaWithDependentObjectParameter(SemaRef,
19727 SemaRef.MarkAnyDeclReferenced(Loc, D, MightBeOdrUse);
19739 ME->performsVirtualDispatch(SemaRef.getLangOpts());
19746 ME->getBase(), SemaRef.getLangOpts().AppleKext);
19748 SemaRef.MarkAnyDeclReferenced(Loc, DM, MightBeOdrUse);