]> granicus.if.org Git - clang/commit
StoreManager::CastRegion:
authorTed Kremenek <kremenek@apple.com>
Fri, 1 May 2009 19:22:20 +0000 (19:22 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 1 May 2009 19:22:20 +0000 (19:22 +0000)
commita8607d13c8df25a8c10d46db016d26f9e327418d
tree175a09409d1429e21102da691cbf9af54a0d6114
parentd91719abc2f06304aed05ff4c804b38967d99782
StoreManager::CastRegion:
- Don't layer TypedViewRegions on top of any region except
  SymbolicRegions and AllocaRegions.  This follows from my offline
  discussion within Zhongxing about how TypedViewRegions really only
  represent memory getting re-appropriated for a new purpose.

Fallout from this change:
- Move test case from xfail_rdar_6440393.m to misc-ps-64.m
  (it now passes).

- test/Analysis/fields.c now fails for region store (crash).
  Marking XFAIL.

- test/Analysis/rdar-6441136-region.c now fails (only runs with region store).
  Marking XFAIL.

  Diagnosis: The analyzer now correctly identifies an early out-of-bounds memory
   access then the one flagged:

  rdar-6541136-region.c:17:3: warning: Load or store into an out-of-bound memory position.
    *p = 1;
    ^~

  Changing the line:
   char *p = (void*) &wonky[1];
  to
   char *p = (void*) &wonky[0];

  (which should delay the buffer overrun) causes region store to crash, probably
  because it expects a TypedViewRegion.

- test/Analysis/casts.c (region store) now fails (crash).
  Marking XFAIL.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70565 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/Store.cpp
test/Analysis/casts.c
test/Analysis/fields.c
test/Analysis/misc-ps-64.m [moved from test/Analysis/xfail_rdar_6440393.m with 54% similarity]
test/Analysis/rdar-6541136-region.c