aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Analysis/UninitializedValues.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2017-09-28 16:16:39 +0000
committerNico Weber <nicolasweber@gmx.de>2017-09-28 16:16:39 +0000
commitb688d131f0a3f062d3d4c7c936a11c353547d866 (patch)
tree556e40b0e56d2d6c1f2822012ea257313bbf53cd /clang/lib/Analysis/UninitializedValues.cpp
parent35fdaa94f7fae76bb8dc905e16f2a4fcef8ed34e (diff)
downloadllvm-b688d131f0a3f062d3d4c7c936a11c353547d866.zip
llvm-b688d131f0a3f062d3d4c7c936a11c353547d866.tar.gz
llvm-b688d131f0a3f062d3d4c7c936a11c353547d866.tar.bz2
Consolidate std::move() detection code. No behavior change.
llvm-svn: 314427
Diffstat (limited to 'clang/lib/Analysis/UninitializedValues.cpp')
-rw-r--r--clang/lib/Analysis/UninitializedValues.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/clang/lib/Analysis/UninitializedValues.cpp b/clang/lib/Analysis/UninitializedValues.cpp
index 7d295a1..5f11d8a 100644
--- a/clang/lib/Analysis/UninitializedValues.cpp
+++ b/clang/lib/Analysis/UninitializedValues.cpp
@@ -440,16 +440,11 @@ static bool isPointerToConst(const QualType &QT) {
void ClassifyRefs::VisitCallExpr(CallExpr *CE) {
// Classify arguments to std::move as used.
- if (CE->getNumArgs() == 1) {
- if (FunctionDecl *FD = CE->getDirectCallee()) {
- if (FD->isInStdNamespace() && FD->getIdentifier() &&
- FD->getIdentifier()->isStr("move")) {
- // RecordTypes are handled in SemaDeclCXX.cpp.
- if (!CE->getArg(0)->getType()->isRecordType())
- classify(CE->getArg(0), Use);
- return;
- }
- }
+ if (CE->isCallToStdMove()) {
+ // RecordTypes are handled in SemaDeclCXX.cpp.
+ if (!CE->getArg(0)->getType()->isRecordType())
+ classify(CE->getArg(0), Use);
+ return;
}
// If a value is passed by const pointer or by const reference to a function,