diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-09-11 14:13:49 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-09-11 14:13:49 +0000 |
commit | 22c68ef84546f1bb2c190824c39397f81531a4d2 (patch) | |
tree | bfc20238e13f63541c698d65ce11860cde7125d9 /clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp | |
parent | 128485ba4791f5b2d9de98e5c24d77e51b461b70 (diff) | |
download | bcm5719-llvm-22c68ef84546f1bb2c190824c39397f81531a4d2.tar.gz bcm5719-llvm-22c68ef84546f1bb2c190824c39397f81531a4d2.zip |
Avoid some unnecessary SmallVector copies.
No functionality change.
llvm-svn: 217586
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp index 3e9b57bdc50..ccf816c80c1 100644 --- a/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp @@ -63,8 +63,7 @@ class SimpleStreamChecker : public Checker<check::PostCall, const CallEvent &Call, CheckerContext &C) const; - void reportLeaks(SymbolVector LeakedStreams, - CheckerContext &C, + void reportLeaks(ArrayRef<SymbolRef> LeakedStreams, CheckerContext &C, ExplodedNode *ErrNode) const; bool guaranteedNotToCloseFile(const CallEvent &Call) const; @@ -222,16 +221,15 @@ void SimpleStreamChecker::reportDoubleClose(SymbolRef FileDescSym, C.emitReport(R); } -void SimpleStreamChecker::reportLeaks(SymbolVector LeakedStreams, - CheckerContext &C, - ExplodedNode *ErrNode) const { +void SimpleStreamChecker::reportLeaks(ArrayRef<SymbolRef> LeakedStreams, + CheckerContext &C, + ExplodedNode *ErrNode) const { // Attach bug reports to the leak node. // TODO: Identify the leaked file descriptor. - for (SmallVectorImpl<SymbolRef>::iterator - I = LeakedStreams.begin(), E = LeakedStreams.end(); I != E; ++I) { + for (SymbolRef LeakedStream : LeakedStreams) { BugReport *R = new BugReport(*LeakBugType, "Opened file is never closed; potential resource leak", ErrNode); - R->markInteresting(*I); + R->markInteresting(LeakedStream); C.emitReport(R); } } |