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.