[PATCH] D34523: AST: mangle BlockDecls under MS ABI

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 26 14:53:28 PDT 2017


efriedma added inline comments.


================
Comment at: test/CodeGenCXX/msabi-blocks.cpp:90
+}
+
----------------
compnerd wrote:
> efriedma wrote:
> > The Itanium ABI document lists five cases where the mangling is externally visible.  I think this is missing a testcase for the "initializers of nonspecialized static members of template classes" case.  (Something like "template<typename T> class X { static T foo; }; template<typename T> T X<T>::foo = ^{static int i = e(); return ++i;}();".)
> This is currently broken even under the itanium scheme.  I think that doing that in a follow up is reasonable.
> 
> ```
> template <typename T>
> struct s {
>   static T i;
> };
> 
> template <typename T>
> T s<T>::i = ^{ static T i = T(); return i; }();
> 
> template class s<int>;
> template class s<short>;
> ```
Fine; please file a bug.


Repository:
  rL LLVM

https://reviews.llvm.org/D34523





More information about the cfe-commits mailing list