diff options
| -rw-r--r-- | clang/test/Analysis/misc-ps.c | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/Analysis/misc-ps.c b/clang/test/Analysis/misc-ps.c index 8ff710b12f5..ef89321fff6 100644 --- a/clang/test/Analysis/misc-ps.c +++ b/clang/test/Analysis/misc-ps.c @@ -133,3 +133,21 @@ int isctype(char c, unsigned long f)    return (c < 1 || c > 10) ? 0 : !!(c & f);  } +// Test that symbolic array offsets are modeled conservatively. +// This was triggering a false "use of uninitialized value" warning. +void rdar_12075238__aux(unsigned long y); +int rdar_12075238_(unsigned long count) { +  if ((count < 3) || (count > 6)) +    return 0; +	 +  unsigned long array[6]; +  unsigned long i = 0; +  for (; i <= count - 2; i++) +  { +	  array[i] = i; +  } +  array[count - 1] = i; +  rdar_12075238__aux(array[2]); // no-warning +  return 0; +} +  | 

