Lines Matching refs:declarator

1026 /* Possibly kinds of declarator to parse.  */
1028 /* A normal declarator with an identifier. */
1030 /* An abstract declarator (maybe empty). */
1033 /* A block declarator (maybe empty). */
1036 /* A parameter declarator: may be either, but after a type name does
1276 the first declarator. */
1298 declaration-specifiers init-declarator-list[opt] ;
1301 declaration-specifiers[opt] declarator declaration-list[opt]
1308 init-declarator-list:
1309 init-declarator
1310 init-declarator-list , init-declarator
1312 init-declarator:
1313 declarator simple-asm-expr[opt] attributes[opt]
1314 declarator simple-asm-expr[opt] attributes[opt] = initializer
1319 declaration-specifiers declarator declaration-list[opt]
1406 struct c_declarator *declarator;
1413 declarator = c_parser_declarator (parser, specs->type_seen_p,
1415 if (declarator == NULL)
1446 *foreach_elem = start_decl (declarator, specs, true,
1461 d = start_decl (declarator, specs, true,
1476 tree d = start_decl (declarator, specs, false,
1515 if (declarator->declarator && declarator->declarator->kind == cdk_block_pointer)
1527 if (!start_function (specs, declarator, all_prefix_attrs))
1547 declarator with a nonempty identifier list in a definition;
2125 specifier-qualifier-list struct-declarator-list
2132 struct-declarator-list:
2133 struct-declarator
2134 struct-declarator-list , attributes[opt] struct-declarator
2136 struct-declarator:
2137 declarator attributes[opt]
2138 declarator[opt] : constant-expression attributes[opt]
2206 struct c_declarator *declarator;
2209 declarator = build_id_declarator (NULL_TREE);
2211 declarator = c_parser_declarator (parser, specs->type_seen_p,
2213 if (declarator == NULL)
2234 d = grokfield (declarator, specs, width);
2337 /* Parse a declarator, possibly an abstract declarator (C90 6.5.4,
2340 declarator is wanted. Returns a valid declarator except in the
2346 declarator:
2347 pointer[opt] direct-declarator
2349 direct-declarator:
2351 ( attributes[opt] declarator )
2352 direct-declarator array-declarator
2353 direct-declarator ( parameter-type-list )
2354 direct-declarator ( identifier-list[opt] )
2375 declaration-specifiers declarator attributes[opt]
2376 declaration-specifiers abstract-declarator[opt] attributes[opt]
2382 abstract-declarator:
2384 pointer[opt] direct-abstract-declarator
2386 direct-abstract-declarator:
2387 ( attributes[opt] abstract-declarator )
2388 direct-abstract-declarator[opt] array-declarator
2389 direct-abstract-declarator[opt] ( parameter-type-list[opt] )
2393 direct-declarator:
2394 direct-declarator ( parameter-forward-declarations
2397 direct-abstract-declarator:
2398 direct-abstract-declarator[opt] ( parameter-forward-declarations
2406 block-declarator:
2408 pointer[opt] direct-block-declarator
2410 direct-block-declarator:
2411 ( attributes[opt] block-declarator )
2412 direct-block-declarator[opt] array-declarator
2413 direct-block-declarator[opt]
2419 Some forms of array declarator are not included in C99 in the
2423 This function also accepts an omitted abstract declarator as being
2424 an abstract declarator, although not part of the formal syntax. */
2457 /* Now we have a direct declarator, direct abstract declarator or
2458 nothing (which counts as a direct abstract declarator here). */
2462 /* Parse a direct declarator or direct abstract declarator; arguments
2469 /* The direct declarator must start with an identifier (possibly
2470 omitted) or a parenthesized declarator (possibly abstract). In
2471 an ordinary declarator, initial parentheses must start a
2472 parenthesized declarator. In an abstract declarator or parameter
2473 declarator, they could start a parenthesized declarator or a
2481 declarators. Otherwise, it is a parenthesized declarator (in
2486 could be an abstract declarator for a function, or declare x with
2492 parameter named x, and as an abstract declarator it is
2528 /* Either we are at the end of an abstract declarator, or we have
2555 /* A parenthesized declarator. */
2586 /* Parse part of a direct declarator or direct abstract declarator,
2589 declarator. */
2598 struct c_declarator *declarator;
2655 declarator = build_array_declarator (dimen, quals_attrs, static_seen,
2657 if (declarator == NULL)
2659 inner = set_array_declarator_inner (declarator, inner, !id_present);
2876 struct c_declarator *declarator;
2900 declarator = c_parser_declarator (parser, specs->type_seen_p,
2902 if (declarator == NULL)
2910 declarator);
3153 specifier-qualifier-list abstract-declarator[opt]
3160 struct c_declarator *declarator;
3171 declarator = c_parser_declarator (parser, specs->type_seen_p,
3173 if (declarator == NULL)
3177 ret->declarator = declarator;
5196 if (type_name->declarator->kind == cdk_array
5197 && type_name->declarator->u.array.vla_unspec_p)
5988 not start with a parenthesized identifier as a declarator of a data
9170 specifier-qualifier-list block-declarator
9178 struct c_declarator *declarator;
9189 declarator = c_parser_declarator (parser, specs->type_seen_p,
9191 if (declarator == NULL)
9194 return grokblockdecl (specs, declarator);