1 /* $NetBSD: parse_init_declarator.c,v 1.4 2023/03/28 14:44:35 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 /* lint1-extra-flags: -X 351 */ 12 13 int global_var; 14 15 int *init_declarator_without_initializer 16 __asm("") __attribute__((deprecated)); 17 18 /* XXX: GCC does not accept this, neither should lint. */ 19 int *init_declarator_without_initializer_wrong_order 20 __attribute__((deprecated)) __asm(""); 21 22 int *init_declarator_with_initializer 23 __asm("") __attribute__((deprecated)) = &global_var; 24 25 /* XXX: GCC does not accept this, neither should lint. */ 26 int *init_declarator_with_initializer_wrong_order 27 __attribute__((deprecated)) __asm("") = &global_var; 28 29 /* The attributes may only occur before the initializer, not after it. */ 30 int *init_declarator_with_initializer_attribute_too_late 31 __asm("") = &global_var __attribute__((deprecated)); 32 /* expect-1: error: syntax error '__attribute__' [249] */ 33 34 /* cover cgram_declare, freeyyv */ 35 int original __symbolrename(renamed); 36