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