summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp6
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateDecl.cpp3
2 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index bc7be6d4593..ba789284060 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -2801,7 +2801,8 @@ bool Sema::MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
New->setPure();
// Merge "used" flag.
- New->setIsUsed(Old->getMostRecentDecl()->isUsed(false));
+ if (Old->getMostRecentDecl()->isUsed(false))
+ New->setIsUsed();
// Merge attributes from the parameters. These can mismatch with K&R
// declarations.
@@ -3114,7 +3115,8 @@ void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) {
}
// Merge "used" flag.
- New->setIsUsed(Old->getMostRecentDecl()->isUsed(false));
+ if (Old->getMostRecentDecl()->isUsed(false))
+ New->setIsUsed();
// Keep a chain of previous declarations.
New->setPreviousDecl(Old);
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
index 3989c56ccd8..f5c4c72cb34 100644
--- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -3378,7 +3378,8 @@ void Sema::BuildVariableInstantiation(
NewVar->setAccess(OldVar->getAccess());
if (!OldVar->isStaticDataMember()) {
- NewVar->setIsUsed(OldVar->isUsed(false));
+ if (OldVar->isUsed(false))
+ NewVar->setIsUsed();
NewVar->setReferenced(OldVar->isReferenced());
}
OpenPOWER on IntegriCloud