xref: /netbsd-src/tests/usr.bin/xlint/lint1/parse_init_declarator.c (revision 7d62b00eb9ad855ffcd7da46b41e23feb5476fac)
1 /*	$NetBSD: parse_init_declarator.c,v 1.3 2021/07/25 22:03:42 rillig Exp $	*/
2 # 3 "parse_init_declarator.c"
3 
4 /*
5  * Test parsing of init-declarator, which occurs as part of a top-level
6  * declaration.
7  *
8  * See also: GCC, c-parser.cpp, function c_parser_declaration_or_fndef.
9  */
10 
11 int global_var;
12 
13 int *init_declarator_without_initializer
14     __asm("") __attribute__((deprecated));
15 
16 /* XXX: GCC does not accept this, neither should lint. */
17 int *init_declarator_without_initializer_wrong_order
18     __attribute__((deprecated)) __asm("");
19 
20 int *init_declarator_with_initializer
21     __asm("") __attribute__((deprecated)) = &global_var;
22 
23 /* XXX: GCC does not accept this, neither should lint. */
24 int *init_declarator_with_initializer_wrong_order
25     __attribute__((deprecated)) __asm("") = &global_var;
26 
27 /* The attributes may only occur before the initializer, not after it. */
28 int *init_declarator_with_initializer_attribute_too_late
29     __asm("") = &global_var __attribute__((deprecated));
30 /* expect-1: error: syntax error '__attribute__' [249] */
31 
32 /* cover cgram_declare, freeyyv */
33 int original __symbolrename(renamed);
34