<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Aug 6, 2013, at 14:30 , Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Tue, Aug 6, 2013 at 9:15 AM, Jordan Rose <span dir="ltr"><<a href="mailto:jordan_rose@apple.com" target="_blank">jordan_rose@apple.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi, Richard. Is there any reason not to unify the "implicitly defined" bits on CXXConstructorDecl and CXXDestructorDecl with the "IsDefaulted" bit already in CXXMethodDecl (actually in FunctionDecl)? It seems like an easy simplification that collapses two checks into one in many places.<br>
</blockquote><div><br></div><div>That seems like a great idea to me.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(I'm guessing that the bits for constructors and destructors predated the generic notion of defaulted, even with implicit special member functions.)<br></blockquote><div><br></div><div>Yes, I think so. I'm not sure how the bit on ctors and dtors was ever sufficient; the notion of "implicitly defined" also existed for copy assignment operators in C++98.</div>
<div><br></div><div>We also seem to forget to set the ImplicitlyDefined flag on an implicit default constructor. Huh.</div></div>
</blockquote></div><br><div>Done in r187891. All regression tests pass; hoping the buildbots don't fall over.</div><div><br></div><div>Jordan</div></body></html>