Skip to content

[lldb] Intel PT plugin fails to compile #77251

@nmosier

Description

@nmosier

Trying to build LLDB with support for Intel PT results in multiple compilation errors.
Here is how I am compiling it:

cd llvm-project
git clone git@github.com:intel/libipt.git
cmake -S libipt -B libipt/build
cmake --build libipt/build
cmake -S llvm -B build -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On -DLLVM_ENABLE_PROJECTS='clang;lldb' -DLLDB_BUILD_INTEL_PT=On -DLIBIPT_INCLUDE_PATH=$PWD/libipt/build/libipt/include -DLIBIPT_LIBRARY_PATH=$PWD/libipt/build/lib
cmake --build build

Here are the compile errors I get while building LLVM (i.e., the cmake --build build step):

ninja: Entering directory `build/'
[1/14] Building CXX object tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/DecodedThread.cpp.o
FAILED: tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/DecodedThread.cpp.o 
/home/linuxbrew/.linuxbrew/opt/ccache/libexec/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/libipt/build/libipt/include -isystem /home/linuxbrew/.linuxbrew/Cellar/libxml2/2.12.1/include/libxml2 -isystem /home/linuxbrew/.linuxbrew/Cellar/libedit/20230828-3.1/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/DecodedThread.cpp.o -MF tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/DecodedThread.cpp.o.d -o tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/DecodedThread.cpp.o -c /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33,
                 from /usr/include/c++/11/bits/allocator.h:46,
                 from /usr/include/c++/11/unordered_map:40,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:9:
/usr/include/c++/11/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Args = {}; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage]’:
/usr/include/c++/11/bits/alloc_traits.h:516:17:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Args = {}; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>]’
/usr/include/c++/11/bits/vector.tcc:115:30:   required from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>; std::vector<_Tp, _Alloc>::reference = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage&]’
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:105:27:   required from here
/usr/include/c++/11/ext/new_allocator.h:162:11: error: use of deleted function ‘lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage::TraceItemStorage()’
  162 |         { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:9:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:270:9: note: ‘lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage::TraceItemStorage()’ is implicitly deleted because the default definition would be ill-formed:
  270 |   union TraceItemStorage {
      |         ^~~~~~~~~~~~~~~~
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:278:17: error: union member ‘lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage::error’ with non-trivial ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  278 |     std::string error;
      |                 ^~~~~
In file included from /usr/include/c++/11/optional:44,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:9:
/usr/include/c++/11/bits/stl_construct.h: In instantiation of ‘void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*]’:
/usr/include/c++/11/bits/alloc_traits.h:848:15:   required from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage]’
/usr/include/c++/11/bits/stl_vector.h:680:15:   required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>]’
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:248:62:   required from here
/usr/include/c++/11/bits/stl_construct.h:188:51: error: static assertion failed: value type is destructible
  188 |       static_assert(is_destructible<_Value_type>::value,
      |                                                   ^~~~~
/usr/include/c++/11/bits/stl_construct.h:188:51: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33,
                 from /usr/include/c++/11/bits/allocator.h:46,
                 from /usr/include/c++/11/unordered_map:40,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:9:
/usr/include/c++/11/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::destroy(_Up*) [with _Up = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage]’:
/usr/include/c++/11/bits/alloc_traits.h:535:15:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::destroy(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*) [with _Up = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>]’
/usr/include/c++/11/bits/vector.tcc:488:28:   required from ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {}; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>; std::vector<_Tp, _Alloc>::iterator = std::vector<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>::iterator]’
/usr/include/c++/11/bits/vector.tcc:121:21:   required from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>; std::vector<_Tp, _Alloc>::reference = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage&]’
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:105:27:   required from here
/usr/include/c++/11/ext/new_allocator.h:168:20: error: use of deleted function ‘lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage::~TraceItemStorage()’
  168 |         { __p->~_Up(); }
      |           ~~~~~~~~~^~
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:9:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:270:9: note: ‘lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage::~TraceItemStorage()’ is implicitly deleted because the default definition would be ill-formed:
  270 |   union TraceItemStorage {
      |         ^~~~~~~~~~~~~~~~
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:278:17: error: union member ‘lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage::error’ with non-trivial ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  278 |     std::string error;
      |                 ^~~~~
In file included from /usr/include/c++/11/vector:66,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include/llvm/ADT/DenseMap.h:25,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include/llvm/Support/JSON.h:49,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:15,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:9:
/usr/include/c++/11/bits/stl_uninitialized.h: In instantiation of ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*>; _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*]’:
/usr/include/c++/11/bits/stl_uninitialized.h:333:37:   required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*>; _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage]’
/usr/include/c++/11/bits/stl_uninitialized.h:355:2:   required from ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*; _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*; _Allocator = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>]’
/usr/include/c++/11/bits/vector.tcc:474:3:   required from ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {}; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>; std::vector<_Tp, _Alloc>::iterator = std::vector<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>::iterator]’
/usr/include/c++/11/bits/vector.tcc:121:21:   required from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>; std::vector<_Tp, _Alloc>::reference = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage&]’
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp:105:27:   required from here
/usr/include/c++/11/bits/stl_uninitialized.h:138:72: error: static assertion failed: result type must be constructible from value type of input range
  138 |       static_assert(is_constructible<_ValueType2, decltype(*__first)>::value,
      |                                                                        ^~~~~
/usr/include/c++/11/bits/stl_uninitialized.h:138:72: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
[2/14] Building CXX object tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceCursorIntelPT.cpp.o
FAILED: tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceCursorIntelPT.cpp.o 
/home/linuxbrew/.linuxbrew/opt/ccache/libexec/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/libipt/build/libipt/include -isystem /home/linuxbrew/.linuxbrew/Cellar/libxml2/2.12.1/include/libxml2 -isystem /home/linuxbrew/.linuxbrew/Cellar/libedit/20230828-3.1/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceCursorIntelPT.cpp.o -MF tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceCursorIntelPT.cpp.o.d -o tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceCursorIntelPT.cpp.o -c /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp: In member function ‘void lldb_private::trace_intel_pt::TraceCursorIntelPT::ClearTimingRangesIfInvalid()’:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp:38:21: error: ‘None’ was not declared in this scope; did you mean ‘llvm::yaml::QuotingType::None’?
   38 |       m_tsc_range = None;
      |                     ^~~~
      |                     llvm::yaml::QuotingType::None
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/Args.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/CompletionRequest.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/ArchSpec.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValue.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValueProperties.h:16,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Core/UserSettingsController.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Thread.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:18,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp:9:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include/llvm/Support/YAMLTraits.h:130:26: note: ‘llvm::yaml::QuotingType::None’ declared here
  130 | enum class QuotingType { None, Single, Double };
      |                          ^~~~
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp:46:29: error: ‘None’ was not declared in this scope; did you mean ‘llvm::yaml::QuotingType::None’?
   46 |       m_nanoseconds_range = None;
      |                             ^~~~
      |                             llvm::yaml::QuotingType::None
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/Args.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/CompletionRequest.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/ArchSpec.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValue.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValueProperties.h:16,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Core/UserSettingsController.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Thread.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:18,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp:9:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include/llvm/Support/YAMLTraits.h:130:26: note: ‘llvm::yaml::QuotingType::None’ declared here
  130 | enum class QuotingType { None, Single, Double };
      |                          ^~~~
[3/14] Building CXX object tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/ThreadDecoder.cpp.o
FAILED: tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/ThreadDecoder.cpp.o 
/home/linuxbrew/.linuxbrew/opt/ccache/libexec/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/libipt/build/libipt/include -isystem /home/linuxbrew/.linuxbrew/Cellar/libxml2/2.12.1/include/libxml2 -isystem /home/linuxbrew/.linuxbrew/Cellar/libedit/20230828-3.1/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/ThreadDecoder.cpp.o -MF tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/ThreadDecoder.cpp.o.d -o tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/ThreadDecoder.cpp.o -c /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp
In file included from /usr/include/c++/11/optional:44,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp:8:
/usr/include/c++/11/bits/stl_construct.h: In instantiation of ‘void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*]’:
/usr/include/c++/11/bits/alloc_traits.h:848:15:   required from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage]’
/usr/include/c++/11/bits/stl_vector.h:680:15:   required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>]’
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:61:7:   required from ‘void __gnu_cxx::new_allocator<_Tp>::destroy(_Up*) [with _Up = lldb_private::trace_intel_pt::DecodedThread; _Tp = lldb_private::trace_intel_pt::DecodedThread]’
/usr/include/c++/11/bits/alloc_traits.h:535:15:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::destroy(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*) [with _Up = lldb_private::trace_intel_pt::DecodedThread; _Tp = lldb_private::trace_intel_pt::DecodedThread; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<lldb_private::trace_intel_pt::DecodedThread>]’
/usr/include/c++/11/bits/shared_ptr_base.h:528:35:   required from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = lldb_private::trace_intel_pt::DecodedThread; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/11/bits/shared_ptr_base.h:526:7:   required from here
/usr/include/c++/11/bits/stl_construct.h:188:51: error: static assertion failed: value type is destructible
  188 |       static_assert(is_destructible<_Value_type>::value,
      |                                                   ^~~~~
/usr/include/c++/11/bits/stl_construct.h:188:51: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
[4/14] Building CXX object tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/LibiptDecoder.cpp.o
FAILED: tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/LibiptDecoder.cpp.o 
/home/linuxbrew/.linuxbrew/opt/ccache/libexec/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/libipt/build/libipt/include -isystem /home/linuxbrew/.linuxbrew/Cellar/libxml2/2.12.1/include/libxml2 -isystem /home/linuxbrew/.linuxbrew/Cellar/libedit/20230828-3.1/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/LibiptDecoder.cpp.o -MF tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/LibiptDecoder.cpp.o.d -o tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/LibiptDecoder.cpp.o -c /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp: In function ‘llvm::Error lldb_private::trace_intel_pt::DecodeSingleTraceForThread(lldb_private::trace_intel_pt::DecodedThread&, lldb_private::trace_intel_pt::TraceIntelPT&, llvm::ArrayRef<unsigned char>)’:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp:575:66: error: ‘None’ was not declared in this scope; did you mean ‘llvm::yaml::QuotingType::None’?
  575 |         i + 1 < blocks->size() ? blocks->at(i + 1).starting_ip : None,
      |                                                                  ^~~~
      |                                                                  llvm::yaml::QuotingType::None
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/Args.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/CompletionRequest.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/ArchSpec.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValue.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValueProperties.h:16,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Core/UserSettingsController.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Thread.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:18,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp:8:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include/llvm/Support/YAMLTraits.h:130:26: note: ‘llvm::yaml::QuotingType::None’ declared here
  130 | enum class QuotingType { None, Single, Double };
      |                          ^~~~
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp: In function ‘llvm::Error lldb_private::trace_intel_pt::DecodeSystemWideTraceForThread(lldb_private::trace_intel_pt::DecodedThread&, lldb_private::trace_intel_pt::TraceIntelPT&, const llvm::DenseMap<unsigned int, llvm::ArrayRef<unsigned char> >&, const std::vector<lldb_private::trace_intel_pt::IntelPTThreadContinousExecution>&)’:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp:643:17: error: ‘None’ was not declared in this scope; did you mean ‘llvm::yaml::QuotingType::None’?
  643 |               : None,
      |                 ^~~~
      |                 llvm::yaml::QuotingType::None
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/Args.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/CompletionRequest.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/ArchSpec.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValue.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValueProperties.h:16,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Core/UserSettingsController.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Thread.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:18,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp:8:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include/llvm/Support/YAMLTraits.h:130:26: note: ‘llvm::yaml::QuotingType::None’ declared here
  130 | enum class QuotingType { None, Single, Double };
      |                          ^~~~
[5/14] Building CXX object tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTMultiCpuDecoder.cpp.o
FAILED: tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTMultiCpuDecoder.cpp.o 
/home/linuxbrew/.linuxbrew/opt/ccache/libexec/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/libipt/build/libipt/include -isystem /home/linuxbrew/.linuxbrew/Cellar/libxml2/2.12.1/include/libxml2 -isystem /home/linuxbrew/.linuxbrew/Cellar/libedit/20230828-3.1/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTMultiCpuDecoder.cpp.o -MF tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTMultiCpuDecoder.cpp.o.d -o tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTMultiCpuDecoder.cpp.o -c /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp
In file included from /usr/include/c++/11/optional:44,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Trace.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp:9:
/usr/include/c++/11/bits/stl_construct.h: In instantiation of ‘void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*]’:
/usr/include/c++/11/bits/alloc_traits.h:848:15:   required from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage*; _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage]’
/usr/include/c++/11/bits/stl_vector.h:680:15:   required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread::TraceItemStorage>]’
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h:61:7:   required from ‘void __gnu_cxx::new_allocator<_Tp>::destroy(_Up*) [with _Up = lldb_private::trace_intel_pt::DecodedThread; _Tp = lldb_private::trace_intel_pt::DecodedThread]’
/usr/include/c++/11/bits/alloc_traits.h:535:15:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::destroy(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*) [with _Up = lldb_private::trace_intel_pt::DecodedThread; _Tp = lldb_private::trace_intel_pt::DecodedThread; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<lldb_private::trace_intel_pt::DecodedThread>]’
/usr/include/c++/11/bits/shared_ptr_base.h:528:35:   required from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = lldb_private::trace_intel_pt::DecodedThread; _Alloc = std::allocator<lldb_private::trace_intel_pt::DecodedThread>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/11/bits/shared_ptr_base.h:526:7:   required from here
/usr/include/c++/11/bits/stl_construct.h:188:51: error: static assertion failed: value type is destructible
  188 |       static_assert(is_destructible<_Value_type>::value,
      |                                                   ^~~~~
/usr/include/c++/11/bits/stl_construct.h:188:51: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
[6/14] Building CXX object tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTBundleLoader.cpp.o
FAILED: tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTBundleLoader.cpp.o 
/home/linuxbrew/.linuxbrew/opt/ccache/libexec/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/libipt/build/libipt/include -isystem /home/linuxbrew/.linuxbrew/Cellar/libxml2/2.12.1/include/libxml2 -isystem /home/linuxbrew/.linuxbrew/Cellar/libedit/20230828-3.1/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTBundleLoader.cpp.o -MF tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTBundleLoader.cpp.o.d -o tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/TraceIntelPTBundleLoader.cpp.o -c /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp: In member function ‘llvm::Expected<lldb_private::trace_intel_pt::TraceIntelPTBundleLoader::ParsedProcess> lldb_private::trace_intel_pt::TraceIntelPTBundleLoader::CreateEmptyProcess(lldb::pid_t, llvm::StringRef)’:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp:112:3: error: ‘process_sp’ was not declared in this scope
  112 |   process_sp->SetID(static_cast<lldb::pid_t>(pid));
      |   ^~~~~~~~~~
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp: In lambda function:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp:347:57: error: ‘None’ was not declared in this scope; did you mean ‘llvm::yaml::QuotingType::None’?
  347 |     proc->second->threads.push_back({tid, /*ipt_trace=*/None});
      |                                                         ^~~~
      |                                                         llvm::yaml::QuotingType::None
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/Args.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/CompletionRequest.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Utility/ArchSpec.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValue.h:13,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Interpreter/OptionValueProperties.h:16,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Core/UserSettingsController.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Thread.h:17,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/../common/ThreadPostMortemTrace.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp:9:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include/llvm/Support/YAMLTraits.h:130:26: note: ‘llvm::yaml::QuotingType::None’ declared here
  130 | enum class QuotingType { None, Single, Double };
      |                          ^~~~
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp:347:36: error: no matching function for call to ‘std::vector<lldb_private::trace_intel_pt::JSONThread>::push_back(<brace-enclosed initializer list>)’
  347 |     proc->second->threads.push_back({tid, /*ipt_trace=*/None});
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include/lldb/Target/Thread.h:15,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/../common/ThreadPostMortemTrace.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.h:12,
                 from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp:9:
/usr/include/c++/11/bits/stl_vector.h:1187:7: note: candidate: ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = lldb_private::trace_intel_pt::JSONThread; _Alloc = std::allocator<lldb_private::trace_intel_pt::JSONThread>; std::vector<_Tp, _Alloc>::value_type = lldb_private::trace_intel_pt::JSONThread]’
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1187:35: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const value_type&’ {aka ‘const lldb_private::trace_intel_pt::JSONThread&’}
 1187 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/stl_vector.h:1203:7: note: candidate: ‘void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = lldb_private::trace_intel_pt::JSONThread; _Alloc = std::allocator<lldb_private::trace_intel_pt::JSONThread>; std::vector<_Tp, _Alloc>::value_type = lldb_private::trace_intel_pt::JSONThread]’
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1203:30: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::vector<lldb_private::trace_intel_pt::JSONThread>::value_type&&’ {aka ‘lldb_private::trace_intel_pt::JSONThread&&’}
 1203 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
[7/14] Building CXX object tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/CommandObjectTraceStartIntelPT.cpp.o
FAILED: tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/CommandObjectTraceStartIntelPT.cpp.o 
/home/linuxbrew/.linuxbrew/opt/ccache/libexec/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/llvm/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/../clang/include -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/build/tools/lldb/source -I/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/libipt/build/libipt/include -isystem /home/linuxbrew/.linuxbrew/Cellar/libxml2/2.12.1/include/libxml2 -isystem /home/linuxbrew/.linuxbrew/Cellar/libedit/20230828-3.1/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/CommandObjectTraceStartIntelPT.cpp.o -MF tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/CommandObjectTraceStartIntelPT.cpp.o.d -o tools/lldb/source/Plugins/Trace/intel-pt/CMakeFiles/lldbPluginTraceIntelPT.dir/CommandObjectTraceStartIntelPT.cpp.o -c /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp:161:6: error: no declaration matches ‘bool lldb_private::trace_intel_pt::CommandObjectProcessTraceStartIntelPT::DoExecute(lldb_private::Args&, lldb_private::CommandReturnObject&)’
  161 | bool CommandObjectProcessTraceStartIntelPT::DoExecute(
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp:9:
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h:108:8: note: candidate is: ‘virtual void lldb_private::trace_intel_pt::CommandObjectProcessTraceStartIntelPT::DoExecute(lldb_private::Args&, lldb_private::CommandReturnObject&)’
  108 |   void DoExecute(Args &command, CommandReturnObject &result) override;
      |        ^~~~~~~~~
/afs/cs.stanford.edu/u/nmosier/llvm/bugfix-lldb-intelpt/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h:65:7: note: ‘class lldb_private::trace_intel_pt::CommandObjectProcessTraceStartIntelPT’ defined here
   65 | class CommandObjectProcessTraceStartIntelPT : public CommandObjectParsed {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

System: x86-64 Ubuntu/Linux 22.04
Compiler: GCC 11.4.0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions