2876225417 wrote:

## Details

<span id="issue1"></span>
### 1. reverse_iterator requires default ctor
```bash
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_algobase.h:67:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_iterator.h:182:37:
 error: no matching constructor for initialization of 
'llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange, 
mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block *>::iterator'
  182 |       _GLIBCXX_NOEXCEPT_IF(noexcept(_Iterator()))
      |                                     ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h:245:46:
 note: expanded from macro '_GLIBCXX_NOEXCEPT_IF'
  245 | #  define _GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__)
      |                                              ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/type_traits:3558:46:
 note: in instantiation of exception specification for 'reverse_iterator' 
requested here
 3558 |   inline constexpr bool is_constructible_v = __is_constructible(_Tp, 
_Args...);
      |                                              ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/concepts:162:30:
 note: in instantiation of variable template specialization 
'std::is_constructible_v<std::reverse_iterator<llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange,
 mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block 
*>::iterator>>' requested here
  162 |       = destructible<_Tp> && is_constructible_v<_Tp, _Args...>;
      |                              ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/concepts:162:30:
 note: while substituting template arguments into constraint expression here
  162 |       = destructible<_Tp> && is_constructible_v<_Tp, _Args...>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/concepts:166:37:
 note: while checking the satisfaction of concept 
'constructible_from<std::reverse_iterator<llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange,
 mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block 
*>::iterator>>' requested here
  166 |     concept default_initializable = constructible_from<_Tp>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/concepts:282:44:
 note: while checking the satisfaction of concept 
'default_initializable<std::reverse_iterator<llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange,
 mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block 
*>::iterator>>' requested here
  282 |     concept semiregular = copyable<_Tp> && default_initializable<_Tp>;
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/concepts:356:23:
 note: (skipping 14 contexts in backtrace; use -ftemplate-backtrace-limit=0 to 
see all)
  356 |     concept regular = semiregular<_Tp> && equality_comparable<_Tp>;
      |                       ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/GenericDomTreeConstruction.h:870:5:
 note: in instantiation of member function 
'llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<mlir::Block, 
false>>::ComputeUnreachableDominators' requested here
  870 |     ComputeUnreachableDominators(DT, BUI, To, From, 
DiscoveredEdgesToReachable);
      |     ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/GenericDomTreeConstruction.h:671:7:
 note: in instantiation of member function 
'llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<mlir::Block, 
false>>::InsertUnreachable' requested here
  671 |       InsertUnreachable(DT, BUI, FromTN, To);
      |       ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/GenericDomTreeConstruction.h:1145:11:
 note: in instantiation of member function 
'llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<mlir::Block, 
false>>::InsertEdge' requested here
 1145 |           InsertEdge(DT, /*BUI=*/nullptr, Update.getFrom(), 
Update.getTo());
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/GenericDomTreeConstruction.h:1582:26:
 note: in instantiation of member function 
'llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<mlir::Block, 
false>>::ApplyUpdates' requested here
 1582 |   SemiNCAInfo<DomTreeT>::ApplyUpdates(DT, PreViewCFG, PostViewCFG);
      |                          ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/GenericDomTree.h:637:21:
 note: in instantiation of function template specialization 
'llvm::DomTreeBuilder::ApplyUpdates<llvm::DominatorTreeBase<mlir::Block, 
false>>' requested here
  637 |     DomTreeBuilder::ApplyUpdates(*this, PreViewCFG, nullptr);
      |                     ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:1221:9:
 note: candidate constructor (the implicit copy constructor) not viable: 
requires 1 argument, but 0 were provided
 1221 |   class iterator : public indexed_accessor_iterator<iterator, BaseT, T,
      |         ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:1221:9:
 note: candidate constructor (the implicit move constructor) not viable: 
requires 1 argument, but 0 were provided
 1221 |   class iterator : public indexed_accessor_iterator<iterator, BaseT, T,
      |         ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:1230:5:
 note: candidate constructor not viable: requires 2 arguments, but 0 were 
provided
 1230 |     iterator(BaseT owner, ptrdiff_t curIndex)
      |     ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```

<span id="issue2"></span>
### 2. reverse_iterator requires default ctor
```bash
FAILED: [code=1] lib/IR/CMakeFiles/LLVMCore.dir/Dominators.cpp.o 
/usr/bin/g++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 
-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/build-stage1/lib/IR
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/lib/IR
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/build-stage1/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include
 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden 
-Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings 
-Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long 
-Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull 
-Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move 
-Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread 
-Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment 
-Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color 
-ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++23 -UNDEBUG 
-fno-exceptions -funwind-tables -fno-rtti -MD -MT 
lib/IR/CMakeFiles/LLVMCore.dir/Dominators.cpp.o -MF 
lib/IR/CMakeFiles/LLVMCore.dir/Dominators.cpp.o.d -o 
lib/IR/CMakeFiles/LLVMCore.dir/Dominators.cpp.o -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/lib/IR/Dominators.cpp
In file included from /usr/include/c++/15.2.1/functional:50,
                 from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/ADT/STLForwardCompat.h:21,
                 from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/Support/MathExtras.h:16,
                 from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/ADT/APInt.h:19,
                 from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/Dominators.h:17,
                 from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/lib/IR/Dominators.cpp:16:
/usr/include/c++/15.2.1/bits/stl_iterator.h: In instantiation of ‘constexpr 
std::reverse_iterator<_Iterator>::reverse_iterator() [with _Iterator = 
llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>]’:
/usr/include/c++/15.2.1/type_traits:3558:46:   required from ‘constexpr const 
bool 
std::is_constructible_v<std::reverse_iterator<llvm::SuccIterator<llvm::Instruction,
 llvm::BasicBlock> > >’
 3558 |   inline constexpr bool is_constructible_v = __is_constructible(_Tp, 
_Args...);
      |                                              
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/concepts:162:30:   required from ‘_ForwardIterator 
std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with 
_InputIterator = reverse_iterator<llvm::SuccIterator<llvm::Instruction, 
llvm::BasicBlock> >; _ForwardIterator = llvm::BasicBlock**]’
  162 |       = destructible<_Tp> && is_constructible_v<_Tp, _Args...>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/ADT/SmallVector.h:522:30:
   required from ‘static void llvm::SmallVectorTemplateBase<T, 
true>::uninitialized_copy(It1, It1, It2) [with It1 = 
std::reverse_iterator<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock> 
>; It2 = llvm::BasicBlock**; T = llvm::BasicBlock*]’
  522 |       std::uninitialized_copy(I, E, Dest);
      |       ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/ADT/SmallVector.h:690:29:
   required from ‘void llvm::SmallVectorImpl<T>::append(ItTy, ItTy) [with ItTy 
= std::reverse_iterator<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock> 
>; <template-parameter-2-2> = void; T = llvm::BasicBlock*]’
  690 |     this->uninitialized_copy(in_start, in_end, this->end());
      |     ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/ADT/SmallVector.h:1232:17:
   required from ‘llvm::SmallVector<T, N>::SmallVector(const 
llvm::iterator_range<RangeTy>&) [with RangeTy = 
std::reverse_iterator<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock> 
>; T = llvm::BasicBlock*; unsigned int N = 8]’
 1232 |     this->append(R.begin(), R.end());
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/Support/CFGDiff.h:137:19:
   required from ‘llvm::GraphDiff<NodePtr, InverseGraph>::VectRet 
llvm::GraphDiff<NodePtr, InverseGraph>::getChildren(NodePtr) const [with bool 
InverseEdge = false; NodePtr = llvm::BasicBlock*; bool InverseGraph = false; 
VectRet = llvm::SmallVector<llvm::BasicBlock*, 8>]’
  137 |     VectRet Res = VectRet(detail::reverse_if<!InverseEdge>(R));
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/Support/GenericDomTreeConstruction.h:114:60:
   required from ‘static llvm::SmallVector<typename DomTreeT::NodePtr, 8> 
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::getChildren(NodePtr, 
BatchUpdatePtr) [with bool Inversed = false; DomTreeT = 
llvm::DominatorTreeBase<llvm::BasicBlock, false>; typename DomTreeT::NodePtr = 
llvm::BasicBlock*; NodePtr = llvm::BasicBlock*; BatchUpdatePtr = 
llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::BasicBlock, 
false> >::BatchUpdateInfo*]’
  114 |       return BUI->PreViewCFG.template getChildren<Inversed>(N);
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/Support/GenericDomTreeConstruction.h:923:47:
   required from ‘static void 
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::DeleteEdge(DomTreeT&, 
BatchUpdatePtr, NodePtr, NodePtr) [with DomTreeT = 
llvm::DominatorTreeBase<llvm::BasicBlock, false>; BatchUpdatePtr = 
llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::BasicBlock, 
false> >::BatchUpdateInfo*; NodePtr = llvm::BasicBlock*]’
  923 |       auto Successors = getChildren<IsPostDom>(Of, BUI);
      |                         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/Support/GenericDomTreeConstruction.h:1573:36:
   required from ‘void llvm::DomTreeBuilder::DeleteEdge(DomTreeT&, typename 
DomTreeT::NodePtr, typename DomTreeT::NodePtr) [with DomTreeT = 
llvm::DominatorTreeBase<llvm::BasicBlock, false>; typename DomTreeT::NodePtr = 
llvm::BasicBlock*]’
 1573 |   SemiNCAInfo<DomTreeT>::DeleteEdge(DT, nullptr, From, To);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/lib/IR/Dominators.cpp:103:68:
   required from here
  103 |     DomTreeBuilder::BBDomTree &DT, BasicBlock *From, BasicBlock *To);
      |                                                                    ^
/usr/include/c++/15.2.1/bits/stl_iterator.h:182:7: error: no matching function 
for call to ‘llvm::SuccIterator<llvm::Instruction, 
llvm::BasicBlock>::SuccIterator()’
  182 |       _GLIBCXX_NOEXCEPT_IF(noexcept(_Iterator()))
      |       ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/stl_iterator.h:182:7: note: there are 4 candidates
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/Dominators.h:27:
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:186:10:
 note: candidate 1: ‘llvm::SuccIterator<InstructionT, 
BlockT>::SuccIterator(InstructionT*, bool) [with InstructionT = 
llvm::Instruction; BlockT = llvm::BasicBlock]’
  186 |   inline SuccIterator(InstructionT *Inst, bool) : Inst(Inst) {
      |          ^~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:186:10:
 note: candidate expects 2 arguments, 0 provided
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:184:19:
 note: candidate 2: ‘llvm::SuccIterator<InstructionT, 
BlockT>::SuccIterator(InstructionT*) [with InstructionT = llvm::Instruction; 
BlockT = llvm::BasicBlock]’
  184 |   explicit inline SuccIterator(InstructionT *Inst) : Inst(Inst), Idx(0) 
{}
      |                   ^~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:184:19:
 note: candidate expects 1 argument, 0 provided
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:139:7:
 note: candidate 3: ‘constexpr llvm::SuccIterator<llvm::Instruction, 
llvm::BasicBlock>::SuccIterator(const llvm::SuccIterator<llvm::Instruction, 
llvm::BasicBlock>&)’
  139 | class SuccIterator
      |       ^~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:139:7:
 note: candidate expects 1 argument, 0 provided
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:139:7:
 note: candidate 4: ‘constexpr llvm::SuccIterator<llvm::Instruction, 
llvm::BasicBlock>::SuccIterator(llvm::SuccIterator<llvm::Instruction, 
llvm::BasicBlock>&&)’
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-fix/llvm/include/llvm/IR/CFG.h:139:7:
 note: candidate expects 1 argument, 0 provided
```

<span id="issue3"></span>
### 3. Requires complete type
```bash
有一个问题:
[207/1679] Building CXX object 
lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIInsertWaitcnts.cpp.o
FAILED: [code=1] 
lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIInsertWaitcnts.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/lib/Target/AMDGPU
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/lib/Target/AMDGPU
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden 
-Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra 
-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers 
-pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++23 
-fvisibility=hidden -fno-exceptions -funwind-tables -fno-rtti -MD -MT 
lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIInsertWaitcnts.cpp.o -MF 
lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIInsertWaitcnts.cpp.o.d -o 
lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIInsertWaitcnts.cpp.o -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:26:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/CodeGen/MachinePassManager.h:24:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:36:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:20:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:37:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type '(anonymous 
namespace)::WaitcntBrackets'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 'std::default_delete<(anonymous 
namespace)::WaitcntBrackets>::operator()' requested here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/type_traits:1364:43:
 note: in instantiation of member function 'std::unique_ptr<(anonymous 
namespace)::WaitcntBrackets>::~unique_ptr' requested here
 1364 |       = requires (void(&__f)(_Tp)) { __f({}); };
      |                                           ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/type_traits:1364:38:
 note: in instantiation of requirement here
 1364 |       = requires (void(&__f)(_Tp)) { __f({}); };
      |                                      ^~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/type_traits:1368:23:
 note: in instantiation of variable template specialization 
'std::__is_implicitly_default_constructible_v<(anonymous 
namespace)::SIInsertWaitcnts::BlockInfo>' requested here
 1368 |     : __bool_constant<__is_implicitly_default_constructible_v<_Tp>>
      |                       ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/type_traits:189:30:
 note: in instantiation of template class 
'std::__is_implicitly_default_constructible<(anonymous 
namespace)::SIInsertWaitcnts::BlockInfo>' requested here
  189 |                                       
__enable_if_t<bool(_Bn::value)>...>;
      |                                                          ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/type_traits:205:16:
 note: (skipping 5 contexts in backtrace; use -ftemplate-backtrace-limit=0 to 
see all)
  205 |     : decltype(__detail::__and_fn<_Bn...>(0))
      |                ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/SmallVector.h:332:31:
 note: in instantiation of template class 
'std::is_trivially_copy_constructible<std::pair<llvm::MachineBasicBlock *, 
(anonymous namespace)::SIInsertWaitcnts::BlockInfo>>' requested here
  332 | template <typename T, bool = 
(std::is_trivially_copy_constructible<T>::value) &&
      |                               ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/SmallVector.h:576:32:
 note: in instantiation of default argument for 
'SmallVectorTemplateBase<std::pair<llvm::MachineBasicBlock *, (anonymous 
namespace)::SIInsertWaitcnts::BlockInfo>>' required here
  576 | class SmallVectorImpl : public SmallVectorTemplateBase<T> {
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1204:43:
 note: in instantiation of template class 
'llvm::SmallVectorImpl<std::pair<llvm::MachineBasicBlock *, (anonymous 
namespace)::SIInsertWaitcnts::BlockInfo>>' requested here
 1204 | class LLVM_GSL_OWNER SmallVector : public SmallVectorImpl<T>,
      |                                           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/MapVector.h:39:31:
 note: in instantiation of template class 
'llvm::SmallVector<std::pair<llvm::MachineBasicBlock *, (anonymous 
namespace)::SIInsertWaitcnts::BlockInfo>, 0>' requested here
   39 |   using value_type = typename VectorType::value_type;
      |                               ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:518:45:
 note: in instantiation of template class 
'llvm::MapVector<llvm::MachineBasicBlock *, (anonymous 
namespace)::SIInsertWaitcnts::BlockInfo>' requested here
  518 |   MapVector<MachineBasicBlock *, BlockInfo> BlockInfos;
      |                                             ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:329:7:
 note: forward declaration of '(anonymous namespace)::WaitcntBrackets'
  329 | class WaitcntBrackets;
      |       ^
1 error generated.
```

<span id="issue4"></span>
### 4. unique_ptr requires complete type
```bash
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:37:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 'llvm::MCStreamer'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<llvm::MCStreamer>::operator()' requested here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/lib/Target/BPF/BPFAsmPrinter.h:22:24:
 note: in instantiation of member function 
'std::unique_ptr<llvm::MCStreamer>::~unique_ptr' requested here
   22 |       : AsmPrinter(TM, std::move(Streamer), ID), BTF(nullptr), TM(TM) {}
      |                        ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/MC/MCExpr.h:25:7:
 note: forward declaration of 'llvm::MCStreamer'
   25 | class MCStreamer;
      |       ^
1 error generated.
```

<span id="issue5"></span>
### 5. unique_ptr requires complete type

Same as [4](#issue4)

<span id="issue6"></span>
### 6. Default params requires complete type
```bash
[413/1417] Building CXX object 
tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
FAILED: [code=1] 
tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -DCLANG_EXPORTS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/clang/lib/Interpreter
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/lib/Interpreter
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden 
-Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra 
-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers 
-pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
-Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++23 
-fno-exceptions -funwind-tables -fno-rtti -MD -MT 
tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
 -MF 
tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o.d
 -o 
tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
 -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/lib/Interpreter/Interpreter.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/lib/Interpreter/Interpreter.cpp:14:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/lib/Interpreter/DeviceOffload.h:16:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/lib/Interpreter/IncrementalParser.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/Error.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/Twine.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/SmallVector.h:30:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 'llvm::Module'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<llvm::Module>::operator()' requested here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/lib/Interpreter/IncrementalParser.h:71:71:
 note: in instantiation of member function 
'std::unique_ptr<llvm::Module>::~unique_ptr' requested here
   71 |                                       std::unique_ptr<llvm::Module> M = 
{});
      |                                                                       ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/lib/Interpreter/IncrementalParser.h:23:7:
 note: forward declaration of 'llvm::Module'
   23 | class Module;
      |       ^
1 error generated.
[415/1417] Building CXX object 
tools/clang/tools/extra/clang-apply-replacements/CMakeFiles/obj.clangApplyReplacements.dir/lib/Tooling/ApplyReplacements.cpp.o
ninja: build stopped: subcommand failed.
```

<span id="issue7"></span>
### 7. Default params requires complete type

Same as [6](#issue6)

<span id="issue8"></span>
### 8. unique_ptr requires complete type

```bash
[17/1428] Building CXX object 
tools/clang/tools/libclang/CMakeFiles/libclang.dir/Indexing.cpp.o
FAILED: [code=1] 
tools/clang/tools/libclang/CMakeFiles/libclang.dir/Indexing.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -D_CINDEX_LIB_ -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/clang/tools/libclang
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/tools/libclang
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden 
-Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra 
-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers 
-pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
-Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++23 -fPIC 
-fno-exceptions -funwind-tables -fno-rtti -MD -MT 
tools/clang/tools/libclang/CMakeFiles/libclang.dir/Indexing.cpp.o -MF 
tools/clang/tools/libclang/CMakeFiles/libclang.dir/Indexing.cpp.o.d -o 
tools/clang/tools/libclang/CMakeFiles/libclang.dir/Indexing.cpp.o -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/tools/libclang/Indexing.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/tools/libclang/Indexing.cpp:9:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/tools/libclang/CIndexDiagnostic.h:18:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 
'clang::CXDiagnosticImpl'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<clang::CXDiagnosticImpl>::operator()' requested here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_construct.h:88:15:
 note: in instantiation of member function 
'std::unique_ptr<clang::CXDiagnosticImpl>::~unique_ptr' requested here
   88 |         __location->~_Tp();
      |                      ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_construct.h:164:12:
 note: in instantiation of function template specialization 
'std::destroy_at<std::unique_ptr<clang::CXDiagnosticImpl>>' requested here
  164 |       std::destroy_at(__pointer);
      |            ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_construct.h:226:9:
 note: in instantiation of function template specialization 
'std::_Destroy<std::unique_ptr<clang::CXDiagnosticImpl>>' requested here
  226 |           std::_Destroy(std::__addressof(*__first));
      |                ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/alloc_traits.h:1045:12:
 note: in instantiation of function template specialization 
'std::_Destroy<std::unique_ptr<clang::CXDiagnosticImpl> *>' requested here
 1045 |       std::_Destroy(__first, __last);
      |            ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_vector.h:802:7:
 note: in instantiation of function template specialization 
'std::_Destroy<std::unique_ptr<clang::CXDiagnosticImpl> *, 
std::unique_ptr<clang::CXDiagnosticImpl>>' requested here
  802 |         std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
      |              ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/tools/libclang/CIndexDiagnostic.h:32:3:
 note: in instantiation of member function 
'std::vector<std::unique_ptr<clang::CXDiagnosticImpl>>::~vector' requested here
   32 |   CXDiagnosticSetImpl(bool isManaged = false)
      |   ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/tools/libclang/CIndexDiagnostic.h:25:7:
 note: forward declaration of 'clang::CXDiagnosticImpl'
   25 | class CXDiagnosticImpl;
      |       ^
1 error generated.
```

<span id="issue9"></span>
### 9. unique_ptr requires complete type

Same as [8](#issue8)

<span id="issue10"></span>
### 10. make_unique requires complete type

```bash
[409/1926] Building CXX object 
tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/GlobalCompilationDatabase.cpp.o
FAILED: [code=1] 
tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/GlobalCompilationDatabase.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/clang/tools/extra/clangd
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/../include-cleaner/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/clang/tools/extra/clangd/../clang-tidy
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden 
-Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra 
-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers 
-pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
-Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++23 
-fno-exceptions -funwind-tables -fno-rtti -MD -MT 
tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/GlobalCompilationDatabase.cpp.o
 -MF 
tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/GlobalCompilationDatabase.cpp.o.d
 -o 
tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/GlobalCompilationDatabase.cpp.o
 -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:9:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/ProjectModules.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/support/Function.h:16:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:36:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:20:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:37:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:1084:34:
 error: allocation of incomplete type 
'clang::clangd::DirectoryBasedGlobalCompilationDatabase::BroadcastThread'
 1084 |     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
      |                                  ^~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:355:24:
 note: in instantiation of function template specialization 
'std::make_unique<clang::clangd::DirectoryBasedGlobalCompilationDatabase::BroadcastThread,
 clang::clangd::DirectoryBasedGlobalCompilationDatabase &>' requested here
  355 |       Broadcaster(std::make_unique<BroadcastThread>(*this)) {
      |                        ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.h:181:9:
 note: forward declaration of 
'clang::clangd::DirectoryBasedGlobalCompilationDatabase::BroadcastThread'
  181 |   class BroadcastThread;
      |         ^
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:9:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/ProjectModules.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/support/Function.h:16:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:36:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:20:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:37:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 
'clang::clangd::DirectoryBasedGlobalCompilationDatabase::BroadcastThread'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<clang::clangd::DirectoryBasedGlobalCompilationDatabase::BroadcastThread>::operator()'
 requested here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:355:19:
 note: in instantiation of member function 
'std::unique_ptr<clang::clangd::DirectoryBasedGlobalCompilationDatabase::BroadcastThread>::~unique_ptr'
 requested here
  355 |       Broadcaster(std::make_unique<BroadcastThread>(*this)) {
      |                   ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.h:181:9:
 note: forward declaration of 
'clang::clangd::DirectoryBasedGlobalCompilationDatabase::BroadcastThread'
  181 |   class BroadcastThread;
      |         ^
2 errors generated.
```

<span id="issue11"></span>
### 11. unique_ptr requires complete type

```bash
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 
'lldb_private::EmulateInstruction'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<lldb_private::EmulateInstruction>::operator()' requested 
here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/Core/EmulateInstruction.h:43:3:
 note: in instantiation of member function 
'std::unique_ptr<lldb_private::EmulateInstruction>::~unique_ptr' requested here
   43 |   SingleStepBreakpointLocationsPredictor(
      |   ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/lldb-forward.h:83:7:
 note: forward declaration of 'lldb_private::EmulateInstruction'
   83 | class EmulateInstruction;
      |       ^
1 error generated.
```

<span id="issue12"></span>
### 12. unique_ptr requires complete type

Same as [11](#issue11)

<span id="issue13"></span>
### 13. Cannot convert nullopt to nullptr

```bash
FAILED: [code=1] tools/lldb/source/Target/CMakeFiles/lldbTarget.dir/Target.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -DHAVE_ROUND -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/source/Target
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Target
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/../clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/../clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/source
 -isystem /usr/include/libxml2 -fPIC -fno-semantic-interposition 
-fvisibility-inlines-hidden -Werror=date-time 
-Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter 
-Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic 
-Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -Wno-unknown-pragmas 
-Wno-strict-aliasing -Wno-vla-extension -O3 -DNDEBUG -std=c++23 -fno-exceptions 
-funwind-tables -fno-rtti -MD -MT 
tools/lldb/source/Target/CMakeFiles/lldbTarget.dir/Target.cpp.o -MF 
tools/lldb/source/Target/CMakeFiles/lldbTarget.dir/Target.cpp.o.d -o 
tools/lldb/source/Target/CMakeFiles/lldbTarget.dir/Target.cpp.o -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Target/Target.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Target/Target.cpp:18:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h:15:
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h:28:62:
 error: no viable conversion from returned value of type 'std::nullptr_t' to 
function return type 'std::optional<std::string>' (aka 
'std::optional<basic_string<char>>')
   28 |   virtual std::optional<std::string> GetShortHelp() { return nullptr; }
      |                                                              ^~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:778:11:
 note: candidate constructor (the implicit copy constructor) not viable: no 
known conversion from 'std::nullptr_t' to 'const 
optional<std::basic_string<char>> &' for 1st argument
  778 |     class optional
      |           ^~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:778:11:
 note: candidate constructor (the implicit move constructor) not viable: no 
known conversion from 'std::nullptr_t' to 'optional<std::basic_string<char>> 
&&' for 1st argument
  778 |     class optional
      |           ^~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:864:17:
 note: candidate constructor not viable: no known conversion from 
'std::nullptr_t' to 'nullopt_t' for 1st argument
  864 |       constexpr optional(nullopt_t) noexcept { }
      |                 ^        ~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:874:2:
 note: candidate template ignored: constraints not satisfied [with _Up = 
std::nullptr_t]
  874 |         optional(_Up&& __t)
      |         ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:871:7:
 note: because 'is_constructible_v<std::basic_string<char>, std::nullptr_t>' 
evaluated to false
  871 |           && is_constructible_v<_Tp, _Up>
      |              ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:871:7:
 error: call to deleted constructor of 'std::basic_string<char>'
  871 |           && is_constructible_v<_Tp, _Up>
      |              ^~~~~~~~~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/basic_string.h:835:7:
 note: 'basic_string' has been explicitly marked deleted here
  835 |       basic_string(nullptr_t) = delete;
      |       ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/basic_string.h:94:11:
 note: 'basic_string<char>' defined here
   94 |     class basic_string
      |           ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:883:2:
 note: candidate template ignored: could not match 'optional<_Up>' against 
'std::nullptr_t'
  883 |         optional(const optional<_Up>& __t)
      |         ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:895:2:
 note: candidate template ignored: could not match 'optional<_Up>' against 
'std::nullptr_t'
  895 |         optional(optional<_Up>&& __t)
      |         ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/optional:905:2:
 note: explicit constructor is not a candidate
  905 |         optional(in_place_t, _Args&&... __args)
      |         ^
2 errors generated.
[166/3391] Building CXX object 
tools/lldb/source/Symbol/CMakeFiles/lldbSymbol.dir/Symbol.cpp.o
ninja: build stopped: subcommand failed.
```

<span id="issue14"></span>
### 14. unique_ptr requires complete type

```bash
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 
'lldb_private::ASTStructExtractor'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<lldb_private::ASTStructExtractor>::operator()' requested 
here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h:60:9:
 note: in instantiation of member function 
'std::unique_ptr<lldb_private::ASTStructExtractor>::~unique_ptr' requested here
   60 |   class ClangFunctionCallerHelper
      |         ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h:60:9:
 note: in implicit destructor for 
'lldb_private::ClangFunctionCaller::ClangFunctionCallerHelper' first required 
here
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/lldb-forward.h:19:7:
 note: forward declaration of 'lldb_private::ASTStructExtractor'
   19 | class ASTStructExtractor;
      |       ^
1 error generated.
```

<span id="issue15"></span>
### 15. unique_ptr requires complete type

```bash
FAILED: [code=1] 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -DHAVE_ROUND -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/source/Plugins/ExpressionParser/Clang
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/../clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/../clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/source
 -isystem /usr/include/libxml2 -fPIC -fno-semantic-interposition 
-fvisibility-inlines-hidden -Werror=date-time 
-Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter 
-Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic 
-Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -Wno-unknown-pragmas 
-Wno-strict-aliasing -Wno-vla-extension -O3 -DNDEBUG -std=c++23 -fno-exceptions 
-funwind-tables -fno-rtti -MD -MT 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o
 -MF 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o.d
 -o 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o
 -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp:9:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h:16:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h:16:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/Expression/ExpressionTypeSystemHelper.h:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/Casting.h:20:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 
'lldb_private::ClangExpressionDeclMap'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<lldb_private::ClangExpressionDeclMap>::operator()' 
requested here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h:75:9:
 note: in instantiation of member function 
'std::unique_ptr<lldb_private::ClangExpressionDeclMap>::~unique_ptr' requested 
here
   75 |   class ClangUtilityFunctionHelper
      |         ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h:75:9:
 note: in implicit destructor for 
'lldb_private::ClangUtilityFunction::ClangUtilityFunctionHelper' first required 
here
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h:26:7:
 note: forward declaration of 'lldb_private::ClangExpressionDeclMap'
   26 | class ClangExpressionDeclMap;
      |       ^
1 error generated.
[148/2012] Building CXX object 
lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o
ninja: build stopped: subcommand failed.
```

<span id="issue16"></span>
### 16. unique_ptr requires complete type

```bash
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 
'lldb_private::ASTStructExtractor'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<lldb_private::ASTStructExtractor>::operator()' requested 
here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h:60:9:
 note: in instantiation of member function 
'std::unique_ptr<lldb_private::ASTStructExtractor>::~unique_ptr' requested here
   60 |   class ClangFunctionCallerHelper
      |         ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h:60:9:
 note: in implicit destructor for 
'lldb_private::ClangFunctionCaller::ClangFunctionCallerHelper' first required 
here
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/lldb-forward.h:19:7:
 note: forward declaration of 'lldb_private::ASTStructExtractor'
   19 | class ASTStructExtractor;
      |       ^
1 error generated.
```

<span id="issue17"></span>
### 17. unique_ptr requires complete type

Same as [16](#issue16)


<span id="issue18"></span>
### 18. unique_ptr requires complete type

```bash
[115/2012] Building CXX object 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o
FAILED: [code=1] 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -DHAVE_ROUND -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/source/Plugins/ExpressionParser/Clang
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/../clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/../clang/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/lldb/source
 -isystem /usr/include/libxml2 -fPIC -fno-semantic-interposition 
-fvisibility-inlines-hidden -Werror=date-time 
-Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter 
-Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic 
-Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -Wno-unknown-pragmas 
-Wno-strict-aliasing -Wno-vla-extension -O3 -DNDEBUG -std=c++23 -fno-exceptions 
-funwind-tables -fno-rtti -MD -MT 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o
 -MF 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o.d
 -o 
tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangUtilityFunction.cpp.o
 -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp:9:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h:16:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h:16:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/include/lldb/Expression/ExpressionTypeSystemHelper.h:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/Casting.h:20:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/memory:80:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:90:16:
 error: invalid application of 'sizeof' to an incomplete type 
'lldb_private::ClangExpressionDeclMap'
   90 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/unique_ptr.h:398:4:
 note: in instantiation of member function 
'std::default_delete<lldb_private::ClangExpressionDeclMap>::operator()' 
requested here
  398 |           get_deleter()(std::move(__ptr));
      |           ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h:75:9:
 note: in instantiation of member function 
'std::unique_ptr<lldb_private::ClangExpressionDeclMap>::~unique_ptr' requested 
here
   75 |   class ClangUtilityFunctionHelper
      |         ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h:75:9:
 note: in implicit destructor for 
'lldb_private::ClangUtilityFunction::ClangUtilityFunctionHelper' first required 
here
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h:26:7:
 note: forward declaration of 'lldb_private::ClangExpressionDeclMap'
   26 | class ClangExpressionDeclMap;
      |       ^
1 error generated.
[148/2012] Building CXX object 
lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o
ninja: build stopped: subcommand failed.
```

<span id="issue19"></span>
### 19. unique_ptr requires complete type

Same as [18](#issue18)

<span id="issue20"></span>
### 20. vector/ArrayRef requires complete type

```bash
[38/2024] Building CXX object 
tools/mlir/lib/Query/Matcher/CMakeFiles/obj.MLIRQueryMatcher.dir/MatchFinder.cpp.o
FAILED: [code=1] 
tools/mlir/lib/Query/Matcher/CMakeFiles/obj.MLIRQueryMatcher.dir/MatchFinder.cpp.o
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project-built/bin/clang++
 -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/mlir/lib/Query/Matcher
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/lib/Query/Matcher
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/tools/mlir/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/build-final/include
 
-I/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include
 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden 
-Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra 
-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers 
-pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion 
-Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported 
-fdiagnostics-color -ffunction-sections -fdata-sections -Wundef 
-Werror=mismatched-tags -Werror=global-constructors -O3 -DNDEBUG -std=c++23 
-fno-exceptions -funwind-tables -fno-rtti -MD -MT 
tools/mlir/lib/Query/Matcher/CMakeFiles/obj.MLIRQueryMatcher.dir/MatchFinder.cpp.o
 -MF 
tools/mlir/lib/Query/Matcher/CMakeFiles/obj.MLIRQueryMatcher.dir/MatchFinder.cpp.o.d
 -o 
tools/mlir/lib/Query/Matcher/CMakeFiles/obj.MLIRQueryMatcher.dir/MatchFinder.cpp.o
 -c 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/lib/Query/Matcher/MatchFinder.cpp
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/lib/Query/Matcher/MatchFinder.cpp:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchFinder.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:24:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/Matchers.h:18:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/BuiltinAttributes.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/BuiltinAttributeInterfaces.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/AffineMap.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/AffineExpr.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/Visitors.h:18:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:21:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/Hashing.h:51:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/SwapByteOrder.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLForwardCompat.h:21:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/functional:66:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/vector:68:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_vector.h:376:35:
 error: arithmetic on a pointer to an incomplete type 
'mlir::query::matcher::DynMatcher'
  376 |                       _M_impl._M_end_of_storage - _M_impl._M_start);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_vector.h:650:7:
 note: in instantiation of member function 
'std::_Vector_base<mlir::query::matcher::DynMatcher, 
std::allocator<mlir::query::matcher::DynMatcher>>::~_Vector_base' requested here
  650 |       vector(vector&&) noexcept = default;
      |       ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:106:9:
 note: in defaulted move constructor for 
'std::vector<mlir::query::matcher::DynMatcher>' first required here
  106 |       : matchers(std::move(matchers)) {}
      |         ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:28:7:
 note: forward declaration of 'mlir::query::matcher::DynMatcher'
   28 | class DynMatcher;
      |       ^
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/lib/Query/Matcher/MatchFinder.cpp:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchFinder.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:24:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/Matchers.h:18:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/BuiltinAttributes.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/BuiltinAttributeInterfaces.h:12:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/AffineMap.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/AffineExpr.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/IR/Visitors.h:18:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:21:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/Hashing.h:51:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/Support/SwapByteOrder.h:17:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/STLForwardCompat.h:21:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/functional:66:
In file included from 
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/vector:68:
/usr/lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/bits/stl_vector.h:1119:44:
 error: arithmetic on a pointer to an incomplete type 
'mlir::query::matcher::DynMatcher'
 1119 |         ptrdiff_t __dif = this->_M_impl._M_finish - 
this->_M_impl._M_start;
      |                           ~~~~~~~~~~~~~~~~~~~~~~~ ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:95:36:
 note: in instantiation of member function 
'std::vector<mlir::query::matcher::DynMatcher>::size' requested here
   95 |         : Data(V.data()), Length(V.size()) {}
      |                                    ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:108:65:
 note: in instantiation of function template specialization 
'llvm::ArrayRef<mlir::query::matcher::DynMatcher>::ArrayRef<std::vector<mlir::query::matcher::DynMatcher>,
 void>' requested here
  108 |   bool match(Operation *op) override { return Func(op, nullptr, 
matchers); }
      |                                                                 ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:28:7:
 note: forward declaration of 'mlir::query::matcher::DynMatcher'
   28 | class DynMatcher;
      |       ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:110:34:
 error: no viable conversion from 'std::vector<DynMatcher>' to 
'ArrayRef<DynMatcher>'
  110 |     return Func(op, &matchedOps, matchers);
      |                                  ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:40:40:
 note: candidate constructor (the implicit copy constructor) not viable: no 
known conversion from 'std::vector<DynMatcher>' to 'const 
ArrayRef<mlir::query::matcher::DynMatcher> &' for 1st argument
   40 |   class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
      |                                        ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:40:40:
 note: candidate constructor (the implicit move constructor) not viable: no 
known conversion from 'std::vector<DynMatcher>' to 
'ArrayRef<mlir::query::matcher::DynMatcher> &&' for 1st argument
   40 |   class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
      |                                        ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:69:18:
 note: candidate constructor not viable: no known conversion from 
'std::vector<DynMatcher>' to 'const mlir::query::matcher::DynMatcher &' for 1st 
argument
   69 |     /*implicit*/ ArrayRef(const T &OneElt LLVM_LIFETIME_BOUND)
      |                  ^        ~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:110:28:
 note: candidate constructor not viable: no known conversion from 
'std::vector<DynMatcher>' to 
'std::initializer_list<mlir::query::matcher::DynMatcher>' for 1st argument
  110 |     constexpr /*implicit*/ ArrayRef(
      |                            ^
  111 |         std::initializer_list<T> Vec LLVM_LIFETIME_BOUND)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:94:28:
 note: candidate template ignored: substitution failure [with C = 
std::vector<DynMatcher>]
   94 |     /*implicit*/ constexpr ArrayRef(const C &V)
      |                            ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:99:28:
 note: candidate template ignored: could not match 
'mlir::query::matcher::DynMatcher[N]' against 'std::vector<DynMatcher>'
   99 |     /*implicit*/ constexpr ArrayRef(const T (&Arr 
LLVM_LIFETIME_BOUND)[N])
      |                            ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:123:5:
 note: candidate template ignored: could not match 'iterator_range' against 
'std::vector'
  123 |     ArrayRef(const iterator_range<U *> &Range)
      |     ^
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/lib/Query/Matcher/MatchFinder.cpp:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchFinder.h:17:
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:108:65:
 error: no viable conversion from 'std::vector<DynMatcher>' to 
'ArrayRef<DynMatcher>'
  108 |   bool match(Operation *op) override { return Func(op, nullptr, 
matchers); }
      |                                                                 ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:105:3:
 note: in instantiation of member function 
'mlir::query::matcher::VariadicMatcher<&mlir::query::matcher::internal::allOfVariadicOperator>::match'
 requested here
  105 |   VariadicMatcher(std::vector<DynMatcher> matchers)
      |   ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:140:15:
 note: in instantiation of member function 
'mlir::query::matcher::VariadicMatcher<&mlir::query::matcher::internal::allOfVariadicOperator>::VariadicMatcher'
 requested here
  140 |           new VariadicMatcher<internal::allOfVariadicOperator>(
      |               ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:40:40:
 note: candidate constructor (the implicit copy constructor) not viable: no 
known conversion from 'std::vector<DynMatcher>' to 'const 
ArrayRef<mlir::query::matcher::DynMatcher> &' for 1st argument
   40 |   class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
      |                                        ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:40:40:
 note: candidate constructor (the implicit move constructor) not viable: no 
known conversion from 'std::vector<DynMatcher>' to 
'ArrayRef<mlir::query::matcher::DynMatcher> &&' for 1st argument
   40 |   class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
      |                                        ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:69:18:
 note: candidate constructor not viable: no known conversion from 
'std::vector<DynMatcher>' to 'const mlir::query::matcher::DynMatcher &' for 1st 
argument
   69 |     /*implicit*/ ArrayRef(const T &OneElt LLVM_LIFETIME_BOUND)
      |                  ^        ~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:110:28:
 note: candidate constructor not viable: no known conversion from 
'std::vector<DynMatcher>' to 
'std::initializer_list<mlir::query::matcher::DynMatcher>' for 1st argument
  110 |     constexpr /*implicit*/ ArrayRef(
      |                            ^
  111 |         std::initializer_list<T> Vec LLVM_LIFETIME_BOUND)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:94:28:
 note: candidate template ignored: substitution failure [with C = 
std::vector<DynMatcher>]
   94 |     /*implicit*/ constexpr ArrayRef(const C &V)
      |                            ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:99:28:
 note: candidate template ignored: could not match 
'mlir::query::matcher::DynMatcher[N]' against 'std::vector<DynMatcher>'
   99 |     /*implicit*/ constexpr ArrayRef(const T (&Arr 
LLVM_LIFETIME_BOUND)[N])
      |                            ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:123:5:
 note: candidate template ignored: could not match 'iterator_range' against 
'std::vector'
  123 |     ArrayRef(const iterator_range<U *> &Range)
      |     ^
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/lib/Query/Matcher/MatchFinder.cpp:13:
In file included from 
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchFinder.h:17:
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:108:65:
 error: no viable conversion from 'std::vector<DynMatcher>' to 
'ArrayRef<DynMatcher>'
  108 |   bool match(Operation *op) override { return Func(op, nullptr, 
matchers); }
      |                                                                 ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:105:3:
 note: in instantiation of member function 
'mlir::query::matcher::VariadicMatcher<&mlir::query::matcher::internal::anyOfVariadicOperator>::match'
 requested here
  105 |   VariadicMatcher(std::vector<DynMatcher> matchers)
      |   ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/mlir/include/mlir/Query/Matcher/MatchersInternal.h:144:15:
 note: in instantiation of member function 
'mlir::query::matcher::VariadicMatcher<&mlir::query::matcher::internal::anyOfVariadicOperator>::VariadicMatcher'
 requested here
  144 |           new VariadicMatcher<internal::anyOfVariadicOperator>(
      |               ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:40:40:
 note: candidate constructor (the implicit copy constructor) not viable: no 
known conversion from 'std::vector<DynMatcher>' to 'const 
ArrayRef<mlir::query::matcher::DynMatcher> &' for 1st argument
   40 |   class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
      |                                        ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:40:40:
 note: candidate constructor (the implicit move constructor) not viable: no 
known conversion from 'std::vector<DynMatcher>' to 
'ArrayRef<mlir::query::matcher::DynMatcher> &&' for 1st argument
   40 |   class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
      |                                        ^~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:69:18:
 note: candidate constructor not viable: no known conversion from 
'std::vector<DynMatcher>' to 'const mlir::query::matcher::DynMatcher &' for 1st 
argument
   69 |     /*implicit*/ ArrayRef(const T &OneElt LLVM_LIFETIME_BOUND)
      |                  ^        ~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:110:28:
 note: candidate constructor not viable: no known conversion from 
'std::vector<DynMatcher>' to 
'std::initializer_list<mlir::query::matcher::DynMatcher>' for 1st argument
  110 |     constexpr /*implicit*/ ArrayRef(
      |                            ^
  111 |         std::initializer_list<T> Vec LLVM_LIFETIME_BOUND)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:94:28:
 note: candidate template ignored: substitution failure [with C = 
std::vector<DynMatcher>]
   94 |     /*implicit*/ constexpr ArrayRef(const C &V)
      |                            ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:99:28:
 note: candidate template ignored: could not match 
'mlir::query::matcher::DynMatcher[N]' against 'std::vector<DynMatcher>'
   99 |     /*implicit*/ constexpr ArrayRef(const T (&Arr 
LLVM_LIFETIME_BOUND)[N])
      |                            ^
/run/media/ppqwqqq/22254a39-a5f0-4e28-93d1-96678a650d53/recover_hq1024/llvm/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:123:5:
 note: candidate template ignored: could not match 'iterator_range' against 
'std::vector'
  123 |     ArrayRef(const iterator_range<U *> &Range)
      |     ^
5 errors generated.
```

<span id="issue21"></span>
### 21. Explicit template instantiation

Same as [20](#issue20)

https://github.com/llvm/llvm-project/pull/182522
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to