<div dir="ltr">Now fixed in r298039</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Mar 17, 2017 at 2:02 PM Dean Michael Berris <<a href="mailto:dberris@google.com">dberris@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Cool -- yes, we can make this an ongoing effort in light of <a href="http://llvm.org/PR32274" class="gmail_msg" target="_blank">http://llvm.org/PR32274</a>.<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I'm going to make this change upstream, we can continue the discussion on the bug for details of removing the dependency on the C++ standard library in the bug?</div></div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Fri, Mar 17, 2017 at 1:04 PM Keith Wyss <<a href="mailto:wyssman@gmail.com" class="gmail_msg" target="_blank">wyssman@gmail.com</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_msg">I'm OK with your patch as well. It feels a bit busted that we're only interested in the c strings and the header has to export <string>, but that's life in c-land.<br class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Might be OK long term as long as xray_log_interface.h doesn't export c++ headers.<br class="gmail_msg">The Fdr logging implementation may be linked in, so I need to study a bit to understand the boundaries we have to operate in such we respect users of different stdlib implementations or users that are on Obj-C or C proper.<br class="gmail_msg"></div></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On Thu, Mar 16, 2017 at 3:28 PM, Dean Michael Berris <span dir="ltr" class="gmail_msg"><<a href="mailto:dberris@google.com" class="gmail_msg" target="_blank">dberris@google.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><span class="gmail_msg"><div dir="ltr" class="gmail_msg">On Fri, Mar 17, 2017 at 4:57 AM Laurent Nicolas via Phabricator <<a href="mailto:reviews@reviews.llvm.org" class="gmail_msg" target="_blank">reviews@reviews.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">lonico77 added inline comments.<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
================<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
Comment at: compiler-rt/trunk/lib/xray/xray_fdr_logging_impl.h:137<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
+        Report("Failed to release buffer at %p; error=%s\n", Buffer.Buffer,<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
+               EC.message().c_str());<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
+      return;<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
----------------<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
I'm seeing the following error when building with clang 3.9.1:<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
```<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
In file included from /x/eng/rtpbld01/scratch/laurentn/llvm-wss/sources/llvm_import_from_git_rtp2/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc:15:<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
/x/eng/rtpbld01/scratch/laurentn/llvm-wss/sources/llvm_import_from_git_rtp2/llvm/projects/compiler-rt/lib/xray/tests/../xray_fdr_logging_impl.h:137:19: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
               EC.message().c_str());<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
                  ^<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
/x/eng/btools/arch/x86_64-redhat-rhel6/compilers_n_tools/pkgs/llvm-3.9.1-p1/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
    class _LIBCPP_TYPE_VIS_ONLY basic_string;<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
                                ^<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
```<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
And the same error shows up in 5 other locations where EC.message() is used.<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
I was able to bypass the error by adding<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
```<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
 #include <mutex><br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
+#include <string><br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
 #include <system_error><br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
```<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
in llvm/projects/compiler-rt/lib/xray/xray_buffer_queue.h<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
but I'm not sure it's the best way to address this across platforms.<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg">
<br class="m_-1540434576067657026m_1697408612117773503m_-6973461061010024780gmail_msg gmail_msg"></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></span><div class="gmail_msg">Interesting. Which standard library is this? Is this libstdc++ or libc++?</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I suppose this is a change that's alright to make, if it fixes the error for clang-3.9.1.</div></div></div>
</blockquote></div><br class="gmail_msg"></div>
</blockquote></div></blockquote></div>