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