elsteveogrande added a comment. Hi @bruno, @rsmith, does this approach look ok?
I couldn't easily figure out a better way to store inherited-default-info; doing it alongside the default value seemed the cleanest. Note: I saw there are three ways to store these data inside the `DefaultArgStorage` struct, see here: https://reviews.llvm.org/diffusion/L/browse/cfe/trunk/include/clang/AST/DeclTemplate.h;315074$272 There's (1) the default arg; (2) the reference to the `Decl` having the default arg (inherited by this `Decl`); and (3) a pointer to a `Chain` link, which is the case when modules are used. The serializer already had (1) covered, and I'm adding (2) here. Maybe the most proper fix is to handle (3) as well. Although it seems no unit tests broke, so this is either ok as is, or there's no test for it :) So: right now the serialization stream generated in `ASTWriterDecl.cpp` looks sort of like: [ . . . other fields] bool defaultArgFollows [Stmt defaultArgStmtRef (if above is true)] bool inheritedFromDeclFollows [Decl inheritedFromDecl (if above is true)] This could be changed to: [ . . . other fields] bool isPartOfChain <----- add this bool defaultArgFollows [Stmt defaultArgStmtRef (if above is true)] bool inheritedFromDeclFollows [Decl inheritedFromDecl (if above is true)] so this can store the `DefaultArgStorage` with better fidelity. Thoughts? Thanks! :) Repository: rL LLVM https://reviews.llvm.org/D38320 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits