summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2018-02-14 15:19:46 +0000
committerHans Wennborg <hans@hanshq.net>2018-02-14 15:19:46 +0000
commit00f4598ec5260ab6393f8eaf6721470bd4db6348 (patch)
treea6a6b91aa7439ba4f9c307980ba22c47a5a65130 /clang/lib/Sema/SemaDeclCXX.cpp
parent12aa52fe22ad3c105d26eadfe0f8ddece61b84e9 (diff)
downloadbcm5719-llvm-00f4598ec5260ab6393f8eaf6721470bd4db6348.tar.gz
bcm5719-llvm-00f4598ec5260ab6393f8eaf6721470bd4db6348.zip
Revert r324991 "Fix for PR32992. Static const classes not exported."
This broke the Chromium build on Windows; see https://crbug.com/812231 > Fix for PR32992. Static const classes not exported. > > Patch by zahiraam! > > Differential Revision: https://reviews.llvm.org/D42968 llvm-svn: 325133
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp16
1 files changed, 3 insertions, 13 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index d3f3a1a9382..45adbe3a16e 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -5476,7 +5476,7 @@ static void CheckAbstractClassUsage(AbstractUsageInfo &Info,
}
}
-static void ReferenceDllExportedMembers(Sema &S, CXXRecordDecl *Class) {
+static void ReferenceDllExportedMethods(Sema &S, CXXRecordDecl *Class) {
Attr *ClassAttr = getDLLAttr(Class);
if (!ClassAttr)
return;
@@ -5491,16 +5491,6 @@ static void ReferenceDllExportedMembers(Sema &S, CXXRecordDecl *Class) {
return;
for (Decl *Member : Class->decls()) {
- // Defined static variables that are members of an exported base
- // class must be marked export too. Push them to implicit instantiation
- // queue.
- auto *VD = dyn_cast<VarDecl>(Member);
- if (VD && Member->getAttr<DLLExportAttr>() &&
- VD->getStorageClass() == SC_Static &&
- TSK == TSK_ImplicitInstantiation)
- S.PendingLocalImplicitInstantiations.push_back(
- std::make_pair(VD, VD->getLocation()));
-
auto *MD = dyn_cast<CXXMethodDecl>(Member);
if (!MD)
continue;
@@ -10912,12 +10902,12 @@ void Sema::ActOnFinishCXXNonNestedClass(Decl *D) {
void Sema::referenceDLLExportedClassMethods() {
if (!DelayedDllExportClasses.empty()) {
- // Calling ReferenceDllExportedMembers might cause the current function to
+ // Calling ReferenceDllExportedMethods might cause the current function to
// be called again, so use a local copy of DelayedDllExportClasses.
SmallVector<CXXRecordDecl *, 4> WorkList;
std::swap(DelayedDllExportClasses, WorkList);
for (CXXRecordDecl *Class : WorkList)
- ReferenceDllExportedMembers(*this, Class);
+ ReferenceDllExportedMethods(*this, Class);
}
}
OpenPOWER on IntegriCloud