Lines Matching full:specifier
38 /// specifier-qualifier-list abstract-declarator[opt]
145 // Expect an identifier or declaration specifier (const, int, etc.)
526 /// [MS] decl-specifier:
1294 /// of a C++11 attribute-specifier in a location where an attribute is not
1299 /// this doesn't appear to actually be an attribute-specifier, and the caller
1328 /// attribute-specifier in a location where an attribute is not permitted, but
1430 /// [C++11] attribute-specifier-seq decl-specifier-seq[opt]
1436 /// attribute-specifier-seq[opt] type-specifier-seq declarator
1531 case tok::identifier: // Possible virt-specifier.
1694 // If there is an invalid declaration specifier right after the
1800 // declaration specifier, just assume it was missing and continue parsing.
2060 /// specifier-qualifier-list:
2061 /// type-specifier specifier-qualifier-list[opt]
2062 /// type-qualifier specifier-qualifier-list[opt]
2063 /// [GNU] attributes specifier-qualifier-list[opt]
2067 /// specifier-qualifier-list is a subset of declaration-specifiers. Just
2139 /// the declspec has no type specifier. In this case, the declspec is either
2164 // with an invalid type specifier.
2165 assert(!DS.hasTypeSpecifier() && "Type specifier checked above");
2169 // within a type specifier. Outside of C++, we allow this even if the
2182 // Don't require a type specifier if we have the 'auto' storage class
2183 // specifier in C++98 -- we'll promote it to a type specifier.
2335 /// \brief Determine the declaration specifier context from the declarator
2356 /// ParseAlignArgument - Parse the argument to an alignment-specifier.
2383 /// ParseAlignmentSpecifier - Parse an alignment-specifier, and add the
2386 /// alignment-specifier:
2394 "Not an alignment-specifier!");
2423 /// specifier.
2464 // simple-declaration, and are likely to come after a type-specifier.
2471 // If the declarator-id has a scope specifier, it must redeclare a
2530 /// storage-class-specifier declaration-specifiers[opt]
2531 /// type-specifier declaration-specifiers[opt]
2532 /// [C99] function-specifier declaration-specifiers[opt]
2533 /// [C11] alignment-specifier declaration-specifiers[opt]
2537 /// storage-class-specifier: [C99 6.7.1]
2547 /// function-specifier: [C99 6.7.4]
2596 // If this is not a declaration specifier token, we're done reading decl
2651 // C++ scope specifier. Annotate and loop, or bail out on error.
2679 // result and the nested-name-specifier nominates a class C:
2682 // nested-name-specifier, when looked up in C, is the
2685 // - if the name specified after the nested-name-specifier
2688 specifier,
2771 // erroneous: We already checked about that it has no type specifier, and
2850 // a type-specifier. Without this check we misparse:
2855 // In C++, check to see if this is a scope specifier like foo::bar::, if
2870 // [AltiVec] 2.2: [If the 'vector' specifier is used] The syntax does not
2871 // allow the use of a typedef name as a type specifier.
2925 // If a type specifier follows, it will be diagnosed elsewhere.
2947 // token, then try again to parse it as a type-specifier.
2996 // storage-class-specifier
3062 // function-specifier
3078 // alignment-specifier
3106 // type-specifier
3220 // class-specifier:
3230 // parsing class specifier.
3235 // If there are attributes following class specifier,
3244 // enum-specifier:
3264 // C++ typename-specifier:
3290 // it is interpreted as a type specifier (with a type name), not as a
3333 // If a type specifier follows, it will be diagnosed elsewhere.
3336 // If the specifier wasn't legal, issue a diagnostic.
3338 assert(PrevSpec && "Method did not return previous specifier!");
3362 /// specifier-qualifier-list struct-declarator-list
3364 /// [GNU] specifier-qualifier-list
3386 // Parse the common specifier-qualifiers-list piece.
3390 // specifier. Let the actions module cope with it.
3560 /// enum-specifier: [C99 6.7.2.2]
3574 /// enum-key attribute-specifier-seq[opt] identifier[opt] enum-base[opt]
3575 /// enum-key attribute-specifierspecifier
3584 /// ':' type-specifier-seq
3586 /// [C++] elaborated-type-specifier:
3587 /// [C++] 'enum' '::'[opt] nested-name-specifier[opt] identifier
3634 // specifier.
3713 // anything that's a simple-type-specifier followed by '(' as an
3723 // If the next token starts a type-specifier-seq, it may be either a
3732 // We have the start of a type-specifier-seq, so we have to perform
3740 // If we see a type specifier followed by an open-brace, we have an
3753 // We have a type-specifier-seq.
3815 // If this is an elaborated type specifier, and we delayed
3866 // This enum has a dependent nested-name-specifier. Handle it as a
4074 /// is definitely a type-specifier. Return false if it isn't part of a type
4075 /// specifier or if we're not sure.
4104 // struct-or-union-specifier (C99) or class-specifier (C++)
4109 // enum-specifier
4119 /// start of a specifier-qualifier-list.
4176 // struct-or-union-specifier (C99) or class-specifier (C++)
4181 // enum-specifier
4229 /// declaration specifier.
4275 // storage-class-specifier
4318 // struct-or-union-specifier (C99) or class-specifier (C++)
4323 // enum-specifier
4331 // function-specifier
4337 // alignment-specifier
4400 // Parse the C++ scope specifier.
4452 // specifier, in which case we have the start of a parameter and,
4526 /// [C++0x] attribute-specifier[opt] is allowed before cv-qualifier-seq
4636 // If the specifier combination wasn't legal, issue a diagnostic.
4638 assert(PrevSpec && "Method did not return previous specifier!");
4701 /// '::'[opt] nested-name-specifier '*' cv-qualifier-seq[opt]
4878 /// attribute-specifier-seq[opt]
4886 /// attribute-specifier-seq[opt] cv-qualifier-seq[opt]
4889 /// [C++11] declarator-id attribute-specifier-seq[opt]
4893 /// '::'[opt] nested-name-specifier[opt] type-name
4996 // ParseUnqualifiedId might have parsed a scope specifier during error
5019 // A virt-specifier isn't treated as an identifier if it appears after a
5258 /// (C++11) attribute-specifier-seq[opt], and (C++11) trailing-return-type[opt].
5333 // with the pure-specifier in the same way.
5401 // Parse attribute-specifier-seq[opt]. Per DR 979 and DR 1297, this goes
5569 /// [C++11] attribute-specifier-seq parameter-declaration
5577 // FIXME: Issue a diagnostic if we parsed an attribute-specifier-seq
5743 /// attribute-specifier-seq[opt]
5948 /// [GNU] typeof-specifier:
5954 assert(Tok.is(tok::kw_typeof) && "Not a typeof specifier");
6015 /// [C11] atomic-specifier:
6020 "Not an atomic specifier");