<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 11, 2017 at 10:38 AM, Zachary Turner <span dir="ltr"><<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><span class=""><div dir="ltr">On Wed, Jan 11, 2017 at 6:59 AM Pavel Labath <<a href="mailto:labath@google.com" target="_blank">labath@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Happy new year everyone. :)<br class="m_4874548023434033127gmail_msg">
<br class="m_4874548023434033127gmail_msg">
I have refreshed the implementation at<br class="m_4874548023434033127gmail_msg">
<<a href="https://reviews.llvm.org/D27459" rel="noreferrer" class="m_4874548023434033127gmail_msg" target="_blank">https://reviews.llvm.org/<wbr>D27459</a>> with something more polished. I<br class="m_4874548023434033127gmail_msg">
consider this almost-ready, I just need feedback on a couple of<br class="m_4874548023434033127gmail_msg">
details:<br class="m_4874548023434033127gmail_msg">
<br class="m_4874548023434033127gmail_msg">
- log->Warning/Debug/Error/<wbr>Verbose: Currently we have a large number<br class="m_4874548023434033127gmail_msg">
of printf-style logging functions, which are very rarely used (and all<br class="m_4874548023434033127gmail_msg">
they do is prefix the log line with some string), and only one<br class="m_4874548023434033127gmail_msg">
formatv-style. It would be easy to add LLDB_WARN, LLDB_ERR, etc.<br class="m_4874548023434033127gmail_msg">
macros, so that these usages can be ported to the formatv-style.<br class="m_4874548023434033127gmail_msg">
However, I am not sure whether that's really necessary. One of the<br class="m_4874548023434033127gmail_msg">
goals of this process could be to standardize on one function. I would<br class="m_4874548023434033127gmail_msg">
prefer to keep just one log function, but I could be easily convinced<br class="m_4874548023434033127gmail_msg">
otherwise. For reference, these are the current approximate usages of<br class="m_4874548023434033127gmail_msg">
the logging functions (as determined by grep)<br class="m_4874548023434033127gmail_msg">
log->Error: 38 (mostly in ProcessWindows)<br class="m_4874548023434033127gmail_msg">
log->Warning: 25<br class="m_4874548023434033127gmail_msg">
log->Debug: 10 (mostly ClangExpressionParser)<br class="m_4874548023434033127gmail_msg">
log->Verbose: 6 (only ProcessWindows)<br class="m_4874548023434033127gmail_msg">
log->Printf: 2884<br class="m_4874548023434033127gmail_msg"></blockquote></span><div>Yea, these are unnecessary and it would be great to get rid of them.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="m_4874548023434033127gmail_msg">
- ProcessWindowsLog: I am not going to go on a reformatting spree to<br class="m_4874548023434033127gmail_msg">
change all logging statements, but I would still like to change remove<br class="m_4874548023434033127gmail_msg">
the logging macros that windows log introduced, since they are very<br class="m_4874548023434033127gmail_msg">
custom, and I'd like to keep the number of logging syntaxes below 3<br class="m_4874548023434033127gmail_msg">
:). Zachary, Adrian, is that OK with you?<br class="m_4874548023434033127gmail_msg"></blockquote></span><div>Fine with me, they were only introduced as an alternative to the verbose if (log) syntaxes.  If there's an alternative that also solves the problem and we can adopt everywhere, then I'm all for it.</div></div></div></blockquote><div><br></div><div>Fine with me as well.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="m_4874548023434033127gmail_msg">
I must confess have a bit of an ulterior motive for doing this. :) My<br class="m_4874548023434033127gmail_msg">
goal is to start working on the modularization of the codebase. But I<br class="m_4874548023434033127gmail_msg">
don't want it to be just mindless moving of code around. I want to<br class="m_4874548023434033127gmail_msg">
spend some time considering the design of each piece, which should<br class="m_4874548023434033127gmail_msg">
slow things down long enough for the moves to not be annoying, and<br class="m_4874548023434033127gmail_msg">
hopefully produce better components. I'll write more on that soon - I<br class="m_4874548023434033127gmail_msg">
don't want to derail this discussion with it.<br class="m_4874548023434033127gmail_msg"></blockquote></span><div>I'd start with one support library which we document and write in stone (perhaps even enforce in CMake) that it can have no other dependencies on LLDB libraries.  Then start moving various common data structures and classes over there.  Like you said, we should save the details for another thread, but in any case i look forward to seeing some proposals :) </div></div></div>
</blockquote></div><br></div></div>