[PATCH] D19156: [ms][dll] #27212: Generating of implicit special members should take into account MSVC compatibility version

Andrew V. Tischenko via cfe-commits cfe-commits at lists.llvm.org
Thu May 12 01:53:33 PDT 2016


avt77 marked 2 inline comments as done.

================
Comment at: lib/Sema/SemaDeclCXX.cpp:4813
@@ +4812,3 @@
+        // and move constructor, so don't attempt to import/export them if
+        // we have a definition.
+        auto *CXXC = dyn_cast<CXXConstructorDecl>(MD);
----------------
rnk wrote:
> Oh, so we were already doing this check. I don't see what's wrong with our current behavior, though. We export a few more symbols than MSVC 2013, but there's no ABI problem with that.
Yes, it's a question about binary compatibility only

================
Comment at: lib/Sema/SemaDeclCXX.cpp:4816
@@ -4815,1 +4815,3 @@
+        if ((MD->isMoveAssignmentOperator() ||
+             (CXXC && CXXC->isMoveConstructor())) &&
             !getLangOpts().isCompatibleWithMSVC(LangOptions::MSVC2015))
----------------
rnk wrote:
> The move constructor part of this is definitely a good fix though.
And what's the decision? Could I commit the patch?


http://reviews.llvm.org/D19156





More information about the cfe-commits mailing list