1 /* Uninitialized variable warning tests... 2 Inspired by part of optabs.c:expand_binop. 3 May be the same as uninit-1.c. */ 4 5 /* { dg-do compile } */ 6 /* { dg-options "-O -Wuninitialized" } */ 7 8 #include <limits.h> 9 10 void add_bignums(int * out,int * x,int * y)11add_bignums (int *out, int *x, int *y) 12 { 13 int p, sum; 14 int carry; /* { dg-bogus "carry" "uninitialized variable warning" } */ 15 16 p = 0; 17 for (; *x; x++, y++, out++, p++) 18 { 19 if (p) 20 sum = *x + *y + carry; 21 else 22 sum = *x + *y; 23 24 if (sum < 0) 25 { 26 carry = 1; 27 sum -= INT_MAX; 28 } 29 else 30 carry = 0; 31 } 32 } 33