summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2014-05-19 20:14:13 +0000
committerHans Wennborg <hans@hanshq.net>2014-05-19 20:14:13 +0000
commit7f26fa67154187401a70efc06e140e7f090e5c3b (patch)
tree6c33c911c7c0b1c178cfc182d560a1547c2a7ec1 /clang/lib/Sema/SemaDecl.cpp
parentdc9210276637bf67091ff8885f0c2c0e08fadbcb (diff)
downloadbcm5719-llvm-7f26fa67154187401a70efc06e140e7f090e5c3b.tar.gz
bcm5719-llvm-7f26fa67154187401a70efc06e140e7f090e5c3b.zip
Allow dllimport on function definitions when they're template instantiations
llvm-svn: 209157
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 5276cafcf72..44ca495cb15 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -9766,7 +9766,8 @@ Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D) {
ResolveExceptionSpec(D->getLocation(), FPT);
// dllimport cannot be applied to non-inline function definitions.
- if (FD->hasAttr<DLLImportAttr>() && !FD->isInlined()) {
+ if (FD->hasAttr<DLLImportAttr>() && !FD->isInlined() &&
+ !FD->isTemplateInstantiation()) {
assert(!FD->hasAttr<DLLExportAttr>());
Diag(FD->getLocation(), diag::err_attribute_dllimport_function_definition);
FD->setInvalidDecl();
OpenPOWER on IntegriCloud