[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