1/* $NetBSD: lsym_type.c,v 1.1 2023/06/16 23:51:32 rillig Exp $ */ 2 3/* 4 * Tests for the token lsym_type, which represents a type name in the following 5 * contexts: 6 * 7 * In a declaration that is not for a function. 8 * 9 * As part of a parameter list of a function prototype. 10 * 11 * In a cast expression. 12 * 13 * In a compound expression (since C99). 14 * 15 * See also: 16 * fmt_decl 17 * lex_ident 18 * lsym_word 19 * opt_ta 20 * opt_T 21 */ 22 23/* 24 * Indent has to guess which identifiers are types and which are variables. 25 */ 26//indent input 27t1 *no_init_ptr; 28t2 *init_ptr = 0; 29const t3 *const_no_init_ptr; 30static t4 *static_no_init_ptr; 31typedef t5 *typedef_no_init_ptr; 32 33// $ XXX: There's no point aligning the word 'const' with the other names. 34const char *const names[3]; 35//indent end 36 37//indent run-equals-input -di24 38 39 40//indent input 41{ 42{} 43size_t hello; 44} 45//indent end 46 47//indent run 48{ 49 { 50 } 51 size_t hello; 52} 53//indent end 54 55 56/* 57 * In a sizeof expression, a type argument must be enclosed in parentheses. 58 */ 59//indent input 60int sizeof_int = sizeof int; 61//indent end 62 63//indent run-equals-input -di0 64