Add ThreadSpecified bit to Decl.
- Patch from Kevin Tew.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55940 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 75fcc51..cf84bcc 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -743,6 +743,7 @@
D.getIdentifierLoc(), II,
R, LastDeclarator);
} else {
+ bool ThreadSpecified = D.getDeclSpec().isThreadSpecified();
if (S->getFnParent() == 0) {
// C99 6.9p2: The storage-class specifiers auto and register shall not
// appear in the declaration specifiers in an external declaration.
@@ -751,12 +752,10 @@
R.getAsString());
InvalidDecl = true;
}
- NewVD = VarDecl::Create(Context, CurContext, D.getIdentifierLoc(),
- II, R, SC, LastDeclarator);
- } else {
- NewVD = VarDecl::Create(Context, CurContext, D.getIdentifierLoc(),
- II, R, SC, LastDeclarator);
}
+ NewVD = VarDecl::Create(Context, CurContext, D.getIdentifierLoc(),
+ II, R, SC, LastDeclarator);
+ NewVD->setThreadSpecified(ThreadSpecified);
}
// Handle attributes prior to checking for duplicates in MergeVarDecl
ProcessDeclAttributes(NewVD, D);