1 1.5 rillig /* $NetBSD: d_c99_nested_struct.c,v 1.5 2023/03/28 14:44:34 rillig Exp $ */ 2 1.2 rillig # 3 "d_c99_nested_struct.c" 3 1.2 rillig 4 1.5 rillig /* lint1-extra-flags: -X 351 */ 5 1.5 rillig 6 1.1 christos /* C99 nested struct init with named and non-named initializers */ 7 1.1 christos typedef struct pthread_mutex_t { 8 1.3 rillig unsigned int ptm_magic; 9 1.3 rillig char ptm_errorcheck; 10 1.1 christos 11 1.3 rillig char ptm_pad1[3]; 12 1.1 christos 13 1.3 rillig char ptm_interlock; 14 1.1 christos 15 1.3 rillig char ptm_pad2[3]; 16 1.1 christos 17 1.3 rillig volatile void *ptm_owner; 18 1.3 rillig void *volatile ptm_waiters; 19 1.3 rillig unsigned int ptm_recursed; 20 1.3 rillig void *ptm_spare2; 21 1.1 christos } pthread_mutex_t; 22 1.1 christos 23 1.1 christos 24 1.1 christos struct arc4random_global { 25 1.3 rillig pthread_mutex_t lock; 26 1.1 christos } arc4random_global = { 27 1.4 rillig .lock = { 28 1.4 rillig 0x33330003, 29 1.4 rillig 0, 30 1.4 rillig { 0, 0, 0 }, 31 1.4 rillig 0, 32 1.4 rillig { 0, 0, 0 }, 33 1.4 rillig ((void *)0), 34 1.4 rillig ((void *)0), 35 1.4 rillig 0, 36 1.4 rillig ((void *)0) 37 1.4 rillig }, 38 1.1 christos }; 39