reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/AST/ExprConstant.cpp
  958         << getLangOpts().ConstexprCallDepth;
 1343       << CSK;
 1367       << N << /*array*/ 0
 1368       << static_cast<unsigned>(getMostDerivedArraySize());
 1371       << N << /*non-array*/ 1;
 1552         Info.CCEDiag(E, diag::note_constexpr_null_subobject) << CSK;
 1559         Info.FFDiag(E, diag::note_constexpr_access_null) << AK;
 2016         << IsReferenceType << !Designator.Entries.empty()
 2016         << IsReferenceType << !Designator.Entries.empty()
 2017         << !!VD << VD;
 2017         << !!VD << VD;
 2031         << IsReferenceType << !Designator.Entries.empty();
 2031         << IsReferenceType << !Designator.Entries.empty();
 2071             << TempType;
 2100       << !Designator.Entries.empty() << !!VD << VD;
 2100       << !Designator.Entries.empty() << !!VD << VD;
 2100       << !Designator.Entries.empty() << !!VD << VD;
 2148       << E->getType();
 2162       << true << Type;
 2162       << true << Type;
 2267         << unsigned(Info.HeapAllocs.size() - 1);
 2338     << SrcValue << DestType;
 2536         << RHS << E->getType() << LHS.getBitWidth();
 2536         << RHS << E->getType() << LHS.getBitWidth();
 2569         << RHS << E->getType() << LHS.getBitWidth();
 2569         << RHS << E->getType() << LHS.getBitWidth();
 2616     Info.CCEDiag(E, diag::note_constexpr_float_arithmetic) << LHS.isNaN();
 2858           << "captures not currently allowed";
 2893               Notes.size() + 1) << VD;
 2899                  Notes.size() + 1) << VD;
 3046       Info.FFDiag(E, diag::note_constexpr_access_mutable, 1) << AK << Field;
 3046       Info.FFDiag(E, diag::note_constexpr_access_mutable, 1) << AK << Field;
 3167           << handler.AccessKind;
 3187             << handler.AccessKind << O->isIndeterminate();
 3187             << handler.AccessKind << O->isIndeterminate();
 3227               << handler.AccessKind << DiagKind << Decl;
 3227               << handler.AccessKind << DiagKind << Decl;
 3227               << handler.AccessKind << DiagKind << Decl;
 3228           Info.Note(Loc, diag::note_constexpr_volatile_here) << DiagKind;
 3269             << handler.AccessKind;
 3290             << handler.AccessKind;
 3312           << handler.AccessKind << Field;
 3312           << handler.AccessKind << Field;
 3332                 << handler.AccessKind << Field << !UnionField << UnionField;
 3332                 << handler.AccessKind << Field << !UnionField << UnionField;
 3332                 << handler.AccessKind << Field << !UnionField << UnionField;
 3332                 << handler.AccessKind << Field << !UnionField << UnionField;
 3403       Info.FFDiag(E, diag::note_constexpr_modify_const_type) << QT;
 3516     Info.FFDiag(E, diag::note_constexpr_access_null) << AK;
 3527         << AK << LVal.Base.is<const ValueDecl*>();
 3527         << AK << LVal.Base.is<const ValueDecl*>();
 3542         << AK << LValType;
 3542         << AK << LValType;
 3593             Info.FFDiag(E, diag::note_constexpr_ltor_non_const_int, 1) << VD;
 3607           Info.CCEDiag(E, diag::note_constexpr_ltor_non_constexpr, 1) << VD;
 3613         Info.CCEDiag(E, diag::note_constexpr_ltor_non_constexpr) << VD;
 3622           Info.FFDiag(E, diag::note_constexpr_ltor_non_constexpr, 1) << VD;
 3636       Info.FFDiag(E, diag::note_constexpr_access_deleted_object) << AK;
 3674           Info.FFDiag(E, diag::note_constexpr_access_static_temporary, 1) << AK;
 3687             << AK
 3688             << Val.getAsString(Info.Ctx,
 3767           Info.FFDiag(Conv, diag::note_constexpr_access_past_end) << AK;
 3812       Info.FFDiag(E, diag::note_constexpr_modify_const_type) << QT;
 3936       Info.FFDiag(E, diag::note_constexpr_modify_const_type) << QT;
 4080   Info.FFDiag(Object, diag::note_constexpr_nonliteral) << Object->getType();
 4210       << D.MostDerivedType << TargetQT;
 4210       << D.MostDerivedType << TargetQT;
 4225       << D.MostDerivedType << TargetQT;
 4225       << D.MostDerivedType << TargetQT;
 4873         << /*IsConstexpr*/0 << /*IsConstructor*/1 << CD;
 4873         << /*IsConstexpr*/0 << /*IsConstructor*/1 << CD;
 4873         << /*IsConstexpr*/0 << /*IsConstructor*/1 << CD;
 4935         << CD->getInheritedConstructor().getConstructor()->getParent();
 4938         << DiagDecl->isConstexpr() << (bool)CD << DiagDecl;
 4938         << DiagDecl->isConstexpr() << (bool)CD << DiagDecl;
 4938         << DiagDecl->isConstexpr() << (bool)CD << DiagDecl;
 4978           << AK;
 4988           << AK << Val.getAsString(Info.Ctx, StarThisType);
 4988           << AK << Val.getAsString(Info.Ctx, StarThisType);
 5109     Info.FFDiag(E, diag::note_constexpr_pure_virtual_call, 1) << Callee;
 5239         << DiagKind << Ptr.Designator.getType(Info.Ctx)
 5239         << DiagKind << Ptr.Designator.getType(Info.Ctx)
 5240         << Info.Ctx.getRecordType(DynType->Type)
 5241         << E->getType().getUnqualifiedType();
 5545     Info.FFDiag(CallLoc, diag::note_constexpr_virtual_base) << RD;
 5756       << Printable.getAsString(Info.Ctx, Info.Ctx.getLValueReferenceType(T));
 5795       Info.FFDiag(CallLoc, diag::note_constexpr_unsupported_destruction) << T;
 5804     Info.FFDiag(CallLoc, diag::note_constexpr_virtual_base) << RD;
 5978         << (ElemType->isIncompleteType() ? 0 : 1) << ElemType;
 5978         << (ElemType->isIncompleteType() ? 0 : 1) << ElemType;
 6000         << ByteSize << APSInt(ElemSizeAP, true) << ElemType;
 6051         << PointerAsString();
 6066         << DeallocKind << (*Alloc)->getKind() << AllocType;
 6066         << DeallocKind << (*Alloc)->getKind() << AllocType;
 6066         << DeallocKind << (*Alloc)->getKind() << AllocType;
 6081         << PointerAsString() << Pointer.Designator.isOnePastTheEnd();
 6081         << PointerAsString() << Pointer.Designator.isOnePastTheEnd();
 6224           << Ty;
 6342         << Ty;
 6368             << DisplayType << Info.Ctx.getLangOpts().CharIsSigned;
 6368             << DisplayType << Info.Ctx.getLangOpts().CharIsSigned;
 6520           << CheckingDest << (Reason == 4) << Reason;
 6520           << CheckingDest << (Reason == 4) << Reason;
 6520           << CheckingDest << (Reason == 4) << Reason;
 6526           << NoteTy << Construct << Ty;
 6526           << NoteTy << Construct << Ty;
 6526           << NoteTy << Construct << Ty;
 6741     CCEDiag(E, diag::note_constexpr_invalid_cast) << 0;
 6746       CCEDiag(E, diag::note_constexpr_invalid_cast) << 1;
 7351       this->CCEDiag(E, diag::note_constexpr_invalid_cast) << 2;
 7548         << E->getExprOperand()->getType()
 7549         << E->getExprOperand()->getSourceRange();
 7855         Info.FFDiag(E, diag::note_constexpr_this) << E->isImplicit();
 7963             << 3 << SubExpr->getType();
 7963             << 3 << SubExpr->getType();
 7965           CCEDiag(E, diag::note_constexpr_invalid_cast) << 2;
 8002     CCEDiag(E, diag::note_constexpr_invalid_cast) << 2;
 8180                 diag::note_constexpr_baa_insufficient_alignment) << 0
 8181           << (unsigned)BaseAlignment.getQuantity()
 8182           << (unsigned)Align.getQuantity();
 8193                      diag::note_constexpr_baa_insufficient_alignment) << 1
 8196         << (int)OffsetResult.Offset.getQuantity()
 8197         << (unsigned)Align.getQuantity();
 8213         << /*isConstexpr*/0 << /*isConstructor*/0
 8213         << /*isConstexpr*/0 << /*isConstructor*/0
 8214         << (std::string("'") + Info.Ctx.BuiltinInfo.getName(BuiltinOp) + "'");
 8252       Info.FFDiag(E, diag::note_constexpr_ltor_incomplete_type) << CharTy;
 8317         << /*isConstexpr*/0 << /*isConstructor*/0
 8317         << /*isConstexpr*/0 << /*isConstructor*/0
 8318         << (std::string("'") + Info.Ctx.BuiltinInfo.getName(BuiltinOp) + "'");
 8361           << Move << WChar << !!Src.Base
 8361           << Move << WChar << !!Src.Base
 8361           << Move << WChar << !!Src.Base
 8362           << Val.getAsString(Info.Ctx, E->getArg(0)->getType());
 8374       Info.FFDiag(E, diag::note_constexpr_memcpy_type_pun) << Move << SrcT << T;
 8374       Info.FFDiag(E, diag::note_constexpr_memcpy_type_pun) << Move << SrcT << T;
 8374       Info.FFDiag(E, diag::note_constexpr_memcpy_type_pun) << Move << SrcT << T;
 8378       Info.FFDiag(E, diag::note_constexpr_memcpy_incomplete_type) << Move << T;
 8378       Info.FFDiag(E, diag::note_constexpr_memcpy_incomplete_type) << Move << T;
 8382       Info.FFDiag(E, diag::note_constexpr_memcpy_nontrivial) << Move << T;
 8382       Info.FFDiag(E, diag::note_constexpr_memcpy_nontrivial) << Move << T;
 8394             << Move << WChar << 0 << T << OrigN.toString(10, /*Signed*/false)
 8394             << Move << WChar << 0 << T << OrigN.toString(10, /*Signed*/false)
 8394             << Move << WChar << 0 << T << OrigN.toString(10, /*Signed*/false)
 8394             << Move << WChar << 0 << T << OrigN.toString(10, /*Signed*/false)
 8394             << Move << WChar << 0 << T << OrigN.toString(10, /*Signed*/false)
 8395             << (unsigned)TSize;
 8407           << Move << WChar << (N.ugt(RemainingSrcSize) ? 1 : 2) << T
 8407           << Move << WChar << (N.ugt(RemainingSrcSize) ? 1 : 2) << T
 8407           << Move << WChar << (N.ugt(RemainingSrcSize) ? 1 : 2) << T
 8407           << Move << WChar << (N.ugt(RemainingSrcSize) ? 1 : 2) << T
 8408           << N.toString(10, /*Signed*/false);
 8422           Info.FFDiag(E, diag::note_constexpr_memcpy_overlap) << WChar;
 8433         Info.FFDiag(E, diag::note_constexpr_memcpy_overlap) << WChar;
 8489         << isa<CXXMethodDecl>(OperatorNew) << OperatorNew;
 8489         << isa<CXXMethodDecl>(OperatorNew) << OperatorNew;
 8537           << ArrayBound << (*ArraySize)->getSourceRange();
 8550         << ArrayBound << (*ArraySize)->getSourceRange();
 8570             << AllocBound.toString(10, /*Signed=*/false)
 8571             << InitBound.toString(10, /*Signed=*/false)
 8572             << (*ArraySize)->getSourceRange();
 8605           Info.FFDiag(E, diag::note_constexpr_placement_new_wrong_type) <<
 8606             SubobjType << AllocType;
 8856     Info.FFDiag(E, diag::note_constexpr_virtual_base) << RD;
10698         << /*isConstexpr*/0 << /*isConstructor*/0
10698         << /*isConstexpr*/0 << /*isConstructor*/0
10699         << (std::string("'") + Info.Ctx.BuiltinInfo.getName(BuiltinOp) + "'");
10759         << /*isConstexpr*/0 << /*isConstructor*/0
10759         << /*isConstexpr*/0 << /*isConstructor*/0
10760         << (std::string("'") + Info.Ctx.BuiltinInfo.getName(BuiltinOp) + "'");
10823         Info.FFDiag(E, diag::note_constexpr_ltor_incomplete_type) << CharTy1;
10827         Info.FFDiag(E, diag::note_constexpr_ltor_incomplete_type) << CharTy2;
11647               << getAsBaseClass(LHSDesignator.Entries[Mismatch])
11648               << RF->getParent() << RF;
11648               << RF->getParent() << RF;
11651               << getAsBaseClass(RHSDesignator.Entries[Mismatch])
11652               << LF->getParent() << LF;
11652               << LF->getParent() << LF;
11657               << LF << LF->getAccess() << RF << RF->getAccess()
11657               << LF << LF->getAccess() << RF << RF->getAccess()
11657               << LF << LF->getAccess() << RF << RF->getAccess()
11657               << LF << LF->getAccess() << RF << RF->getAccess()
11658               << LF->getParent();
11717         Info.CCEDiag(E, diag::note_constexpr_compare_virtual_mem_ptr) << MD;
11720         Info.CCEDiag(E, diag::note_constexpr_compare_virtual_mem_ptr) << MD;
11868           << ElementType;
12180     CCEDiag(E, diag::note_constexpr_invalid_cast) << 2;
13199         << isa<CXXMethodDecl>(OperatorDelete) << OperatorDelete;
13199         << isa<CXXMethodDecl>(OperatorDelete) << OperatorDelete;
13232         << Arg->getType()->getPointeeType() << AllocType;
13232         << Arg->getType()->getPointeeType() << AllocType;
13243           << isa<CXXMethodDecl>(VirtualDelete) << VirtualDelete;
13243           << isa<CXXMethodDecl>(VirtualDelete) << VirtualDelete;
13327         << E->getType();
13342     Info.FFDiag(E, diag::note_constexpr_nonliteral) << E->getType();
tools/clang/lib/AST/Interp/Interp.cpp
  107     S.FFDiag(Loc, diag::note_constexpr_access_uninit) << AK << false;
  107     S.FFDiag(Loc, diag::note_constexpr_access_uninit) << AK << false;
  140       << AK << InactiveField << !ActiveField << ActiveField;
  140       << AK << InactiveField << !ActiveField << ActiveField;
  140       << AK << InactiveField << !ActiveField << ActiveField;
  140       << AK << InactiveField << !ActiveField << ActiveField;
  157     S.FFDiag(E, diag::note_constexpr_access_static_temporary, 1) << AK;
  188     S.FFDiag(Loc, diag::note_constexpr_ltor_non_constexpr, 1) << VD;
  208       S.FFDiag(Src, diag::note_constexpr_null_subobject) << CSK_Field;
  210       S.FFDiag(Src, diag::note_constexpr_access_null) << AK;
  218     S.FFDiag(Src, diag::note_constexpr_lifetime_ended, 1) << AK << !IsTemp;
  218     S.FFDiag(Src, diag::note_constexpr_lifetime_ended, 1) << AK << !IsTemp;
  236   S.FFDiag(Loc, diag::note_constexpr_null_subobject) << CSK;
  245   S.FFDiag(Loc, diag::note_constexpr_access_past_end) << AK;
  254   S.FFDiag(Loc, diag::note_constexpr_past_end_subobject) << CSK;
  266   S.FFDiag(Loc, diag::note_constexpr_modify_const_type) << Ty;
  278   S.FFDiag(Loc, diag::note_constexpr_access_mutable, 1) << AK_Read << Field;
  278   S.FFDiag(Loc, diag::note_constexpr_access_mutable, 1) << AK_Read << Field;
  361           << CD->getInheritedConstructor().getConstructor()->getParent();
  364           << DiagDecl->isConstexpr() << (bool)CD << DiagDecl;
  364           << DiagDecl->isConstexpr() << (bool)CD << DiagDecl;
  364           << DiagDecl->isConstexpr() << (bool)CD << DiagDecl;
  386     S.FFDiag(Loc, diag::note_constexpr_this) << IsImplicit;
  397   S.FFDiag(E, diag::note_constexpr_pure_virtual_call, 1) << MD;
tools/clang/lib/AST/Interp/Interp.h
  126     S.CCEDiag(E, diag::note_constexpr_overflow) << Value << Type;
  753         << /*array*/ static_cast<int>(!Ptr.inArray())
  754         << static_cast<unsigned>(MaxIndex);
  856     S.CCEDiag(E, diag::note_constexpr_large_shift) << Val << Ty << Bits;
  856     S.CCEDiag(E, diag::note_constexpr_large_shift) << Val << Ty << Bits;
tools/clang/lib/AST/Interp/InterpState.cpp
   53   CCEDiag(E, diag::note_constexpr_overflow) << Value << Type;