summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2016-02-10 10:50:12 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2016-02-10 10:50:12 +0000
commit4bcad7f236dd9505543e77845cec6056fcec4efc (patch)
tree55b925f042990166ceac0719e9b058e03ba1cbf5 /clang/lib/Sema
parented844cbc0f5b9391314edb7d34ea71a060b0faa2 (diff)
downloadbcm5719-llvm-4bcad7f236dd9505543e77845cec6056fcec4efc.tar.gz
bcm5719-llvm-4bcad7f236dd9505543e77845cec6056fcec4efc.zip
Fix PR26543: add a check for definition in CXXRecordDecl.
llvm-svn: 260370
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaOpenMP.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index 3ba5daa0304..9f4daeeffe9 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -669,7 +669,8 @@ DSAStackTy::DSAVarData DSAStackTy::getTopDSA(ValueDecl *D, bool FromParent) {
if (auto *CTD = CTSD->getSpecializedTemplate())
RD = CTD->getTemplatedDecl();
if (IsConstant &&
- !(SemaRef.getLangOpts().CPlusPlus && RD && RD->hasMutableFields())) {
+ !(SemaRef.getLangOpts().CPlusPlus && RD && RD->hasDefinition() &&
+ RD->hasMutableFields())) {
// Variables with const-qualified type having no mutable member may be
// listed in a firstprivate clause, even if they are static data members.
DSAVarData DVarTemp = hasDSA(D, MatchesAnyClause(OMPC_firstprivate),
OpenPOWER on IntegriCloud