Home | History | Annotate | Download | only in Sema

Lines Matching refs:DeclType

975     assert(E && "Didn't get an expression for decltype?");
1038 Result = Context.getAutoType(QualType(), /*decltype(auto)*/false, false);
1044 /*decltype(auto)*/true,
1123 // or decltype-specifier, in which case the cv-qualifiers are ignored.
1424 // decltype-specifier (7.1.6.2) denotes a type TR that is a reference to a
2244 DeclaratorChunk &DeclType = D.getTypeObject(chunkIndex);
2245 if (DeclType.Kind == DeclaratorChunk::Function) {
2246 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
2341 DeclaratorChunk &DeclType, QualType RT) {
2342 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
2371 SourceRange ParenRange(DeclType.Loc, DeclType.EndLoc);
2373 S.Diag(DeclType.Loc,
2421 S.Diag(DeclType.Loc, diag::note_empty_parens_default_ctor)
2429 S.Diag(DeclType.Loc, diag::note_empty_parens_zero_initialize)
2507 // If T is 'decltype(auto)', the only declarators we can have are parens
2553 DeclaratorChunk &DeclType = D.getTypeObject(chunkIndex);
2554 IsQualifiedFunction &= DeclType.Kind == DeclaratorChunk::Paren;
2555 switch (DeclType.Kind) {
2562 S.Diag(DeclType.Loc, diag::err_blocks_disable);
2565 if (DeclType.Cls.TypeQuals)
2566 T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Cls.TypeQuals);
2578 if (DeclType.Ptr.TypeQuals)
2579 T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Ptr.TypeQuals);
2582 T = S.BuildPointerType(T, DeclType.Loc, Name);
2583 if (DeclType.Ptr.TypeQuals)
2584 T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Ptr.TypeQuals);
2595 T = S.BuildReferenceType(T, DeclType.Ref.LValueRef, DeclType.Loc, Name);
2597 if (DeclType.Ref.HasRestrict)
2598 T = S.BuildQualifiedType(T, DeclType.Loc, Qualifiers::Restrict);
2609 DeclaratorChunk::ArrayTypeInfo &ATI = DeclType.Arr;
2622 S.Diag(DeclType.Loc, diag::err_array_star_outside_prototype);
2633 S.Diag(DeclType.Loc, diag::err_array_static_outside_prototype) <<
2656 S.Diag(DeclType.Loc, diag::err_array_static_not_outermost) <<
2674 // We've already diagnosed this for decltype(auto).
2676 S.Diag(DeclType.Loc, diag::err_illegal_decl_array_of_auto)
2683 SourceRange(DeclType.Loc, DeclType.EndLoc), Name);
2690 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
2741 S.Diag(DeclType.Loc, diagID) << T->isFunctionType() << T;
2851 warnAboutAmbiguousFunction(S, D, DeclType, T);
2918 S.Diag(DeclType.Loc, diag::err_void_only_param);
2929 S.Diag(DeclType.Loc, diag::err_void_param_qualified);
3006 CXXScopeSpec &SS = DeclType.Mem.Scope();
3039 S.Diag(DeclType.Mem.Scope().getBeginLoc(),
3042 << DeclType.Mem.Scope().getRange();
3047 T = S.BuildMemberPointerType(T, ClsType, DeclType.Loc, D.getIdentifier());
3051 } else if (DeclType.Mem.TypeQuals) {
3052 T = S.BuildQualifiedType(T, DeclType.Loc, DeclType.Mem.TypeQuals);
3063 if (AttributeList *attrs = const_cast<AttributeList*>(DeclType.getAttrs()))
5486 /// getDecltypeForExpr - Given an expr, will return the decltype for
5494 // The type denoted by decltype(e) is defined as follows:
5497 // member access (5.2.5), decltype(e) is the type of the entity named
5516 // Every occurrence of decltype((x)) where x is a possibly
5540 // - otherwise, if e is an xvalue, decltype(e) is T&&, where T is the
5543 // - otherwise, if e is an lvalue, decltype(e) is T&, where T is the
5546 // - otherwise, decltype(e) is the type of e.