andreybokhanko added a comment.
OK -- I removed the check in Itanium ABI part, restored back the test and
committed the patch.
Thanks for reviewing!
Repository:
rL LLVM
http://reviews.llvm.org/D12402
___
cfe-commits mailing list
This revision was automatically updated to reflect the committed changes.
Closed by commit rL247619: PR24595: Ignore calling convention modifiers for
structors in MS ABI. (authored by asbokhan).
Changed prior to commit:
http://reviews.llvm.org/D12402?vs=34477=34735#toc
Repository:
rL LLVM
andreybokhanko added a comment.
Reid, thank you for the review!
One last confirmation (see below), and I'll go ahead.
Yours,
Andrey
Comment at: test/CodeGenCXX/ctor-dtor-alias.cpp:170
@@ -169,3 +169,3 @@
// it has a different calling conversion.
- // CHECK4: call void
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++
rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.
lgtm, thanks!
Comment at: test/CodeGenCXX/ctor-dtor-alias.cpp:170
@@ -169,3 +169,3 @@
// it has a different calling conversion.
- // CHECK4: call void @_ZN5test93barD2Ev
+ //
andreybokhanko updated this revision to Diff 34477.
andreybokhanko added a comment.
Reid,
Sorry for delayed reply. All your comments are fixed (it turned out that usage
of DefaultCC instead of ToCC is the root of all evil; after I fixed this, all
other problems went away).
Patch updated;
andreybokhanko marked 8 inline comments as done.
andreybokhanko added a comment.
http://reviews.llvm.org/D12402
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
andreybokhanko marked 4 inline comments as done.
Comment at: lib/Sema/SemaType.cpp:5873-5877
@@ +5872,7 @@
+ return;
+
+ToCC = DefaultCC;
+
+// Issue a warning on ignored calling convention -- except of __stdcall.
+// Again, this is what MS compiler does.
+if
rnk added inline comments.
Comment at: lib/Sema/SemaType.cpp:5855-5856
@@ -5854,3 +5854,4 @@
CallingConv CurCC = FT->getCallConv();
- CallingConv FromCC =
+ CallingConv DefaultCC =
Context.getDefaultCallingConvention(IsVariadic, IsStatic);
+ CallingConv ToCC;
andreybokhanko updated this revision to Diff 33945.
andreybokhanko added a comment.
Patch updated after fixing all (but one) of Reid's comments.
http://reviews.llvm.org/D12402
Files:
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/DeclSpec.h
include/clang/Sema/Sema.h
rnk added a comment.
MSVC appears to ignore __stdcall on virtual destructors, and I think the
correct fix is for us to do the same.
See this test case:
$ cat t.cpp
struct A { virtual __stdcall ~A(); };
A::~A() {}
$ cl -c t.cpp
Microsoft (R) C/C++ Optimizing Compiler Version
andreybokhanko created this revision.
andreybokhanko added a reviewer: rnk.
andreybokhanko added a subscriber: cfe-commits.
As described in PR24595, clang-cl fails to compile vswriter.h header from
Windows SDK 8.1 in 32 bit mode. This patch fixes this.
More on vswriter.h is here:
12 matches
Mail list logo