summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/no-outofbounds.c
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2014-02-18 17:06:30 +0000
committerJordan Rose <jordan_rose@apple.com>2014-02-18 17:06:30 +0000
commit97d2c9cae777cfc042bae9c4f7d2cc7705778491 (patch)
tree08c9b98f57373b8f6e646eb93687d6145e56eff0 /clang/test/Analysis/no-outofbounds.c
parent5cc5cd907d52e65b7f0b61f40c4b6b08d866c969 (diff)
downloadbcm5719-llvm-97d2c9cae777cfc042bae9c4f7d2cc7705778491.tar.gz
bcm5719-llvm-97d2c9cae777cfc042bae9c4f7d2cc7705778491.zip
[analyzer] Teach CastSizeChecker about flexible array members.
...as well as fake flexible array members: structs that end in arrays with length 0 or 1. Patch by Daniel Fahlgren! llvm-svn: 201583
Diffstat (limited to 'clang/test/Analysis/no-outofbounds.c')
-rw-r--r--clang/test/Analysis/no-outofbounds.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/test/Analysis/no-outofbounds.c b/clang/test/Analysis/no-outofbounds.c
index 84f86d79bd5..d4012794d5c 100644
--- a/clang/test/Analysis/no-outofbounds.c
+++ b/clang/test/Analysis/no-outofbounds.c
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -analyze -analyzer-checker=core,alpha.core,alpha.unix,alpha.security.ArrayBound -analyzer-store=region -verify %s
+// expected-no-diagnostics
//===----------------------------------------------------------------------===//
// This file tests cases where we should not flag out-of-bounds warnings.
@@ -24,8 +25,7 @@ void free(void *);
void field() {
struct vec { size_t len; int data[0]; };
- // FIXME: Not warn for this.
- struct vec *a = malloc(sizeof(struct vec) + 10); // expected-warning {{Cast a region whose size is not a multiple of the destination type size}}
+ struct vec *a = malloc(sizeof(struct vec) + 10*sizeof(int));
a->len = 10;
a->data[1] = 5; // no-warning
free(a);
OpenPOWER on IntegriCloud