[cxx-abi-dev] Itanium ABI fails to specify how to mangle lambdas

Michael Wong michaelw at ca.ibm.com
Thu Jan 17 19:46:37 UTC 2013



Lambdas can appear in contexts where the ABI requires that the expression
be mangled.
Note that the lambdas below participate in SFINAE as far as I know.

template <typename T>
void foo(const int *, char (*)[sizeof(T) > 1 || [] { goto lab; for (;;)
lab: return T(); }] = 0) { }

template <typename T>
void foo(int *ptr, char (*)[sizeof(T) > 1 || [] { goto lab; decltype(ptr)
ptr; lab: return T(ptr); }] = 0) { }

int main() {
   foo<float>(static_cast<int *>(0));
}



Regards, Michael

OpenMP CEO:
http://openmp.org/wp/about-openmp/
My Blogs:
http://ibm.co/pCvPHR
C++11 status:
http://tinyurl.com/43y8xgf
Boost test results
http://www.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911

C/C++ Compilers Support/Feature Request Page
http://www.ibm.com/software/awdtools/ccompilers/support/
http://www.ibm.com/support/docview.wss?uid=swg27005811
STM:
https://sites.google.com/site/tmforcplusplus/

Director & Vice President ISOCPP.org
Canada and IBM C++Standard HoD
Chair of WG21 SG5 Transactional Memory

XL C++ Compiler kernel Development
IBM Canada Ltd., C2/KD2/8200/MKM
8200 Warden Avenue
Markham, Ontario  L6G 1C7
W:905-413-3283 F:905-413-4839
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20130117/536b35c1/attachment.html>


More information about the cxx-abi-dev mailing list