[PATCH] D12402: PR24595: clang-cl fails to compile vswriter.h header from Windows SDK 8.1 in 32 bit mode

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 11 08:16:32 PDT 2015


rnk added inline comments.

================
Comment at: lib/Sema/SemaType.cpp:5876
@@ +5875,3 @@
+
+    if (!IsCtorOrDtor) {
+      if (CurCC != DefaultCC || DefaultCC == ToCC)
----------------
This looks like the !IsCtorOrDtor check that affects Itanium. Isn't it already handled for MS C++ above?

================
Comment at: test/CodeGenCXX/ctor-dtor-alias.cpp:170
@@ -169,3 +169,3 @@
   // it has a different calling conversion.
-  // CHECK4: call void @_ZN5test93barD2Ev
+  // CHECK4: call void @_ZN6test103barD2Ev
   bar ptr;
----------------
andreybokhanko wrote:
> rnk wrote:
> > Isn't this still in the test9 namespace? Shouldn't this change be reverted?
> Now, after making the change you requested (wrapping checks in "default" part of adjustMemberFunctionCC function with !IsCtorOrDtor (SemaType.cpp:5876)) we start to call ~foo() here, so the check should be changed to:
> 
>   // CHECK4: call void bitcast (void (%"struct.test9::foo"*)* @_ZN5test93fooD2Ev
> 
> Please confirm you are OK with this change and I'll go ahead with commit.
That seems like a bug, we don't want this change to affect destructors on Linux or mingw.


http://reviews.llvm.org/D12402





More information about the cfe-commits mailing list