https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78083

            Bug ID: 78083
           Summary: wrong mangling for varargs lambdas
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: richard-gccbugzilla at metafoo dot co.uk
  Target Milestone: ---

Testcase:

inline int f() {
  auto a = [](...) { static int n; return ++n; };
  auto b = []() { static int n; return ++n; };
  return a() + b();
}
int k = f();

The lambdas should have closure-type-names of UlzE_ and UlvE_ in their
manglings respectively, but GCC mangles the second one incorrectly as UlvE0_.
EDG and (as of a few minutes ago) Clang get this right.

Reply via email to