1 #include "check_debug.h" 2 3 struct bar { 4 int a, b, c; 5 }; 6 7 struct foo { 8 struct bar bar; 9 int x, y, z; 10 }; 11 12 int test(int size) 13 { 14 struct foo foo = { 15 .bar.a = 42, 16 .bar.b = 43, 17 -1, 18 }; 19 __smatch_implied(foo.bar.b); 20 __smatch_implied(foo.bar.c); 21 __smatch_implied(foo.x); 22 __smatch_implied(foo.y); 23 24 return 0; 25 } 26 27 /* 28 * check-name: smatch: nested initializer 29 * check-command: smatch -I.. sm_initializer.c 30 * 31 * check-output-start 32 sm_initializer.c:19 test() implied: foo.bar.b = '43' 33 sm_initializer.c:20 test() implied: foo.bar.c = '0' 34 sm_initializer.c:21 test() implied: foo.x = '(-1)' 35 sm_initializer.c:22 test() implied: foo.y = '0' 36 * check-output-end 37 */ 38