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