[PATCH] D146386: [MS ABI] Fix mangling references to declarations.

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 26 19:58:53 PDT 2023


efriedma added a comment.

The numbers are backreferences of the sort generated by mangleSourceName(), I think.  If you nest deeply enough, MSVC stops using them; for example:

  struct A {
  union {union { union {union {
  struct B {struct C {struct D {struct E {struct F {struct G {
  struct H {struct I {struct J {struct K {
  };};};};};};};};};};
  using T = B::C::D::E::F::G::H::I::J::K;
  T x;
  using T2 = B::C::D::E::F::G::H::I::J;
  T2 y;
  };};};};
  };
  void f(decltype(A::x)) {}
  void f2(decltype(A::y)) {}
  void *g = (void*)&f;
  void *g2 = (void*)&f2;


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146386/new/

https://reviews.llvm.org/D146386



More information about the cfe-commits mailing list