summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2016-11-29 22:31:00 +0000
committerHans Wennborg <hans@hanshq.net>2016-11-29 22:31:00 +0000
commita6714922d100fc9ca90cfc4dc4bb0df875206197 (patch)
tree7c786e1d9e0de7f849435a2542e38ca715bcc63a /clang/lib/Sema
parent47f7f30df9eced812c16f07acd5979ab2a14cd7c (diff)
downloadbcm5719-llvm-a6714922d100fc9ca90cfc4dc4bb0df875206197.tar.gz
bcm5719-llvm-a6714922d100fc9ca90cfc4dc4bb0df875206197.zip
Don't try to merge DLL attributes on redeclaration of invalid decl (PR31069)
llvm-svn: 288207
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 58776e8705b..e8764a0edf5 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -5651,6 +5651,9 @@ static void checkDLLAttributeRedeclaration(Sema &S, NamedDecl *OldDecl,
NamedDecl *NewDecl,
bool IsSpecialization,
bool IsDefinition) {
+ if(OldDecl->isInvalidDecl())
+ return;
+
if (TemplateDecl *OldTD = dyn_cast<TemplateDecl>(OldDecl)) {
OldDecl = OldTD->getTemplatedDecl();
if (!IsSpecialization)
OpenPOWER on IntegriCloud