The change D55575 modified ClangASTContext::CreateParameterDeclaration to call decl_ctx->addDecl(decl); this caused a regression since the existing code in DWARFASTParserClang::ParseChildParameters is called with the containing DeclContext:
m_ast.CreateParameterDeclaration(containing_decl_ctx, name, type->GetForwardCompilerType(), storage);
So when end up with cases where we are parsing a parameter for a member function and the parameter is added to the CXXRecordDecl as opposed to the CXXMethodDecl. This example is given in the regression test TestBreakpointInMemberFuncWNonPrimitiveParams.py which without this fix in a modules build leads to assert on setting a breakpoint in a member function with non primitive parameters. This scenario would be common when debugging LLDB or clang.
This leaves a the existing issue which D55571 tried to fix but apparently did not fix the issue or at least not totally, since there are no tests added with the PR it is hard to tell.
This looks like it is copied and pasted form another testcase and not actually necessary.
What you want is
and then you should be able to delete all lines starting with $(CXX) because the default build rules should just work.