[analyzer] Address Jordan’s code review for r183451

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183455 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Anna Zaks 2013-06-06 22:32:11 +00:00
Родитель 6838710779
Коммит 57c8736e7d
2 изменённых файлов: 6 добавлений и 6 удалений

Просмотреть файл

@ -248,7 +248,7 @@ static void adjustCallLocations(PathPieces &Pieces,
/// We might have pieces with invalid locations as a result of inlining Body
/// Farm generated functions.
static void removePiecesWithInvalidLocations(PathPieces &Pieces) {
for (PathPieces::iterator I = Pieces.begin(), E = Pieces.end(); I != E; ++I) {
for (PathPieces::iterator I = Pieces.begin(), E = Pieces.end(); I != E;) {
if (PathDiagnosticCallPiece *C = dyn_cast<PathDiagnosticCallPiece>(*I))
removePiecesWithInvalidLocations(C->path);
@ -257,10 +257,10 @@ static void removePiecesWithInvalidLocations(PathPieces &Pieces) {
if (!(*I)->getLocation().isValid() ||
!(*I)->getLocation().asLocation().isValid()) {
Pieces.erase(I);
I = Pieces.erase(I);
continue;
}
I++;
}
}

Просмотреть файл

@ -1,6 +1,8 @@
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,unix.API,osx.API %s -analyzer-store=region -analyzer-output=plist -analyzer-eagerly-assume -analyzer-config faux-bodies=true -analyzer-config path-diagnostics-alternate=false -fblocks -verify -o %t.plist
// RUN: FileCheck --input-file=%t.plist %s
// RUN: %clang_cc1 -analyze -analyzer-checker=core,unix.API,osx.API -analyzer-output=html -analyzer-config faux-bodies=true -fblocks -o %T/dir %s
// RUN: mkdir -p %t.dir
// RUN: %clang_cc1 -analyze -analyzer-checker=core,unix.API,osx.API -analyzer-output=html -analyzer-config faux-bodies=true -fblocks -o %t.dir %s
// RUN: rm -fR %t.dir
struct _opaque_pthread_once_t {
long __sig;
char __opaque[8];
@ -16,7 +18,6 @@ void *realloc(void *, size_t);
void *reallocf(void *, size_t);
void *alloca(size_t);
void *valloc(size_t);
typedef union {
struct _os_object_s *_os_obj;
struct dispatch_object_s *_do;
@ -32,7 +33,6 @@ typedef union {
struct dispatch_operation_s *_doperation;
struct dispatch_disk_s *_ddisk;
} dispatch_object_t __attribute__((__transparent_union__));
typedef void (^dispatch_block_t)(void);
typedef long dispatch_once_t;
typedef struct dispatch_queue_s *dispatch_queue_t;