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

References

tools/clang/lib/Sema/SemaType.cpp
 4035   bool IsQualifiedFunction = T->isFunctionProtoType() &&
 4036       (!T->castAs<FunctionProtoType>()->getMethodQuals().empty() ||
 4037        T->castAs<FunctionProtoType>()->getRefQualifier() != RQ_None);
 4043   if (auto *DT = T->getAs<DeducedType>()) {
 4044     const AutoType *AT = T->getAs<AutoType>();
 4130     if (T->canHaveNullability(/*ResultIfUnknown*/false) &&
 4131         !T->getNullability(S.Context)) {
 4189       switch (classifyPointerDeclarator(S, T, D, wrappingKind)) {
 4345     if (T->canHaveNullability(/*ResultIfUnknown*/false) &&
 4346         !T->getNullability(S.Context)) {
 4347       if (isVaList(T)) {
 4353         if (T->isBlockPointerType())
 4355         else if (T->isMemberPointerType())
 4363           T = state.getAttributedType(
 4364               createNullabilityAttr(Context, *attr, *inferNullability), T, T);
 4364               createNullabilityAttr(Context, *attr, *inferNullability), T, T);
 4370         T->isArrayType() && !T->getNullability(S.Context) && !isVaList(T) &&
 4370         T->isArrayType() && !T->getNullability(S.Context) && !isVaList(T) &&
 4370         T->isArrayType() && !T->getNullability(S.Context) && !isVaList(T) &&
 4392         warnAboutRedundantParens(S, D, T);
 4393       T = S.BuildParenType(T);
 4393       T = S.BuildParenType(T);
 4405       T = S.BuildBlockPointerType(T, D.getIdentifierLoc(), Name);
 4405       T = S.BuildBlockPointerType(T, D.getIdentifierLoc(), Name);
 4411         T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Cls.TypeQuals);
 4411         T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Cls.TypeQuals);
 4417       if (LangOpts.CPlusPlus && S.CheckDistantExceptionSpec(T)) {
 4428       if (LangOpts.ObjC && T->getAs<ObjCObjectType>()) {
 4429         T = Context.getObjCObjectPointerType(T);
 4429         T = Context.getObjCObjectPointerType(T);
 4431           T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Ptr.TypeQuals);
 4431           T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Ptr.TypeQuals);
 4439         if (T->isImageType() || T->isSamplerT() || T->isPipeType() ||
 4439         if (T->isImageType() || T->isSamplerT() || T->isPipeType() ||
 4439         if (T->isImageType() || T->isSamplerT() || T->isPipeType() ||
 4440             T->isBlockPointerType()) {
 4441           S.Diag(D.getIdentifierLoc(), diag::err_opencl_pointer_to_type) << T;
 4446       T = S.BuildPointerType(T, DeclType.Loc, Name);
 4446       T = S.BuildPointerType(T, DeclType.Loc, Name);
 4448         T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Ptr.TypeQuals);
 4448         T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Ptr.TypeQuals);
 4453       if (LangOpts.CPlusPlus && S.CheckDistantExceptionSpec(T)) {
 4458       T = S.BuildReferenceType(T, DeclType.Ref.LValueRef, DeclType.Loc, Name);
 4458       T = S.BuildReferenceType(T, DeclType.Ref.LValueRef, DeclType.Loc, Name);
 4461         T = S.BuildQualifiedType(T, DeclType.Loc, Qualifiers::Restrict);
 4461         T = S.BuildQualifiedType(T, DeclType.Loc, Qualifiers::Restrict);
 4467       if (LangOpts.CPlusPlus && S.CheckDistantExceptionSpec(T)) {
 4516       const AutoType *AT = T->getContainedAutoType();
 4524             << getPrintableNameForEntity(Name) << T;
 4525         T = QualType();
 4539       T = S.BuildArrayType(T, ASM, ArraySize, ATI.TypeQuals,
 4539       T = S.BuildArrayType(T, ASM, ArraySize, ATI.TypeQuals,
 4563             T = Context.IntTy;
 4571           if (isa<ParenType>(T)) {
 4573                 << T << D.getSourceRange();
 4577             if (T != Context.DependentTy) {
 4584                      (T.hasQualifiers() || !isa<AutoType>(T) ||
 4584                      (T.hasQualifiers() || !isa<AutoType>(T) ||
 4585                       cast<AutoType>(T)->getKeyword() !=
 4589                 << T << D.getDeclSpec().getSourceRange();
 4592           T = S.GetTypeFromParser(FTI.getTrailingReturnType(), &TInfo);
 4593           if (T.isNull()) {
 4595             T = Context.IntTy;
 4606       if (!D.isInvalidType() && (T->isArrayType() || T->isFunctionType()) &&
 4606       if (!D.isInvalidType() && (T->isArrayType() || T->isFunctionType()) &&
 4615         S.Diag(DeclType.Loc, diagID) << T->isFunctionType() << T;
 4615         S.Diag(DeclType.Loc, diagID) << T->isFunctionType() << T;
 4616         T = Context.IntTy;
 4622       if (T->isHalfType()) {
 4626                 << T << 0 /*pointer hint*/;
 4639         if (T->isBlockPointerType() || T->isImageType() || T->isSamplerT() ||
 4639         if (T->isBlockPointerType() || T->isImageType() || T->isSamplerT() ||
 4639         if (T->isBlockPointerType() || T->isImageType() || T->isSamplerT() ||
 4640             T->isPipeType()) {
 4642               << T << 1 /*hint off*/;
 4660       if (T->isObjCObjectType()) {
 4670           << 0 << T
 4673         T = Context.getObjCObjectPointerType(T);
 4673         T = Context.getObjCObjectPointerType(T);
 4677           ObjCObjectPointerTypeLoc TLoc = TLB.push<ObjCObjectPointerTypeLoc>(T);
 4679           TInfo = TLB.getTypeSourceInfo(Context, T);
 4687       if ((T.getCVRQualifiers() || T->isAtomicType()) &&
 4687       if ((T.getCVRQualifiers() || T->isAtomicType()) &&
 4689             (T->isDependentType() || T->isRecordType()))) {
 4689             (T->isDependentType() || T->isRecordType()))) {
 4690         if (T->isVoidType() && !S.getLangOpts().CPlusPlus &&
 4695           S.Diag(DeclType.Loc, diag::err_func_returning_qualified_void) << T;
 4697           diagnoseRedundantReturnTypeQualifiers(S, T, D, chunkIndex);
 4701         if (T.isVolatileQualified() && S.getLangOpts().CPlusPlus2a)
 4702           S.Diag(DeclType.Loc, diag::warn_deprecated_volatile_return) << T;
 4708       if (T.getQualifiers().hasObjCLifetime()) {
 4737             << T.getQualifiers().getObjCLifetime();
 4760         warnAboutAmbiguousFunction(S, D, DeclType, T);
 4768         T = Context.getFunctionNoProtoType(T, EI);
 4768         T = Context.getFunctionNoProtoType(T, EI);
 4784           T = Context.getFunctionNoProtoType(T, EI);
 4784           T = Context.getFunctionNoProtoType(T, EI);
 4952         T = Context.getFunctionType(T, ParamTys, EPI);
 4952         T = Context.getFunctionType(T, ParamTys, EPI);
 5006         T = S.BuildMemberPointerType(T, ClsType, DeclType.Loc,
 5006         T = S.BuildMemberPointerType(T, ClsType, DeclType.Loc,
 5008       if (T.isNull()) {
 5009         T = Context.IntTy;
 5012         T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Mem.TypeQuals);
 5012         T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Mem.TypeQuals);
 5018       T = S.BuildReadPipeType(T, DeclType.Loc);
 5018       T = S.BuildReadPipeType(T, DeclType.Loc);
 5019       processTypeAttrs(state, T, TAL_DeclSpec,
 5025     if (T.isNull()) {
 5027       T = Context.IntTy;
 5031     processTypeAttrs(state, T, TAL_DeclChunk, DeclType.getAttrs());
 5078   assert(!T.isNull() && "T must not be null after this point");
 5080   if (LangOpts.CPlusPlus && T->isFunctionType()) {
 5081     const FunctionProtoType *FnTy = T->getAs<FunctionProtoType>();
 5153         << Kind << D.isFunctionDeclarator() << T
 5162       T = Context.getFunctionType(FnTy->getReturnType(), FnTy->getParamTypes(),
 5168         T = S.BuildParenType(T);
 5168         T = S.BuildParenType(T);
 5174   processTypeAttrs(state, T, TAL_DeclName, D.getAttributes());
 5177   state.diagnoseIgnoredTypeAttrs(T);
 5183       T->isObjectType())
 5184     T.addConst();
 5188   if (T.isVolatileQualified() && S.getLangOpts().CPlusPlus2a &&
 5191     S.Diag(D.getIdentifierLoc(), diag::warn_deprecated_volatile_param) << T;
 5212       if (!T->containsUnexpandedParameterPack()) {
 5215           << T <<  D.getSourceRange();
 5218         T = Context.getPackExpansionType(T, None);
 5218         T = Context.getPackExpansionType(T, None);
 5230       if (T->containsUnexpandedParameterPack())
 5231         T = Context.getPackExpansionType(T, None);
 5231         T = Context.getPackExpansionType(T, None);
 5273   assert(!T.isNull() && "T must not be null at the end of this function");
 5275     return Context.getTrivialTypeSourceInfo(T);
 5277   return GetTypeSourceInfoForDeclarator(state, T, TInfo);