This revision was automatically updated to reflect the committed changes.
Closed by commit rL349209: Add AddressSpace mangling to MS mode (authored by
erichkeane, committed by ).
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D55715?vs=178282&id=17830
erichkeane marked an inline comment as done.
erichkeane added inline comments.
Comment at: test/CodeGenCXX/mangle-address-space.cpp:7
+// CHECKNOOCL-LABEL: define {{.*}}void @_Z2f0Pc
+// WINNOOCL-LABEL: define {{.*}}void @"?f0@@YAXPEAD@Z"
+// CHECKOCL-LABEL: define {{.*}}void @_Z
rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.
lgtm
Comment at: test/CodeGenCXX/mangle-address-space.cpp:7
+// CHECKNOOCL-LABEL: define {{.*}}void @_Z2f0Pc
+// WINNOOCL-LABEL: define {{.*}}void @"?f0@@YAXPEAD@Z"
+// CHECKOCL-LA
erichkeane updated this revision to Diff 178282.
erichkeane added a comment.
Should catch me up on all comments except @zturner's llvm-undname feature
request :)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55715/new/
https://reviews.llvm.org/D55715
Files:
lib/AST/MicrosoftMangle.c
erichkeane marked 2 inline comments as done.
erichkeane added inline comments.
Comment at: lib/AST/MicrosoftMangle.cpp:1806-1836
+Extra.mangleSourceName("AS_");
+Extra.mangleIntegerLiteral(llvm::APSInt::getUnsigned(TargetAS),
+ /*IsBoolean*/
rnk added inline comments.
Comment at: lib/AST/MicrosoftMangle.cpp:1806-1836
+Extra.mangleSourceName("AS_");
+Extra.mangleIntegerLiteral(llvm::APSInt::getUnsigned(TargetAS),
+ /*IsBoolean*/ false);
+ } else {
+switch (AS) {
+default:
majnemer added inline comments.
Comment at: lib/AST/MicrosoftMangle.cpp:1806-1836
+Extra.mangleSourceName("AS_");
+Extra.mangleIntegerLiteral(llvm::APSInt::getUnsigned(TargetAS),
+ /*IsBoolean*/ false);
+ } else {
+switch (AS) {
+def
erichkeane marked 2 inline comments as done.
erichkeane added inline comments.
Comment at: test/CodeGenOpenCL/address-spaces-mangling.cl:7
+// RUN: %clang_cc1 %s -ffake-address-space-map
-faddress-space-map-mangling=yes -triple x86_64-windows-pc -emit-llvm -o - |
FileCheck -che
erichkeane marked 4 inline comments as done.
erichkeane added inline comments.
Comment at: test/CodeGenCXX/mangle-address-space.cpp:7
+// CHECKNOOCL-LABEL: define {{.*}}void @_Z2f0Pc
+// WINNOOCL-LABEL: define {{.*}}void @"?f0@@YAXPEAD@Z"
+// CHECKOCL-LABEL: define {{.*}}void @_Z
rnk added inline comments.
Comment at: test/CodeGenCXX/mangle-address-space.cpp:7
+// CHECKNOOCL-LABEL: define {{.*}}void @_Z2f0Pc
+// WINNOOCL-LABEL: define {{.*}}void @"?f0@@YAXPEAD@Z"
+// CHECKOCL-LABEL: define {{.*}}void @_Z2f0PU9CLgenericc
You know, now that
zturner added a comment.
It would be interesting to teach `llvm-undname` to demangle this more
naturally. Right for this mangling: `?f1@@YAXPEAU?$AS_@$00$$CBD@__clang@@@Z` I
see this demangling: `void __cdecl f1(struct __clang::AS_<1, char const> *)`.
That's an accurate representation of the
erichkeane created this revision.
erichkeane added reviewers: zturner, majnemer, compnerd, rnk.
Herald added subscribers: erik.pilkington, Anastasia.
All of the symbols demangle on llvm-undname and demangler.com. This
address space qualifier is useful for when we want to use opencl C++ in
Windows
12 matches
Mail list logo