diff options
| author | Richard Trieu <rtrieu@google.com> | 2014-11-27 01:29:32 +0000 |
|---|---|---|
| committer | Richard Trieu <rtrieu@google.com> | 2014-11-27 01:29:32 +0000 |
| commit | c321b931c01537e254d9f89746cc124f55b4b6aa (patch) | |
| tree | 9b7e34f46fe687ab2699d9e67a9cdd8030b77dfa /clang/lib | |
| parent | e13d71c57ca5656e16ad2f1e5b18949289b3f84e (diff) | |
| download | bcm5719-llvm-c321b931c01537e254d9f89746cc124f55b4b6aa.tar.gz bcm5719-llvm-c321b931c01537e254d9f89746cc124f55b4b6aa.zip | |
When checking for uninitialized values, do not confuse "std::move" with every
other function named "move".
llvm-svn: 222863
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Analysis/UninitializedValues.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Analysis/UninitializedValues.cpp b/clang/lib/Analysis/UninitializedValues.cpp index 94f59f196ee..61a259217d7 100644 --- a/clang/lib/Analysis/UninitializedValues.cpp +++ b/clang/lib/Analysis/UninitializedValues.cpp @@ -419,7 +419,8 @@ void ClassifyRefs::VisitCallExpr(CallExpr *CE) { // Classify arguments to std::move as used. if (CE->getNumArgs() == 1) { if (FunctionDecl *FD = CE->getDirectCallee()) { - if (FD->getIdentifier() && FD->getIdentifier()->isStr("move")) { + if (FD->isInStdNamespace() && FD->getIdentifier() && + FD->getIdentifier()->isStr("move")) { classify(CE->getArg(0), Use); return; } diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 08f5c3c8b8a..d299ec1e57f 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -8489,7 +8489,8 @@ namespace { // Treat std::move as a use. if (E->getNumArgs() == 1) { if (FunctionDecl *FD = E->getDirectCallee()) { - if (FD->getIdentifier() && FD->getIdentifier()->isStr("move")) { + if (FD->isInStdNamespace() && FD->getIdentifier() && + FD->getIdentifier()->isStr("move")) { HandleValue(E->getArg(0)); return; } diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 5ffe30883b3..583357e2348 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -2511,7 +2511,8 @@ namespace { // Treat std::move as a use. if (E->getNumArgs() == 1) { if (FunctionDecl *FD = E->getDirectCallee()) { - if (FD->getIdentifier() && FD->getIdentifier()->isStr("move")) { + if (FD->isInStdNamespace() && FD->getIdentifier() && + FD->getIdentifier()->isStr("move")) { HandleValue(E->getArg(0), false /*AddressOf*/); return; } |

