<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Here's the 2nd part of the previous PCH patch for (some) C++ declarations. This patch only really adds support for CXXRecordDecl, CXXBaseClassSpecifier, and (partial support) CXXBaseOrMemberInitializer. Just a couple of notes:<br>


<br>1. This re-enables a previously disabled check in the namespace tests (which passes nicely)<br>2. I renamed an existing method CXXRecordDecl::setUserDeclaredDestructor to setHasUserDeclaredDestructor to be consistent with other setHasTrivial... methods. The only place this was called is SemaDecl.cpp.<br>


3. I modified all of the member function documentation of most of the accessor/mutators I looked at to use \brief instead of "FunctionName - ...". Current comment formatting is inconsistent, so I chose this style. It seems less redundant.<br>


<br>4. CXXBaseOrMemberSpecializer seems like it might need some attention. <br>
<br>As it stands, I haven't implemented PCH support for the DesignatedInitializer component of the class.<br></blockquote><div><br>Attached is the part 3 of the PCH patch for CXXDecls. This subsumes the previous patch since there wasn't any response on it. This now includes support for CXXMethodDecl, CXXConstructorDecl, CXXDestructorDecl, and CXXConversionDecl. <br>

<br>Conversions are added to their declaring class when loaded rather than being part of the class serialization being loaded, which should address Doug's previous comment about being lazily loaded. The test case actually checks C++0x explicit conversions as well.<br>

<br>The patch also fixes a (seemingly) unreported PCH bug in the serialization of CXXConstructExpr. The number of arguments in the constructor call was being written but not read. This fixes a problem encountered with the original (large) patch.<br>

</div></div><br>Andrew Sutton<br><a href="mailto:andrew.n.sutton@gmail.com">andrew.n.sutton@gmail.com</a><br>