<div dir="ltr">I see one usage of of chrono in the Fuzzer, and that's about it.</div><div class="gmail_extra"><br><div class="gmail_quote">On 6 October 2016 at 17:46, 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">I'd love to move over to chrono.  For Utility functions such as those you propose probably we should consider whether they should go into llvm.  Does llvm currently use anything from chrono or have any chrono support functions yet?<br><div class="gmail_quote"><div><div class="h5"><div dir="ltr">On Thu, Oct 6, 2016 at 5:39 PM Pavel Labath via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr" class="m_-6610677800965195675gmail_msg">Hello all,<div class="m_-6610677800965195675gmail_msg"><br class="m_-6610677800965195675gmail_msg"></div><div class="m_-6610677800965195675gmail_msg">in line with the "deinventing the wheel" movement, I'd like to remove the TimeValue class from LLDB. I've done some research on a flight this week, and as far as I can tell all functionality can be easily replaced with appropriate usage of std::chrono::duration and time_point.</div><div class="m_-6610677800965195675gmail_msg"><br class="m_-6610677800965195675gmail_msg"></div><div class="m_-6610677800965195675gmail_msg">The only parts that are missing are the ability to convert to/from legacy C types (struct timevalue, struct timespec), which can be replaced by utility functions.</div><div class="m_-6610677800965195675gmail_msg"><br class="m_-6610677800965195675gmail_msg"></div><div class="m_-6610677800965195675gmail_msg">Also, I've found one use case particularly cumbersome to write in the c++ way: writing out a duration as a fractional number of units (e.g. milliseconds). So, I'd propose adding the following utility function as well (unless someone knows a cleaner way to write this):</div><div class="m_-6610677800965195675gmail_msg"><br class="m_-6610677800965195675gmail_msg"></div><div class="m_-6610677800965195675gmail_msg">template<typename DurOut, typename DurIn></div><div class="m_-6610677800965195675gmail_msg">double float_duration(DurIn dur) {<br class="m_-6610677800965195675gmail_msg">  return std::chrono::duration_cast<<wbr>std::chrono::duration<double, DurOut::period>>(dur).count();</div><div class="m_-6610677800965195675gmail_msg">}</div><div class="m_-6610677800965195675gmail_msg"><br class="m_-6610677800965195675gmail_msg"></div><div class="m_-6610677800965195675gmail_msg">Then, you can write float_duration<milliseconds>(<wbr>dur) to get the duration as a fractional number of milliseconds (used in printing time deltas in a human readable fashion).</div><div class="m_-6610677800965195675gmail_msg"><br class="m_-6610677800965195675gmail_msg"></div><div class="m_-6610677800965195675gmail_msg">Any thoughts or objections?</div><div class="m_-6610677800965195675gmail_msg"><br class="m_-6610677800965195675gmail_msg"></div><div class="m_-6610677800965195675gmail_msg">pl</div></div></div></div>
______________________________<wbr>_________________<br class="m_-6610677800965195675gmail_msg">
lldb-dev mailing list<br class="m_-6610677800965195675gmail_msg">
<a href="mailto:lldb-dev@lists.llvm.org" class="m_-6610677800965195675gmail_msg" target="_blank">lldb-dev@lists.llvm.org</a><br class="m_-6610677800965195675gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" class="m_-6610677800965195675gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/lldb-dev</a><br class="m_-6610677800965195675gmail_msg">
</blockquote></div>
</blockquote></div><br></div>