<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jan 3, 2014, at 11:38 AM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">I'm referring to the more narrow use of the term "dump method" which is specifically a method that accepts no arguments and prints as much state to stderr as might conceivably be useful from inside gdb. Decl::dump() is just such a function, but Decl::dump(raw_ostream &OS) is different. The somewhat consistent pattern in LLVM is to name the latter functions 'print' to avoid confusion, but that's neither here nor there.</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">My stance is essentially that the things which are only used either a) in GDB or b) inside of !NDEBUG regions (be they assert()s or the LLVM DEBUG macro) are the things which should be compiled away when NDEBUG (or the opt-in macro that several folks asked for in LLVM-land to get dump methods in no-asserts builds) and should be marked as noinline and used to make them easy to reach via the debugger.</div></blockquote></div><br><div>Thanks for the clarification, SGTM.</div></body></html>