1*b2baa501Srillig /* $NetBSD: init_c90.c,v 1.5 2023/03/28 14:44:34 rillig Exp $ */ 2ae427bfbSrillig # 3 "init_c90.c" 3ae427bfbSrillig 4ae427bfbSrillig /* 5ae427bfbSrillig * Test initialization before C99. 6ae427bfbSrillig * 7ae427bfbSrillig * C90 3.5.7 8ae427bfbSrillig */ 9ae427bfbSrillig 10*b2baa501Srillig /* lint1-flags: -sw -X 351 */ 11ae427bfbSrillig 12ae427bfbSrillig struct point { 13ae427bfbSrillig int x, y; 14ae427bfbSrillig }; 15ae427bfbSrillig 16ae427bfbSrillig struct point point_c90 = { 0, 0 }; 170a781eecSrillig /* expect+2: warning: struct or union member name in initializer is a C99 feature [313] */ 180a781eecSrillig /* expect+1: warning: struct or union member name in initializer is a C99 feature [313] */ 19ae427bfbSrillig struct point point_c99 = { .x = 0, .y = 0 }; 20ae427bfbSrillig 21ae427bfbSrillig struct point points_c90[] = {{ 0, 0 }}; 220a781eecSrillig /* expect+1: warning: array initializer with designators is a C99 feature [321] */ 23ae427bfbSrillig struct point points_c99[] = {[3] = { 0, 0 }}; 24a4bbb227Srillig 25a4bbb227Srillig 26a4bbb227Srillig struct point compound_literal(void)27a4bbb227Srilligcompound_literal(void) { 28c83f7defSrillig /* expect+1: error: compound literals are a C99/GCC extension [319] */ 29a4bbb227Srillig return (struct point){ 0, 0 }; 30a4bbb227Srillig } 31