Lines Matching refs:DS

52   DeclSpec DS(AttrFactory);
54 DS.addAttributes(*Attrs);
55 ParseSpecifierQualifierList(DS, AS, DSC);
57 *OwnedType = DS.isTypeSpecOwned() ? DS.getRepAsDecl() : nullptr;
60 Declarator DeclaratorInfo(DS, ParsedAttributesView::none(), Context);
1732 // This function moves attributes that should apply to the type off DS to Attrs.
1734 DeclSpec &DS,
1741 for (ParsedAttr &AL : DS.getAttributes()) {
1749 DS.getAttributes().remove(AL);
1861 ParsingDeclSpec DS(*this);
1862 DS.takeAttributesFrom(DeclSpecAttrs);
1865 ParseDeclarationSpecifiers(DS, ParsedTemplateInfo(), AS_none, DSContext);
1869 if (DS.hasTagDefinition() &&
1870 DiagnoseMissingSemiAfterTagDefinition(DS, AS_none, DSContext))
1881 getCurScope(), AS_none, DS, ParsedAttributesView::none(), AnonRecord);
1882 DS.complete(TheDecl);
1891 DS.SetRangeStart(*DeclSpecStart);
1893 return ParseDeclGroup(DS, Context, DeclAttrs, &DeclEnd, FRI);
2046 Parser::DeclGroupPtrTy Parser::ParseDeclGroup(ParsingDeclSpec &DS,
2057 ParsingDeclarator D(*this, DS, LocalAttrs, Context);
2089 bool Fixit = !DS.setFunctionSpecNoreturn(Loc, PrevSpec, DiagID);
2127 if (DS.getStorageClassSpec() == DeclSpec::SCS_typedef) {
2131 DS.ClearStorageClassSpecs();
2192 return Actions.FinalizeDeclaratorGroup(getCurScope(), DS, ThisDecl);
2272 return Actions.FinalizeDeclaratorGroup(getCurScope(), DS, DeclsInGroup);
2581 DeclSpec &DS, ImplicitTypenameContext AllowImplicitTypename,
2586 ParseDeclarationSpecifiers(DS, ParsedTemplateInfo(), AS, DSC, nullptr,
2590 unsigned Specs = DS.getParsedSpecifiers();
2591 if (isTypeSpecifier(DSC) && !DS.hasTypeSpecifier()) {
2593 DS.SetTypeSpecError();
2594 } else if (Specs == DeclSpec::PQ_None && !DS.hasAttributes()) {
2596 if (!DS.hasTypeSpecifier())
2597 DS.SetTypeSpecError();
2602 if (DS.getStorageClassSpecLoc().isValid())
2603 Diag(DS.getStorageClassSpecLoc(),diag::err_typename_invalid_storageclass);
2605 Diag(DS.getThreadStorageClassSpecLoc(),
2607 DS.ClearStorageClassSpecs();
2612 if (DS.isInlineSpecified())
2613 Diag(DS.getInlineSpecLoc(), diag::err_typename_invalid_functionspec);
2614 if (DS.isVirtualSpecified())
2615 Diag(DS.getVirtualSpecLoc(), diag::err_typename_invalid_functionspec);
2616 if (DS.hasExplicitSpecifier())
2617 Diag(DS.getExplicitSpecLoc(), diag::err_typename_invalid_functionspec);
2618 if (DS.isNoreturnSpecified())
2619 Diag(DS.getNoreturnSpecLoc(), diag::err_typename_invalid_functionspec);
2620 DS.ClearFunctionSpecs();
2624 if (DS.hasConstexprSpecifier() && DSC != DeclSpecContext::DSC_condition) {
2625 Diag(DS.getConstexprSpecLoc(), diag::err_typename_invalid_constexpr)
2626 << static_cast<int>(DS.getConstexprSpecifier());
2627 DS.ClearConstexprSpec();
2664 bool Parser::ParseImplicitInt(DeclSpec &DS, CXXScopeSpec *SS,
2683 assert(!DS.hasTypeSpecifier() && "Type specifier checked above");
2700 if (getLangOpts().OpenCLCPlusPlus && DS.isTypeSpecPipe())
2704 DS.getStorageClassSpec() == DeclSpec::SCS_auto) {
2722 DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec, DiagID, T,
2724 DS.SetRangeEnd(Tok.getLocation());
2773 ParseEnumSpecifier(Loc, DS, TemplateInfo, AS,
2776 ParseClassSpecifier(TagKind, Loc, DS, TemplateInfo, AS,
2859 DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec, DiagID, T,
2861 DS.SetRangeEnd(Tok.getLocation());
2873 DS.SetTypeSpecError();
2874 DS.SetRangeEnd(Tok.getLocation());
3035 Parser::DiagnoseMissingSemiAfterTagDefinition(DeclSpec &DS, AccessSpecifier AS,
3038 assert(DS.hasTagDefinition() && "shouldn't call this");
3121 Diag(PP.getLocForEndOfToken(DS.getRepAsDecl()->getEndLoc()),
3123 << DeclSpec::getSpecifierName(DS.getTypeSpecType(), PPol) << tok::semi;
3132 DS.ClearTypeSpecType();
3134 ParseDeclarationSpecifiers(DS, NotATemplate, AS, DSContext, LateAttrs);
3177 DeclSpec &DS, const ParsedTemplateInfo &TemplateInfo, AccessSpecifier AS,
3180 if (DS.getSourceRange().isInvalid()) {
3184 DS.SetRangeStart(Tok.getLocation());
3185 DS.SetRangeEnd(SourceLocation());
3220 DS.getStorageClassSpec() == clang::DeclSpec::SCS_typedef &&
3221 !DS.hasTypeSpecifier() && GetLookAheadToken(1).is(tok::less))
3235 isInvalid = DS.SetTypeSpecType(ImageTypeSpec, Loc, PrevSpec, DiagID, Policy);
3276 DS.takeAttributesFrom(attrs);
3281 DS.Finish(Actions, Policy);
3302 if (DS.hasTypeSpecifier()) {
3311 (DSContext == DeclSpecContext::DSC_class && DS.isFriendSpecified());
3314 Actions.CodeCompleteDeclSpec(getCurScope(), DS,
3339 if (!DS.hasTypeSpecifier())
3340 DS.SetTypeSpecError();
3348 if (DS.hasTypeSpecifier() || DS.isTypeAltiVecVector())
3365 DS.SetTypeSpecError();
3386 DS.isFriendSpecified())) {
3394 DS.getTypeSpecScope() = SS;
3404 DS.getTypeSpecScope() = SS;
3413 DS.getTypeSpecScope() = SS;
3416 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename,
3421 DS.SetRangeEnd(Tok.getAnnotationEndLoc());
3429 DS.getTypeSpecScope() = SS;
3447 DS.isFriendSpecified()))
3479 if (ParseImplicitInt(DS, &SS, TemplateInfo, AS, DSContext, Attrs)) {
3489 DS.getTypeSpecScope() = SS;
3492 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
3497 DS.SetRangeEnd(Tok.getLocation());
3506 if (DS.hasTypeSpecifier() && DS.hasTagDefinition())
3510 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
3515 DS.SetRangeEnd(Tok.getAnnotationEndLoc());
3529 if (DS.getTypeSpecType() == TST_bool &&
3530 DS.getTypeQualifiers() == DeclSpec::TQ_const &&
3531 DS.getStorageClassSpec() == DeclSpec::SCS_static)
3545 if (DS.hasTypeSpecifier())
3590 DS.SetTypeSpecError();
3599 if (TryAltiVecToken(DS, Loc, PrevSpec, DiagID, isInvalid))
3604 if (DS.isTypeAltiVecVector())
3611 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
3616 DS.SetRangeEnd(Loc);
3627 DS.isFriendSpecified()))
3643 if (ParseImplicitInt(DS, nullptr, TemplateInfo, AS, DSContext, Attrs)) {
3664 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
3669 DS.SetRangeEnd(Tok.getLocation());
3681 DS.UpdateTypeRep(NewTypeRep.get());
3682 DS.SetRangeEnd(NewEndLoc);
3696 DS.SetTypeSpecError();
3717 isInvalid = DS.SetTypeSpecType(TST_auto, Loc, PrevSpec, DiagID,
3743 DS.setTypeArgumentRange(Tracker.getRange());
3746 isInvalid = DS.SetTypeSpecType(TST_decltype_auto, Loc, PrevSpec,
3749 isInvalid = DS.SetTypeSpecType(TST_auto, AutoLoc, PrevSpec, DiagID,
3769 DS.isFriendSpecified()))
3782 ParseAttributes(PAKM_GNU | PAKM_Declspec, DS.getAttributes(), LateAttrs);
3787 isInvalid = DS.setFunctionSpecForceInline(Loc, PrevSpec, DiagID);
3790 DS.getAttributes().addNew(AttrName, AttrNameLoc, nullptr, AttrNameLoc,
3796 isInvalid = DS.SetTypeQual(DeclSpec::TQ_unaligned, Loc, PrevSpec, DiagID,
3811 ParseMicrosoftTypeAttributes(DS.getAttributes());
3816 ParseBorlandTypeAttributes(DS.getAttributes());
3821 ParseOpenCLKernelAttributes(DS.getAttributes());
3826 ParseCUDAFunctionAttributes(DS.getAttributes());
3834 ParseNullabilityTypeSpecifiers(DS.getAttributes());
3839 DS.getAttributes().addNew(Tok.getIdentifierInfo(), Loc, nullptr, Loc,
3846 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_typedef, Loc,
3851 if (DS.getThreadStorageClassSpec() == DeclSpec::TSCS___thread)
3853 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_extern, Loc,
3858 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_private_extern,
3863 if (DS.getThreadStorageClassSpec() == DeclSpec::TSCS___thread)
3865 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_static, Loc,
3872 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_auto, Loc,
3876 << FixItHint::CreateRemoval(DS.getStorageClassSpecLoc());
3878 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_auto, Loc, PrevSpec,
3881 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_auto, Loc,
3887 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_auto_type, Loc, PrevSpec,
3891 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_register, Loc,
3896 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_mutable, Loc,
3901 isInvalid = DS.SetStorageClassSpecThread(DeclSpec::TSCS___thread, Loc,
3906 isInvalid = DS.SetStorageClassSpecThread(DeclSpec::TSCS_thread_local, Loc,
3913 isInvalid = DS.SetStorageClassSpecThread(DeclSpec::TSCS__Thread_local,
3920 isInvalid = DS.setFunctionSpecInline(Loc, PrevSpec, DiagID);
3932 isInvalid = DS.setFunctionSpecVirtual(Loc, PrevSpec, DiagID);
3963 isInvalid = DS.setFunctionSpecExplicit(ExplicitLoc, PrevSpec, DiagID,
3970 isInvalid = DS.setFunctionSpecNoreturn(Loc, PrevSpec, DiagID);
3977 ParseAlignmentSpecifier(DS.getAttributes());
3983 isInvalid = DS.SetFriendSpec(Loc, PrevSpec, DiagID);
3993 isInvalid = DS.setModulePrivateSpec(Loc, PrevSpec, DiagID);
3998 isInvalid = DS.SetConstexprSpec(ConstexprSpecKind::Constexpr, Loc,
4002 isInvalid = DS.SetConstexprSpec(ConstexprSpecKind::Consteval, Loc,
4006 isInvalid = DS.SetConstexprSpec(ConstexprSpecKind::Constinit, Loc,
4012 isInvalid = DS.SetTypeSpecWidth(TypeSpecifierWidth::Short, Loc, PrevSpec,
4016 if (DS.getTypeSpecWidth() != TypeSpecifierWidth::Long)
4017 isInvalid = DS.SetTypeSpecWidth(TypeSpecifierWidth::Long, Loc, PrevSpec,
4020 isInvalid = DS.SetTypeSpecWidth(TypeSpecifierWidth::LongLong, Loc,
4024 isInvalid = DS.SetTypeSpecWidth(TypeSpecifierWidth::LongLong, Loc,
4029 DS.SetTypeSpecSign(TypeSpecifierSign::Signed, Loc, PrevSpec, DiagID);
4032 isInvalid = DS.SetTypeSpecSign(TypeSpecifierSign::Unsigned, Loc, PrevSpec,
4038 isInvalid = DS.SetTypeSpecComplex(DeclSpec::TSC_complex, Loc, PrevSpec,
4044 isInvalid = DS.SetTypeSpecComplex(DeclSpec::TSC_imaginary, Loc, PrevSpec,
4048 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_void, Loc, PrevSpec,
4052 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char, Loc, PrevSpec,
4056 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_int, Loc, PrevSpec,
4065 isInvalid = DS.SetBitIntType(Loc, ER.get(), PrevSpec, DiagID, Policy);
4070 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_int128, Loc, PrevSpec,
4074 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_half, Loc, PrevSpec,
4078 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_BFloat16, Loc, PrevSpec,
4082 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_float, Loc, PrevSpec,
4086 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_double, Loc, PrevSpec,
4090 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_float16, Loc, PrevSpec,
4097 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_accum, Loc, PrevSpec,
4105 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_fract, Loc, PrevSpec,
4113 isInvalid = DS.SetTypeSpecSat(Loc, PrevSpec, DiagID);
4117 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_float128, Loc, PrevSpec,
4121 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_ibm128, Loc, PrevSpec,
4125 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_wchar, Loc, PrevSpec,
4129 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char8, Loc, PrevSpec,
4133 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char16, Loc, PrevSpec,
4137 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char32, Loc, PrevSpec,
4146 DS.getTypeSpecType() != DeclSpec::TST_unspecified &&
4147 DS.getStorageClassSpec() == DeclSpec::SCS_typedef) {
4154 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_bool, Loc, PrevSpec,
4159 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_decimal32, Loc, PrevSpec,
4163 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_decimal64, Loc, PrevSpec,
4167 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_decimal128, Loc, PrevSpec,
4171 isInvalid = DS.SetTypeAltiVecVector(true, Loc, PrevSpec, DiagID, Policy);
4174 isInvalid = DS.SetTypeAltiVecPixel(true, Loc, PrevSpec, DiagID, Policy);
4177 isInvalid = DS.SetTypeAltiVecBool(true, Loc, PrevSpec, DiagID, Policy);
4192 isInvalid = DS.SetTypePipe(true, Loc, PrevSpec, DiagID, Policy);
4204 isInvalid = DS.SetTypeSpecType(TST_unknown_anytype, Loc,
4220 ParseClassSpecifier(Kind, Loc, DS, TemplateInfo, AS,
4235 ParseEnumSpecifier(Loc, DS, TemplateInfo, AS, DSContext);
4240 isInvalid = DS.SetTypeQual(DeclSpec::TQ_const, Loc, PrevSpec, DiagID,
4244 isInvalid = DS.SetTypeQual(DeclSpec::TQ_volatile, Loc, PrevSpec, DiagID,
4248 isInvalid = DS.SetTypeQual(DeclSpec::TQ_restrict, Loc, PrevSpec, DiagID,
4255 DS.SetTypeSpecError();
4265 ParseTypeofSpecifier(DS);
4269 ParseDecltypeSpecifier(DS);
4293 if (!MaybeParseTypeTransformTypeSpecifier(DS))
4306 ParseAtomicSpecifier(DS);
4309 isInvalid = DS.SetTypeQual(DeclSpec::TQ_atomic, Loc, PrevSpec, DiagID,
4340 ParseOpenCLQualifiers(DS.getAttributes());
4345 ParseHLSLQualifiers(DS.getAttributes());
4352 if (DS.hasTypeSpecifier() || !getLangOpts().ObjC)
4359 if (DS.SetTypeSpecType(DeclSpec::TST_typename, StartLoc, StartLoc,
4364 DS.SetRangeEnd(EndLoc);
4366 DS.SetTypeSpecError();
4374 DS.SetRangeEnd(ConsumedEnd.isValid() ? ConsumedEnd : Tok.getLocation());
4386 SourceRange(Loc, DS.getEndLoc()));
4424 ParsingDeclSpec &DS,
4431 return ParseStructDeclaration(DS, FieldsCallback);
4439 ParseSpecifierQualifierList(DS);
4451 getCurScope(), AS_none, DS, ParsedAttributesView::none(), AnonRecord);
4453 DS.complete(TheDecl);
4461 ParsingFieldDeclarator DeclaratorInfo(*this, DS, Attrs);
4583 ParsingDeclSpec DS(*this);
4584 ParseStructDeclaration(DS, CFieldCallback);
4665 void Parser::ParseEnumSpecifier(SourceLocation StartLoc, DeclSpec &DS,
4673 DS.SetTypeSpecError(); // Needed by ActOnUsingDeclaration.
4714 DS.isEmpty() && isOpaqueEnumDeclarationContext(DSC);
4720 CXXScopeSpec &SS = DS.getTypeSpecScope();
4733 DS.SetTypeSpecError();
4750 DS.SetTypeSpecError();
4790 // 2) As the sole constituent of a complete declaration -- when DS is empty
4821 DeclSpec DS(AttrFactory);
4824 ParseSpecifierQualifierList(DS, ImplicitTypenameContext::No, AS,
4826 Declarator DeclaratorInfo(DS, ParsedAttributesView::none(),
4863 if (DS.isFriendSpecified()) {
4865 << SourceRange(DS.getFriendSpecLoc());
4884 TUK = DS.isFriendSpecified() ? Sema::TUK_Friend : Sema::TUK_Declaration;
4916 DS.SetTypeSpecError();
4929 DS.SetTypeSpecError();
4955 stripTypeAttributesOffDeclSpec(attrs, DS, TUK);
4970 Name, NameLoc, attrs, AS, DS.getModulePrivateSpecLoc(),
4985 if (DS.SetTypeSpecType(DeclSpec::TST_enum, StartLoc,
4997 DS.SetTypeSpecError();
5005 DS.SetTypeSpecError();
5009 if (DS.SetTypeSpecType(DeclSpec::TST_typename, StartLoc,
5026 DS.SetTypeSpecError();
5035 DS.SetTypeSpecError();
5040 if (DS.SetTypeSpecType(DeclSpec::TST_enum, StartLoc,
5799 DeclSpec &DS, unsigned AttrReqs, bool AtomicAllowed,
5806 DS.takeAttributesFrom(Attrs);
5823 Actions.CodeCompleteTypeQualifiers(DS);
5827 isInvalid = DS.SetTypeQual(DeclSpec::TQ_const , Loc, PrevSpec, DiagID,
5831 isInvalid = DS.SetTypeQual(DeclSpec::TQ_volatile, Loc, PrevSpec, DiagID,
5835 isInvalid = DS.SetTypeQual(DeclSpec::TQ_restrict, Loc, PrevSpec, DiagID,
5843 isInvalid = DS.SetTypeQual(DeclSpec::TQ_atomic, Loc, PrevSpec, DiagID,
5860 ParseOpenCLQualifiers(DS.getAttributes());
5865 ParseHLSLQualifiers(DS.getAttributes());
5869 isInvalid = DS.SetTypeQual(DeclSpec::TQ_unaligned, Loc, PrevSpec, DiagID,
5876 IdentifierRequired && DS.isEmpty() && NextToken().is(tok::semi)) {
5892 ParseMicrosoftTypeAttributes(DS.getAttributes());
5898 ParseBorlandTypeAttributes(DS.getAttributes());
5908 ParseNullabilityTypeSpecifiers(DS.getAttributes());
5913 DS.getAttributes().addNew(Tok.getIdentifierInfo(), Loc, nullptr, Loc,
5927 ParseGNUAttributes(DS.getAttributes());
5936 DS.Finish(Actions, Actions.getASTContext().getPrintingPolicy());
5938 DS.SetRangeEnd(EndLoc);
6063 DeclSpec DS(AttrFactory);
6064 ParseTypeQualifierListOpt(DS);
6065 D.ExtendWithDeclSpec(DS);
6075 SS, DS.getTypeQualifiers(), StarLoc, DS.getEndLoc()),
6076 std::move(DS.getAttributes()),
6085 DeclSpec DS(AttrFactory);
6086 ParseTypeQualifierListOpt(DS);
6089 DeclaratorChunk::getPipe(DS.getTypeQualifiers(), DS.getPipeLoc()),
6090 std::move(DS.getAttributes()), SourceLocation());
6107 DeclSpec DS(AttrFactory);
6115 ParseTypeQualifierListOpt(DS, Reqs, true, !D.mayOmitIdentifier());
6116 D.ExtendWithDeclSpec(DS);
6124 DS.getTypeQualifiers(), Loc, DS.getConstSpecLoc(),
6125 DS.getVolatileSpecLoc(), DS.getRestrictSpecLoc(),
6126 DS.getAtomicSpecLoc(), DS.getUnalignedSpecLoc()),
6127 std::move(DS.getAttributes()), SourceLocation());
6131 DeclaratorChunk::getBlockPointer(DS.getTypeQualifiers(), Loc),
6132 std::move(DS.getAttributes()), SourceLocation());
6135 DeclSpec DS(AttrFactory);
6145 ParseTypeQualifierListOpt(DS);
6146 D.ExtendWithDeclSpec(DS);
6151 if (DS.getTypeQualifiers() != DeclSpec::TQ_unspecified) {
6152 if (DS.getTypeQualifiers() & DeclSpec::TQ_const)
6153 Diag(DS.getConstSpecLoc(),
6155 if (DS.getTypeQualifiers() & DeclSpec::TQ_volatile)
6156 Diag(DS.getVolatileSpecLoc(),
6159 if (DS.getTypeQualifiers() & DeclSpec::TQ_atomic)
6160 Diag(DS.getAtomicSpecLoc(),
6186 D.AddTypeInfo(DeclaratorChunk::getReference(DS.getTypeQualifiers(), Loc,
6188 std::move(DS.getAttributes()), SourceLocation());
6767 const Declarator &D, const DeclSpec &DS,
6787 Qualifiers Q = Qualifiers::fromCVRUMask(DS.getTypeQualifiers());
6796 for (ParsedAttr &attr : DS.getAttributes()) {
6846 DeclSpec DS(AttrFactory);
6906 ParseTypeQualifierListOpt(DS, AR_NoAttributesParsed,
6910 Actions.CodeCompleteFunctionQualifiers(DS, D);
6912 if (!DS.getSourceRange().getEnd().isInvalid()) {
6913 EndLoc = DS.getSourceRange().getEnd();
6921 InitCXXThisScopeForDeclaratorIfRelevant(D, DS, ThisScope);
7003 &DS),
7182 DeclSpec DS(AttrFactory);
7203 ParseDeclarationSpecifiers(DS, /*TemplateInfo=*/ParsedTemplateInfo(),
7206 DS.takeAttributesFrom(ArgDeclSpecAttrs);
7211 Declarator ParmDeclarator(DS, ArgDeclAttrs,
7222 MaybeParseHLSLSemantics(DS.getAttributes());
7244 if (DS.isEmpty() && ParmDeclarator.getIdentifier() == nullptr &&
7443 DeclSpec DS(AttrFactory);
7444 ParseTypeQualifierListOpt(DS, AR_CXX11AttributesParsed);
7500 MaybeParseCXX11Attributes(DS.getAttributes());
7504 DeclaratorChunk::getArray(DS.getTypeQualifiers(), StaticLoc.isValid(),
7507 std::move(DS.getAttributes()), T.getCloseLocation());
7611 void Parser::ParseTypeofSpecifier(DeclSpec &DS) {
7635 DS.setTypeArgumentRange(CastRange);
7639 DS.SetRangeEnd(Tok.getLocation());
7641 DS.SetRangeEnd(CastRange.getEnd());
7645 DS.SetTypeSpecError();
7652 if (DS.SetTypeSpecType(IsUnqual ? DeclSpec::TST_typeof_unqualType
7663 DS.SetTypeSpecError();
7670 DS.SetTypeSpecError();
7677 if (DS.SetTypeSpecType(IsUnqual ? DeclSpec::TST_typeof_unqualExpr
7688 void Parser::ParseAtomicSpecifier(DeclSpec &DS) {
7709 DS.setTypeArgumentRange(T.getRange());
7710 DS.SetRangeEnd(T.getCloseLocation());
7714 if (DS.SetTypeSpecType(DeclSpec::TST_atomic, StartLoc, PrevSpec,
7755 bool Parser::TryAltiVecTokenOutOfLine(DeclSpec &DS, SourceLocation Loc,
7775 isInvalid = DS.SetTypeAltiVecVector(true, Loc, PrevSpec, DiagID, Policy);
7779 isInvalid = DS.SetTypeAltiVecVector(true, Loc, PrevSpec, DiagID,Policy);
7785 DS.SetTypeAltiVecVector(true, Loc, PrevSpec, DiagID, Policy);
7793 DS.isTypeAltiVecVector()) {
7794 isInvalid = DS.SetTypeAltiVecPixel(true, Loc, PrevSpec, DiagID, Policy);
7797 DS.isTypeAltiVecVector()) {
7798 isInvalid = DS.SetTypeAltiVecBool(true, Loc, PrevSpec, DiagID, Policy);