[PATCH] D30850: [XRay] [compiler-rt] Refactor logic for xray fdr logging. NFC.
Laurent Nicolas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 16 10:57:18 PDT 2017
lonico77 added inline comments.
================
Comment at: compiler-rt/trunk/lib/xray/xray_fdr_logging_impl.h:137
+ Report("Failed to release buffer at %p; error=%s\n", Buffer.Buffer,
+ EC.message().c_str());
+ return;
----------------
I'm seeing the following error when building with clang 3.9.1:
```
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:
/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> >'
EC.message().c_str());
^
/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
class _LIBCPP_TYPE_VIS_ONLY basic_string;
^
```
And the same error shows up in 5 other locations where EC.message() is used.
I was able to bypass the error by adding
```
#include <mutex>
+#include <string>
#include <system_error>
```
in llvm/projects/compiler-rt/lib/xray/xray_buffer_queue.h
but I'm not sure it's the best way to address this across platforms.
Repository:
rL LLVM
https://reviews.llvm.org/D30850
More information about the llvm-commits
mailing list