Home | History | Annotate | Download | only in Parse

Lines Matching refs:DeclSpec

42   DeclSpec DS(AttrFactory);
292 assert(Tok.is(tok::kw___declspec) && "Not a declspec!");
296 "declspec")) {
372 void Parser::ParseOpenCLQualifiers(DeclSpec &DS) {
1219 if (DS.getStorageClassSpec() == DeclSpec::SCS_typedef) {
1235 // prototype, and let the top-level code handle the erroneous declspec
1293 // declaration, these would be part of the declspec. In subsequent
1296 // short __attribute__((common)) var; -> declspec
1418 DeclSpec::TST_auto;
1537 void Parser::ParseSpecifierQualifierList(DeclSpec &DS, AccessSpecifier AS,
1544 // Validate declspec for type-name.
1549 } else if (Specs == DeclSpec::PQ_None && !DS.getNumProtocolQualifiers() &&
1557 if (Specs & DeclSpec::PQ_StorageClassSpecifier) {
1566 if (Specs & DeclSpec::PQ_FunctionSpecifier) {
1585 /// immediately follows the declspec. For example, these things are valid:
1597 /// This is not, because 'x' does not immediately follow the declspec (though
1609 /// identifier in a declspec (which normally terminates the decl spec) when
1610 /// the declspec has no type specifier. In this case, the declspec is either
1614 /// declspec is done being processed. If it recovers and thinks there may be
1615 /// other pieces of declspec after it, it returns true.
1617 bool Parser::ParseImplicitInt(DeclSpec &DS, CXXScopeSpec *SS,
1663 case DeclSpec::TST_enum:
1665 case DeclSpec::TST_union:
1667 case DeclSpec::TST_struct:
1669 case DeclSpec::TST_class:
1700 DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec, DiagID, T);
1839 void Parser::ParseDeclarationSpecifiers(DeclSpec &DS,
1864 // specifiers. First verify that DeclSpec's are consistent.
1982 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename,
2021 // If the referenced identifier is not a type, then this declspec is
2034 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
2048 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
2077 DS.getTypeQualifiers() == DeclSpec::TQ_const &&
2078 DS.getStorageClassSpec() == DeclSpec::SCS_static) {
2115 // If this is not a typedef name, don't parse it as part of the declspec,
2129 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
2176 // Microsoft declspec support.
2209 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_typedef, Loc,
2215 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_extern, Loc,
2219 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_private_extern,
2225 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_static, Loc,
2231 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_auto, Loc,
2237 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_auto, Loc, PrevSpec,
2240 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_auto, Loc,
2244 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_register, Loc,
2248 isInvalid = DS.SetStorageClassSpec(Actions, DeclSpec::SCS_mutable, Loc,
2296 isInvalid = DS.SetTypeSpecWidth(DeclSpec::TSW_short, Loc, PrevSpec,
2300 if (DS.getTypeSpecWidth() != DeclSpec::TSW_long)
2301 isInvalid = DS.SetTypeSpecWidth(DeclSpec::TSW_long, Loc, PrevSpec,
2304 isInvalid = DS.SetTypeSpecWidth(DeclSpec::TSW_longlong, Loc, PrevSpec,
2308 isInvalid = DS.SetTypeSpecWidth(DeclSpec::TSW_longlong, Loc, PrevSpec,
2312 isInvalid = DS.SetTypeSpecSign(DeclSpec::TSS_signed, Loc, PrevSpec,
2316 isInvalid = DS.SetTypeSpecSign(DeclSpec::TSS_unsigned, Loc, PrevSpec,
2320 isInvalid = DS.SetTypeSpecComplex(DeclSpec::TSC_complex, Loc, PrevSpec,
2324 isInvalid = DS.SetTypeSpecComplex(DeclSpec::TSC_imaginary, Loc, PrevSpec,
2328 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_void, Loc, PrevSpec,
2332 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char, Loc, PrevSpec,
2336 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_int, Loc, PrevSpec,
2340 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_int128, Loc, PrevSpec,
2344 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_half, Loc, PrevSpec,
2348 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_float, Loc, PrevSpec,
2352 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_double, Loc, PrevSpec,
2356 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_wchar, Loc, PrevSpec,
2360 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char16, Loc, PrevSpec,
2364 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char32, Loc, PrevSpec,
2370 DS.getTypeSpecType() != DeclSpec::TST_unspecified &&
2371 DS.getStorageClassSpec() == DeclSpec::SCS_typedef) {
2378 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_bool, Loc, PrevSpec,
2383 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_decimal32, Loc, PrevSpec,
2387 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_decimal64, Loc, PrevSpec,
2391 isInvalid = DS.SetTypeSpecType(DeclSpec::TST_decimal128, Loc, PrevSpec,
2424 isInvalid = DS.SetTypeQual(DeclSpec::TQ_const, Loc, PrevSpec, DiagID,
2428 isInvalid = DS.SetTypeQual(DeclSpec::TQ_volatile, Loc, PrevSpec, DiagID,
2432 isInvalid = DS.SetTypeQual(DeclSpec::TQ_restrict, Loc, PrevSpec, DiagID,
2529 ParseStructDeclaration(DeclSpec &DS, FieldCallback &Fields) {
2634 << DeclSpec::getSpecifierName((DeclSpec::TST)TagType)
2641 DeclSpec DS(AttrFactory);
2745 void Parser::ParseEnumSpecifier(SourceLocation StartLoc, DeclSpec &DS,
2751 Actions.CodeCompleteTag(getCurScope(), DeclSpec::TST_enum);
2962 Decl *TagDecl = Actions.ActOnTag(getCurScope(), DeclSpec::TST_enum, TUK,
2977 TypeResult Type = Actions.ActOnDependentTag(getCurScope(), DeclSpec::TST_enum,
2985 if (DS.SetTypeSpecType(DeclSpec::TST_typename, StartLoc,
3016 if (DS.SetTypeSpecType(DeclSpec::TST_enum, StartLoc,
3552 void Parser::ParseTypeQualifierListOpt(DeclSpec &DS,
3576 isInvalid = DS.SetTypeQual(DeclSpec::TQ_const , Loc, PrevSpec, DiagID,
3580 isInvalid = DS.SetTypeQual(DeclSpec::TQ_volatile, Loc, PrevSpec, DiagID,
3584 isInvalid = DS.SetTypeQual(DeclSpec::TQ_restrict, Loc, PrevSpec, DiagID,
3630 // qualifiers. First verify that DeclSpec's are consistent.
3718 DeclSpec DS(AttrFactory);
3750 DeclSpec DS(AttrFactory);
3774 DeclSpec DS(AttrFactory);
3790 if (DS.getTypeQualifiers() != DeclSpec::TQ_unspecified) {
3791 if (DS.getTypeQualifiers() & DeclSpec::TQ_const)
3794 if (DS.getTypeQualifiers() & DeclSpec::TQ_volatile)
4190 DeclSpec DS(AttrFactory);
4271 != DeclSpec::SCS_typedef &&
4454 DeclSpec DS(AttrFactory);
4643 DeclSpec DS(AttrFactory);
4711 void Parser::ParseTypeofSpecifier(DeclSpec &DS) {
4743 if (DS.SetTypeSpecType(DeclSpec::TST_typeofType, StartLoc, PrevSpec,
4765 if (DS.SetTypeSpecType(DeclSpec::TST_typeofExpr, StartLoc, PrevSpec,
4773 void Parser::ParseAtomicSpecifier(DeclSpec &DS) {
4800 if (DS.SetTypeSpecType(DeclSpec::TST_atomic, StartLoc, PrevSpec,
4834 bool Parser::TryAltiVecTokenOutOfLine(DeclSpec &DS, SourceLocation Loc,