reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/DebugInfo/DWARF/DWARFVerifier.h
   26 class DWARFDie;

References

include/llvm/ADT/SmallSet.h
  138   SmallVector<T, N> Vector;
  139   std::set<T, C> Set;
  141   using VIterator = typename SmallVector<T, N>::const_iterator;
  142   using mutable_iterator = typename SmallVector<T, N>::iterator;
  151   using const_iterator = SmallSetIterator<T, N, C>;
  164   size_type count(const T &V) const {
  180   std::pair<NoneType, bool> insert(const T &V) {
  207   bool erase(const T &V) {
  238   VIterator vfind(const T &V) const {
include/llvm/ADT/SmallVector.h
   75   AlignedCharArrayUnion<T> FirstEl;
  114   using value_type = T;
  115   using iterator = T *;
  116   using const_iterator = const T *;
  121   using reference = T &;
  122   using const_reference = const T &;
  123   using pointer = T *;
  124   using const_pointer = const T *;
  259 class SmallVectorTemplateBase<T, true> : public SmallVectorTemplateCommon<T> {
  264   static void destroy_range(T *, T *) {}
  264   static void destroy_range(T *, T *) {}
  299   void grow(size_t MinSize = 0) { this->grow_pod(MinSize, sizeof(T)); }
  302   void push_back(const T &Elt) {
  305     memcpy(reinterpret_cast<void *>(this->end()), &Elt, sizeof(T));
  315 class SmallVectorImpl : public SmallVectorTemplateBase<T> {
  316   using SuperClass = SmallVectorTemplateBase<T>;
  357   void resize(size_type N, const T &NV) {
  374   LLVM_NODISCARD T pop_back_val() {
  397   void append(size_type NumInputs, const T &Elt) {
  405   void append(std::initializer_list<T> IL) {
  412   void assign(size_type NumElts, const T &Elt) {
  429   void assign(std::initializer_list<T> IL) {
  467   iterator insert(iterator I, T &&Elt) {
  497   iterator insert(iterator I, const T &Elt) {
  526   iterator insert(iterator I, size_type NumToInsert, const T &Elt) {
  637   void insert(iterator I, std::initializer_list<T> IL) {
  641   template <typename... ArgTypes> reference emplace_back(ArgTypes &&... Args) {
  820   AlignedCharArrayUnion<T> InlineElts[N];
  837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
  837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
  846   explicit SmallVector(size_t Size, const T &Value = T())
  865   SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
  884   SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
include/llvm/DebugInfo/DWARF/DWARFContext.h
  231   DWARFDie getDIEForOffset(uint64_t Offset);
  313     DWARFDie FunctionDIE;
  314     DWARFDie BlockDIE;
  380   void addLocalsForDie(DWARFCompileUnit *CU, DWARFDie Subprogram, DWARFDie Die,
  380   void addLocalsForDie(DWARFCompileUnit *CU, DWARFDie Subprogram, DWARFDie Die,
include/llvm/DebugInfo/DWARF/DWARFDie.h
   96   DWARFDie getParent() const;
  102   DWARFDie getSibling() const;
  108   DWARFDie getPreviousSibling() const;
  114   DWARFDie getFirstChild() const;
  120   DWARFDie getLastChild() const;
  181   DWARFDie getAttributeValueAsReferencedDie(dwarf::Attribute Attr) const;
  182   DWARFDie getAttributeValueAsReferencedDie(const DWARFFormValue &V) const;
  286   DWARFDie Die;
  304   explicit attribute_iterator(DWARFDie D, bool End);
  312 inline bool operator==(const DWARFDie::attribute_iterator &LHS,
  313                        const DWARFDie::attribute_iterator &RHS) {
  317 inline bool operator!=(const DWARFDie::attribute_iterator &LHS,
  318                        const DWARFDie::attribute_iterator &RHS) {
  322 inline bool operator==(const DWARFDie &LHS, const DWARFDie &RHS) {
  322 inline bool operator==(const DWARFDie &LHS, const DWARFDie &RHS) {
  327 inline bool operator!=(const DWARFDie &LHS, const DWARFDie &RHS) {
  327 inline bool operator!=(const DWARFDie &LHS, const DWARFDie &RHS) {
  331 inline bool operator<(const DWARFDie &LHS, const DWARFDie &RHS) {
  331 inline bool operator<(const DWARFDie &LHS, const DWARFDie &RHS) {
  337                                   const DWARFDie> {
  338   DWARFDie Die;
  341   friend bool operator==(const DWARFDie::iterator &LHS,
  342                          const DWARFDie::iterator &RHS);
  347   explicit iterator(DWARFDie D) : Die(D) {}
  359   const DWARFDie &operator*() const { return Die; }
  362 inline bool operator==(const DWARFDie::iterator &LHS,
  363                        const DWARFDie::iterator &RHS) {
  367 inline bool operator!=(const DWARFDie::iterator &LHS,
  368                        const DWARFDie::iterator &RHS) {
  374 inline DWARFDie::iterator DWARFDie::begin() const {
  378 inline DWARFDie::iterator DWARFDie::end() const {
  382 inline iterator_range<DWARFDie::iterator> DWARFDie::children() const {
  393           reverse_iterator<llvm::DWARFDie::iterator>,
  394           bidirectional_iterator_tag, const llvm::DWARFDie> {
  397   llvm::DWARFDie Die;
  401   reverse_iterator(llvm::DWARFDie::iterator It)
  407   llvm::DWARFDie::iterator base() const {
  411   reverse_iterator<llvm::DWARFDie::iterator> &operator++() {
  413     llvm::DWARFDie D = Die.getPreviousSibling();
  421   reverse_iterator<llvm::DWARFDie::iterator> &operator--() {
  431   const llvm::DWARFDie &operator*() const {
  439   bool equals(const reverse_iterator<llvm::DWARFDie::iterator> &RHS) const {
  448 inline bool operator==(const std::reverse_iterator<DWARFDie::iterator> &LHS,
  449                        const std::reverse_iterator<DWARFDie::iterator> &RHS) {
  453 inline bool operator!=(const std::reverse_iterator<DWARFDie::iterator> &LHS,
  454                        const std::reverse_iterator<DWARFDie::iterator> &RHS) {
  458 inline std::reverse_iterator<DWARFDie::iterator> DWARFDie::rbegin() const {
  462 inline std::reverse_iterator<DWARFDie::iterator> DWARFDie::rend() const {
include/llvm/DebugInfo/DWARF/DWARFUnit.h
  232   std::map<uint64_t, std::pair<uint64_t, DWARFDie>> AddrDieMap;
  305   void updateAddressDieMap(DWARFDie Die);
  386   DWARFDie getUnitDIE(bool ExtractUnitDIEOnly = true) {
  393   DWARFDie getNonSkeletonUnitDIE(bool ExtractUnitDIEOnly = true) {
  430   DWARFDie getSubroutineForAddress(uint64_t Address);
  436                                  SmallVectorImpl<DWARFDie> &InlinedChain);
  454   uint32_t getDIEIndex(const DWARFDie &D) {
  459   DWARFDie getDIEAtIndex(unsigned Index) {
  464   DWARFDie getParent(const DWARFDebugInfoEntry *Die);
  465   DWARFDie getSibling(const DWARFDebugInfoEntry *Die);
  466   DWARFDie getPreviousSibling(const DWARFDebugInfoEntry *Die);
  467   DWARFDie getFirstChild(const DWARFDebugInfoEntry *Die);
  468   DWARFDie getLastChild(const DWARFDebugInfoEntry *Die);
  474   DWARFDie getDIEForOffset(uint64_t Offset) {
include/llvm/DebugInfo/DWARF/DWARFVerifier.h
   39     DWARFDie Die;
   48     DieRangeInfo(DWARFDie Die) : Die(Die) {}
  106   raw_ostream &dump(const DWARFDie &Die, unsigned indent = 0) const;
  175   unsigned verifyDebugInfoCallSite(const DWARFDie &Die);
  183   unsigned verifyDieRanges(const DWARFDie &Die, DieRangeInfo &ParentRI);
  196   unsigned verifyDebugInfoAttribute(const DWARFDie &Die,
  211   unsigned verifyDebugInfoForm(const DWARFDie &Die, DWARFAttribute &AttrValue);
  266   unsigned verifyNameIndexCompleteness(const DWARFDie &Die,
include/llvm/Support/AlignOf.h
   30   T t;
   39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
   50       llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/type_traits.h
   91     T t;
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  145       std::is_copy_constructible<detail::trivial_helper<T>>::value;
  147       !std::is_copy_constructible<T>::value;
  151       std::is_move_constructible<detail::trivial_helper<T>>::value;
  153       !std::is_move_constructible<T>::value;
  157       is_copy_assignable<detail::trivial_helper<T>>::value;
  159       !is_copy_assignable<T>::value;
  163       is_move_assignable<detail::trivial_helper<T>>::value;
  165       !is_move_assignable<T>::value;
  169       std::is_destructible<detail::trivial_helper<T>>::value;
lib/DebugInfo/DWARF/DWARFCompileUnit.cpp
   31   if (DWARFDie CUDie = getUnitDIE(false))
lib/DebugInfo/DWARF/DWARFContext.cpp
  641 DWARFDie DWARFContext::getDIEForOffset(uint64_t Offset) {
  850   auto UnitDIE = U->getUnitDIE();
  921   std::vector<DWARFDie> Worklist;
  924     DWARFDie DIE = Worklist.back();
  936     for (auto Child : DIE)
  953   SmallVector<DWARFDie, 4> InlinedChain;
  958   const DWARFDie &DIE = InlinedChain[0];
  973 static Optional<uint64_t> getTypeSize(DWARFDie Type, uint64_t PointerSize) {
  984     if (DWARFDie BaseType = Type.getAttributeValueAsReferencedDie(DW_AT_type))
  993     if (DWARFDie BaseType = Type.getAttributeValueAsReferencedDie(DW_AT_type))
  998     DWARFDie BaseType = Type.getAttributeValueAsReferencedDie(DW_AT_type);
 1005     for (DWARFDie Child : Type) {
 1030 void DWARFContext::addLocalsForDie(DWARFCompileUnit *CU, DWARFDie Subprogram,
 1031                                    DWARFDie Die, std::vector<DILocal> &Result) {
 1046     if (auto Origin =
 1052     if (auto Type = Die.getAttributeValueAsReferencedDie(DW_AT_type))
 1070     if (auto Origin =
 1074   for (auto Child : Die)
 1085   DWARFDie Subprogram = CU->getSubroutineForAddress(Address.Address);
 1168   SmallVector<DWARFDie, 4> InlinedChain;
 1186     DWARFDie &FunctionDIE = InlinedChain[i];
lib/DebugInfo/DWARF/DWARFDebugLine.cpp
 1107     if (auto CUDIE = CU->getUnitDIE())
 1111     if (auto TUDIE = TU->getUnitDIE())
lib/DebugInfo/DWARF/DWARFDie.cpp
  147 static void dumpArrayType(raw_ostream &OS, const DWARFDie &D) {
  149   for (const DWARFDie &C : D.children())
  194 static void dumpTypeName(raw_ostream &OS, const DWARFDie &D) {
  219   DWARFDie TypeDie = D.getAttributeValueAsReferencedDie(DW_AT_type);
  228     for (const DWARFDie &C : D.children()) {
  247     if (DWARFDie Cont =
  265 static void dumpAttribute(raw_ostream &OS, const DWARFDie &Die,
  390   std::vector<DWARFDie> Worklist;
  397   SmallSet<DWARFDie, 3> Seen;
  401     DWARFDie Die = Worklist.back();
  410     if (auto D = Die.getAttributeValueAsReferencedDie(DW_AT_abstract_origin))
  414     if (auto D = Die.getAttributeValueAsReferencedDie(DW_AT_specification))
  422 DWARFDie
  429 DWARFDie
  502   for (auto Child : children())
  554 static unsigned dumpParentChain(DWARFDie Die, raw_ostream &OS, unsigned Indent,
  607         DWARFDie child = getFirstChild();
  629 DWARFDie DWARFDie::getParent() const {
  635 DWARFDie DWARFDie::getSibling() const {
  641 DWARFDie DWARFDie::getPreviousSibling() const {
  647 DWARFDie DWARFDie::getFirstChild() const {
  653 DWARFDie DWARFDie::getLastChild() const {
  659 iterator_range<DWARFDie::attribute_iterator> DWARFDie::attributes() const {
  664 DWARFDie::attribute_iterator::attribute_iterator(DWARFDie D, bool End)
  699 DWARFDie::attribute_iterator &DWARFDie::attribute_iterator::operator++() {
lib/DebugInfo/DWARF/DWARFExpression.cpp
  263       auto Die = U->getDIEForOffset(U->getOffset() + Operands[Operand]);
  325       auto Die = U->getDIEForOffset(U->getOffset() + Operands[Operand]);
lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
   21   DWARFDie TD = getDIEForOffset(getTypeOffset() + getOffset());
   45   if (DWARFDie TU = getUnitDIE(false))
lib/DebugInfo/DWARF/DWARFUnit.cpp
  426   DWARFDie UnitDie(this, &DieArray[0]);
  500   DWARFDie UnitDie = getUnitDIE();
  589   DWARFDie UnitDie = getUnitDIE();
  602 void DWARFUnit::updateAddressDieMap(DWARFDie Die) {
  629   for (DWARFDie Child = Die.getFirstChild(); Child; Child = Child.getSibling())
  633 DWARFDie DWARFUnit::getSubroutineForAddress(uint64_t Address) {
  649                                      SmallVectorImpl<DWARFDie> &InlinedChain) {
  655   DWARFDie SubroutineDIE =
  677 DWARFDie DWARFUnit::getParent(const DWARFDebugInfoEntry *Die) {
  696 DWARFDie DWARFUnit::getSibling(const DWARFDebugInfoEntry *Die) {
  716 DWARFDie DWARFUnit::getPreviousSibling(const DWARFDebugInfoEntry *Die) {
  735 DWARFDie DWARFUnit::getFirstChild(const DWARFDebugInfoEntry *Die) {
  746 DWARFDie DWARFUnit::getLastChild(const DWARFDebugInfoEntry *Die) {
  771   DWARFDie UnitDie = getUnitDIE();
lib/DebugInfo/DWARF/DWARFVerifier.cpp
  165     auto Die = Unit.getDIEAtIndex(I);
  178   DWARFDie Die = Unit.getUnitDIE(/* ExtractUnitDIEOnly = */ false);
  205 unsigned DWARFVerifier::verifyDebugInfoCallSite(const DWARFDie &Die) {
  209   DWARFDie Curr = Die.getParent();
  354 unsigned DWARFVerifier::verifyDieRanges(const DWARFDie &Die,
  433   for (DWARFDie Child : Die)
  439 unsigned DWARFVerifier::verifyDebugInfoAttribute(const DWARFDie &Die,
  496     if (auto ReferencedDie = Die.getAttributeValueAsReferencedDie(Attr)) {
  517     DWARFDie TypeDie = Die.getAttributeValueAsReferencedDie(DW_AT_type);
  530 unsigned DWARFVerifier::verifyDebugInfoForm(const DWARFDie &Die,
  658   std::map<uint64_t, DWARFDie> StmtListToDie;
  660     auto Die = CU->getUnitDIE();
  702     auto Die = CU->getUnitDIE();
  880         auto Die = DCtx.getDIEForOffset(Offset);
 1229     DWARFDie DIE = DCtx.getDIEForOffset(DIEOffset);
 1280 static bool isVariableIndexable(const DWARFDie &Die, DWARFContext &DCtx) {
 1316     const DWARFDie &Die, const DWARFDebugNames::NameIndex &NI) {
 1490 raw_ostream &DWARFVerifier::dump(const DWARFDie &Die, unsigned indent) const {
tools/dsymutil/CompileUnit.cpp
   27     DWARFDie CU = getOrigUnit().getUnitDIE();
   41     auto DIE = OrigUnit.getDIEAtIndex(Idx++);
tools/dsymutil/CompileUnit.h
   85     auto CUDie = OrigUnit.getUnitDIE(false);
tools/dsymutil/DeclContext.cpp
   31 bool DeclContext::setLastSeenDIE(CompileUnit &U, const DWARFDie &Die) {
   45     DeclContext &Context, const DWARFDie &DIE, CompileUnit &U,
tools/dsymutil/DeclContext.h
   82               DWARFDie LastSeenDIE = DWARFDie(), unsigned CUId = 0)
   89   bool setLastSeenDIE(CompileUnit &U, const DWARFDie &Die);
  111   DWARFDie LastSeenDIE;
  133   getChildDeclContext(DeclContext &Context, const DWARFDie &DIE,
tools/dsymutil/DwarfLinker.cpp
  120 static DWARFDie resolveDIEReference(const DwarfLinker &Linker,
  124                                     const DWARFDie &DIE, CompileUnit *&RefCU) {
  128     if (const auto RefDie = RefCU->getOrigUnit().getDIEForOffset(RefOffset)) {
  189 bool DwarfLinker::DIECloner::getDIENames(const DWARFDie &Die,
  222                                 const DWARFDie *DIE) const {
  248 static void resolveRelativeObjectPath(SmallVectorImpl<char> &Buf, DWARFDie CU) {
  255     const DWARFDie &DIE, CompileUnit &CU,
  257     std::function<void(const Twine &, const DWARFDie &)> ReportWarning) {
  268       DWARFDie CUDie = CU.getOrigUnit().getUnitDIE();
  289     const DWARFDie &DIE, unsigned ParentIdx, CompileUnit &CU,
  293     std::function<void(const Twine &, const DWARFDie &)> ReportWarning,
  334     for (auto Child : DIE.children())
  622                                             const DWARFDie &DIE,
  669     RelocationManager &RelocMgr, RangesTy &Ranges, const DWARFDie &DIE,
  732                                     RangesTy &Ranges, const DWARFDie &DIE,
  770     const DWARFDie &Die, CompileUnit::DIEInfo &MyInfo,
  808     if (auto RefDie =
  860   DWARFDie Die;
  866   WorklistItem(DWARFDie Die, unsigned Flags)
  870   WorklistItem(DWARFDie Die) : Die(Die), IsContinuation(true){};
  876 static void updateIncompleteness(const DWARFDie &Die,
  910                                     const DWARFDie &Die,
  973     for (auto Child : reverse(Current.Die.children())) {
 1035     DIE &Die, const DWARFDie &InputDIE, AttributeSpec AttrSpec,
 1044   DWARFDie RefDie =
 1137       auto RefDie = Unit.getOrigUnit().getDIEForOffset(RefOffset);
 1272     DIE &Die, const DWARFDie &InputDIE, const DebugMapObject &DMO,
 1340     DIE &Die, const DWARFDie &InputDIE, const DebugMapObject &DMO,
 1502     const DWARFDie &InputDIE, const DebugMapObject &DMO, CompileUnit &Unit,
 1658   for (auto Child : InputDIE.children()) {
 1683   for (auto Child : InputDIE.children()) {
 1712   auto OrigUnitDie = OrigUnit.getUnitDIE(false);
 1812   DWARFDie CUDie = Unit.getOrigUnit().getUnitDIE();
 2105 DwarfLinker::DIECloner::hashFullyQualifiedName(DWARFDie DIE, CompileUnit &U,
 2125     if (auto RefDIE =
 2143   DWARFDie Die = OrigUnit->getDIEAtIndex(CU->getInfo(Idx).ParentIdx);
 2150 static uint64_t getDwoId(const DWARFDie &CUDie, const DWARFUnit &Unit) {
 2159     DWARFDie CUDie, const DWARFUnit &Unit, DebugMap &ModuleMap,
 2238     DWARFDie CUDie, StringRef Filename, StringRef ModuleName, uint64_t DwoId,
 2299     auto CUDie = CU->getUnitDIE(false);
 2365     auto InputDIE = CurrentUnit->getOrigUnit().getUnitDIE();
 2662       auto CUDie = CU->getUnitDIE(false);
 2711       auto CUDie = CU->getUnitDIE(false);
 2724       auto CUDie = CurrentUnit->getOrigUnit().getUnitDIE();
tools/dsymutil/DwarfLinker.h
   66                      const DWARFDie *DIE = nullptr) const;
  186                          const UnitListTy &Units, const DWARFDie &DIE,
  196   bool registerModuleReference(DWARFDie CUDie, const DWARFUnit &Unit,
  209   Error loadClangModule(DWARFDie CUDie, StringRef FilePath,
  230                               const UnitListTy &Units, const DWARFDie &DIE,
  236                          const DWARFDie &DIE, const DebugMapObject &DMO,
  243                                  const DWARFDie &DIE, CompileUnit &Unit,
  247                                    RangesTy &Ranges, const DWARFDie &DIE,
  289     DIE *cloneDIE(const DWARFDie &InputDIE, const DebugMapObject &DMO,
  337     unsigned cloneAttribute(DIE &Die, const DWARFDie &InputDIE,
  355     unsigned cloneDieReferenceAttribute(DIE &Die, const DWARFDie &InputDIE,
  385     unsigned cloneScalarAttribute(DIE &Die, const DWARFDie &InputDIE,
  395     bool getDIENames(const DWARFDie &Die, AttributesInfo &Info,
  401     uint32_t hashFullyQualifiedName(DWARFDie DIE, CompileUnit &U,
tools/dsymutil/DwarfStreamer.cpp
  408   auto OrigUnitDie = OrigUnit.getUnitDIE(false);
tools/lld/Common/DWARF.cpp
   36       DWARFDie die(cu.get(), &entry);
tools/llvm-dwarfdump/Statistics.cpp
  137 static uint64_t getLowPC(DWARFDie Die) {
  179 static void collectStatsForDie(DWARFDie Die, uint64_t UnitLowPC, std::string FnPrefix,
  297   if (DWARFDie D =
  352 static void collectStatsRecursive(DWARFDie Die, uint64_t UnitLowPC, std::string FnPrefix,
  437   DWARFDie Child = Die.getFirstChild();
  497     if (DWARFDie CUDie = CU->getNonSkeletonUnitDIE(false))
tools/llvm-dwarfdump/llvm-dwarfdump.cpp
  285 static bool filterByName(const StringSet<> &Names, DWARFDie Die,
  317       DWARFDie Die = {CU.get(), &Entry};
  327                     StringRef Name, SmallVectorImpl<DWARFDie> &Dies) {
  330       if (DWARFDie Die = DICtx.getDIEForOffset(*Off))
  336 static DWARFDie toDie(const DWARFDebugNames::Entry &Entry,
  358                     StringRef Name, SmallVectorImpl<DWARFDie> &Dies) {
  360     if (DWARFDie Die = toDie(Entry, DICtx))
  368   SmallVector<DWARFDie, 4> Dies;
  378   for (DWARFDie Die : Dies)
tools/llvm-dwp/llvm-dwp.cpp
  487     const DWARFDie &Die = CU->getUnitDIE();
tools/obj2yaml/dwarf2yaml.cpp
  141           DWARFDie DIEWrapper(CU.get(), &DIE);
  242     auto CUDIE = CU->getUnitDIE();
unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
  235   auto DieDG = U->getUnitDIE(false);
  503   auto DieDG = U->getUnitDIE(false);
  507   auto SubprogramDieDG = DieDG.getFirstChild();
  512   auto ArgcDieDG = SubprogramDieDG.getFirstChild();
  517   auto NullDieDG = ArgcDieDG.getSibling();
  526   auto IntDieDG = SubprogramDieDG.getSibling();
  682   auto Unit1DieDG = U1->getUnitDIE(false);
  685   auto Unit2DieDG = U2->getUnitDIE(false);
  689   auto CU1TypeDieDG = Unit1DieDG.getFirstChild();
  695   auto CU2TypeDieDG = Unit2DieDG.getFirstChild();
  702   auto CU1Ref1DieDG = CU1TypeDieDG.getSibling();
  709   auto CU1Ref2DieDG = CU1Ref1DieDG.getSibling();
  717   auto CU1Ref4DieDG = CU1Ref2DieDG.getSibling();
  725   auto CU1Ref8DieDG = CU1Ref4DieDG.getSibling();
  733   auto CU1RefAddrDieDG = CU1Ref8DieDG.getSibling();
  741   auto CU1ToCU2RefAddrDieDG = CU1RefAddrDieDG.getSibling();
  749   auto CU2Ref1DieDG = CU2TypeDieDG.getSibling();
  756   auto CU2Ref2DieDG = CU2Ref1DieDG.getSibling();
  764   auto CU2Ref4DieDG = CU2Ref2DieDG.getSibling();
  772   auto CU2Ref8DieDG = CU2Ref4DieDG.getSibling();
  780   auto CU2RefAddrDieDG = CU2Ref8DieDG.getSibling();
  788   auto CU2ToCU1RefAddrDieDG = CU2RefAddrDieDG.getSibling();
  890   auto DieDG = U->getUnitDIE(false);
  897   auto SubprogramDieNoPC = DieDG.getFirstChild();
  916   auto SubprogramDieLowPC = SubprogramDieNoPC.getSibling();
  933   auto SubprogramDieLowHighPC = SubprogramDieLowPC.getSibling();
 1048   auto DieDG = U->getUnitDIE(false);
 1159   auto CUDie = U->getUnitDIE(false);
 1163   auto ParentDie = CUDie.getParent();
 1165   auto SiblingDie = CUDie.getSibling();
 1169   auto A = CUDie.getFirstChild();
 1170   auto B = A.getFirstChild();
 1171   auto C = B.getSibling();
 1172   auto D = C.getSibling();
 1173   auto Null = D.getSibling();
 1211   auto C1 = C.getFirstChild();
 1212   auto C2 = C1.getSibling();
 1283   DWARFDie DefaultDie;
 1331   auto CUDie = U->getUnitDIE(false);
 1334   DWARFDie A;
 1335   DWARFDie B;
 1339   for (auto Die : CUDie.children()) {
 1356   DWARFDie Invalid;
 1394   auto CUDie = U->getUnitDIE(false);
 1442   auto CUDie = U->getUnitDIE(false);
 1511   auto CUDie = U->getUnitDIE(false);
 1514   auto FuncSpecDie = CUDie.getFirstChild();
 1515   auto FuncAbsDie = FuncSpecDie.getSibling();
 1516   auto FuncAbsDie2 = FuncAbsDie.getSibling();
 1517   auto FuncDie = FuncAbsDie2.getSibling();
 1518   auto VarAbsDie = FuncDie.getSibling();
 1519   auto VarDie = VarAbsDie.getSibling();
 1714   auto CUDie = U->getUnitDIE(false);
 1717   auto FuncSpecDie = CUDie.getFirstChild();
 1718   auto FuncDie = FuncSpecDie.getSibling();
 1827   auto DieDG = U->getUnitDIE(false);
usr/include/c++/7.4.0/bits/alloc_traits.h
  387       using allocator_type = allocator<_Tp>;
  389       using value_type = _Tp;
  392       using pointer = _Tp*;
  395       using const_pointer = const _Tp*;
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  486 	destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h
  108     class allocator: public __allocator_base<_Tp>
  113       typedef _Tp*       pointer;
  114       typedef const _Tp* const_pointer;
  115       typedef _Tp&       reference;
  116       typedef const _Tp& const_reference;
  117       typedef _Tp        value_type;
  137 	allocator(const allocator<_Tp1>&) throw() { }
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
   98     move(_Tp&& __t) noexcept
  104     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
  105                     is_copy_constructible<_Tp>>::type { };
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
  198       _Tp __tmp = _GLIBCXX_MOVE(__a);
usr/include/c++/7.4.0/bits/predefined_ops.h
   64       operator()(_Iterator __it, _Value& __val) const
   89       operator()(_Value& __val, _Iterator __it) const
usr/include/c++/7.4.0/bits/std_function.h
  314       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
  628       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
usr/include/c++/7.4.0/bits/stl_construct.h
   74     _Construct(_T1* __p, _Args&&... __args)
   74     _Construct(_T1* __p, _Args&&... __args)
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_function.h
  108       typedef _Arg 	argument_type;   
  111       typedef _Result 	result_type;  
  121       typedef _Arg1 	first_argument_type; 
  124       typedef _Arg2 	second_argument_type;
  381     struct less : public binary_function<_Tp, _Tp, bool>
  381     struct less : public binary_function<_Tp, _Tp, bool>
  385       operator()(const _Tp& __x, const _Tp& __y) const
  385       operator()(const _Tp& __x, const _Tp& __y) const
  870     : public unary_function<_Tp,_Tp>
  870     : public unary_function<_Tp,_Tp>
  872       _Tp&
  873       operator()(_Tp& __x) const
  876       const _Tp&
  877       operator()(const _Tp& __x) const
usr/include/c++/7.4.0/bits/stl_heap.h
  129 		_Distance __holeIndex, _Distance __topIndex, _Tp __value,
  215 		  _Distance __len, _Tp __value, _Compare __comp)
usr/include/c++/7.4.0/bits/stl_iterator.h
 1224     __make_move_if_noexcept_iterator(_Tp* __i)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  181       typedef _Tp                         value_type;
  183       typedef _Tp*                        pointer;
  184       typedef _Tp&                        reference;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _Tp&                  reference;
usr/include/c++/7.4.0/bits/stl_map.h
  103       typedef _Tp					mapped_type;
  104       typedef std::pair<const _Key, _Tp>		value_type;
usr/include/c++/7.4.0/bits/stl_pair.h
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
  524     make_pair(_T1&& __x, _T2&& __y)
usr/include/c++/7.4.0/bits/stl_set.h
  110       typedef _Key     key_type;
  111       typedef _Key     value_type;
  119 	rebind<_Key>::other _Key_alloc_type;
usr/include/c++/7.4.0/bits/stl_tree.h
  218       typedef _Rb_tree_node<_Val>* _Link_type;
  231       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
  233       _Val*
  237       const _Val*
  258       typedef _Tp  value_type;
  259       typedef _Tp& reference;
  260       typedef _Tp* pointer;
  265       typedef _Rb_tree_iterator<_Tp>        _Self;
  267       typedef _Rb_tree_node<_Tp>*           _Link_type;
  328       typedef _Tp        value_type;
  329       typedef const _Tp& reference;
  330       typedef const _Tp* pointer;
  332       typedef _Rb_tree_iterator<_Tp> iterator;
  337       typedef _Rb_tree_const_iterator<_Tp>        _Self;
  339       typedef const _Rb_tree_node<_Tp>*           _Link_type;
  447         rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
  454       typedef _Rb_tree_node<_Val>* 		_Link_type;
  455       typedef const _Rb_tree_node<_Val>*	_Const_Link_type;
  554 	  operator()(_Arg&& __arg) const
  563       typedef _Key 				key_type;
  564       typedef _Val 				value_type;
  621 	_M_construct_node(_Link_type __node, _Args&&... __args)
  625 	      ::new(__node) _Rb_tree_node<_Val>;
  640         _M_create_node(_Args&&... __args)
  758       static const _Key&
  782       static const _Key&
  834 	_M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
  894 		     const _Key& __k);
  898 		     const _Key& __k) const;
  902 		     const _Key& __k);
  906 		     const _Key& __k) const;
 1011         _M_insert_unique(_Arg&& __x);
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  288 			   _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h
   77 	rebind<_Tp>::other _Tp_alloc_type;
  216     class vector : protected _Vector_base<_Tp, _Alloc>
  227       typedef _Vector_base<_Tp, _Alloc>			_Base;
  232       typedef _Tp					value_type;
  919       _Tp*
  923       const _Tp*
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/ext/aligned_buffer.h
   52       struct _Tp2 { _Tp _M_t; };
   54       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
   69       _Tp*
   73       const _Tp*
usr/include/c++/7.4.0/ext/alloc_traits.h
  117       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h
   63       typedef _Tp*       pointer;
   64       typedef const _Tp* const_pointer;
   65       typedef _Tp&       reference;
   66       typedef const _Tp& const_reference;
   67       typedef _Tp        value_type;
   84 	new_allocator(const new_allocator<_Tp1>&) _GLIBCXX_USE_NOEXCEPT { }
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  135 	construct(_Up* __p, _Args&&... __args)
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/initializer_list
   50       typedef _E 		value_type;
   51       typedef const _E& 	reference;
   52       typedef const _E& 	const_reference;
   54       typedef const _E* 	iterator;
   55       typedef const _E* 	const_iterator;
usr/include/c++/7.4.0/tuple
   56     struct __is_empty_non_tuple : is_empty<_Tp> { };
  125       constexpr _Head_base(const _Head& __h)
  132         constexpr _Head_base(_UHead&& __h)
  159       static constexpr _Head&
  162       static constexpr const _Head&
  165       _Head _M_head_impl;
  186     : public _Tuple_impl<_Idx + 1, _Tail...>,
  187       private _Head_base<_Idx, _Head>
  191       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
  192       typedef _Head_base<_Idx, _Head> _Base;
  194       static constexpr _Head&
  197       static constexpr const _Head&
  210       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
  210       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  230         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
  235         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
  235         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
  242 	_Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
  248 		    const _Head& __head, const _Tail&... __tail)
  248 		    const _Head& __head, const _Tail&... __tail)
  262         _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
  268 	_Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
  344     : private _Head_base<_Idx, _Head>
  348       typedef _Head_base<_Idx, _Head> _Base;
  350       static constexpr _Head&
  353       static constexpr const _Head&
  360       constexpr _Tuple_impl(const _Head& __head)
  365         constexpr _Tuple_impl(_UHead&& __head)
  376         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
  380         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
  390 		    const _Head& __head)
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  508       return  __not_<is_same<tuple<_Elements...>,
  556     class tuple : public _Tuple_impl<0, _Elements...>
  558       typedef _Tuple_impl<0, _Elements...> _Inherited;
  598             _Elements...>;
  608         constexpr tuple(const _Elements&... __elements)
  619       explicit constexpr tuple(const _Elements&... __elements)
  628                       _Elements...>;
  636                       _Elements...>;
  646         constexpr tuple(_UElements&&... __elements)
  668             _Elements...>;
  730 	      const _Elements&... __elements)
  741                        const _Elements&... __elements)
  767 	tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
  771 	tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
  947         constexpr tuple(const _T1& __a1, const _T2& __a2)
  956         explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
  971         constexpr tuple(_U1&& __a1, _U2&& __a2)
 1066 	tuple(allocator_arg_t __tag, const _Alloc& __a)
 1078 	      const _T1& __a1, const _T2& __a2)
 1090 	      const _T1& __a1, const _T2& __a2)
 1280     : tuple_element<__i - 1, tuple<_Tail...> > { };
 1288       typedef _Head type;
 1302     constexpr _Head&
 1303     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1303     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1307     constexpr const _Head&
 1308     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1308     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1309     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
 1309     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1314     get(tuple<_Elements...>& __t) noexcept
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1320     get(const tuple<_Elements...>& __t) noexcept
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1326     get(tuple<_Elements...>&& __t) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
  889       typedef decltype(__test<_Tp>(0)) type;
  894     : public __and_<__not_<is_void<_Tp>>,
  895                     __is_default_constructible_impl<_Tp>>
  915     : public __is_default_constructible_atom<_Tp>::type
  921     : public __is_default_constructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1215     : public __and_<is_constructible<_Tp, _Args...>,
 1216 		    __is_nt_constructible_impl<_Tp, _Args...>>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1252     : public __is_nothrow_move_constructible_impl<_Tp>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_move_assignable_impl<_Tp>
 1377     static void __helper(const _Tp&);
 1380     static true_type __test(const _Tp&,
 1381                             decltype(__helper<const _Tp&>({}))* = 0);
 1390     typedef decltype(__test(declval<_Tp>())) type;
 1395       : public __is_implicitly_default_constructible_impl<_Tp>::type
 1400       : public __and_<is_default_constructible<_Tp>,
 1401                       __is_implicitly_default_constructible_safe<_Tp>>
 1526 	static void __test_aux(_To1);
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2131       typedef _Tp __type;
 2574       typename remove_reference<_Tp>::type>::type>::type
utils/unittest/googlemock/include/gmock/gmock-generated-matchers.h
  602         typename internal::DecayArray<T1>::type,
  603         typename internal::DecayArray<T2>::type,
  604         typename internal::DecayArray<T3>::type> >
  605 ElementsAre(const T1& e1, const T2& e2, const T3& e3) {
  605 ElementsAre(const T1& e1, const T2& e2, const T3& e3) {
  605 ElementsAre(const T1& e1, const T2& e2, const T3& e3) {
  607       typename internal::DecayArray<T1>::type,
  608       typename internal::DecayArray<T2>::type,
  609       typename internal::DecayArray<T3>::type> Args;
utils/unittest/googlemock/include/gmock/gmock-matchers.h
  206   bool operator()(const A& a, const B& b) const { return a == b; }
  206   bool operator()(const A& a, const B& b) const { return a == b; }
  519   static Matcher<T> Cast(const M& polymorphic_matcher_or_value) {
  536             internal::ImplicitlyConvertible<M, Matcher<T> >::value>());
  540   static Matcher<T> CastImpl(const M& value, BooleanConstant<false>) {
  547   static Matcher<T> CastImpl(const M& polymorphic_matcher_or_value,
  612 inline Matcher<T> MatcherCast(const M& matcher) {
  613   return internal::MatcherCastImpl<T, M>::Cast(matcher);
  897   explicit ComparisonBase(const Rhs& rhs) : rhs_(rhs) {}
  907     explicit Impl(const Rhs& rhs) : rhs_(rhs) {}
  921     Rhs rhs_;
  924   Rhs rhs_;
  929 class EqMatcher : public ComparisonBase<EqMatcher<Rhs>, Rhs, AnyEq> {
  929 class EqMatcher : public ComparisonBase<EqMatcher<Rhs>, Rhs, AnyEq> {
  931   explicit EqMatcher(const Rhs& rhs)
 3454   Matcher<Target> operator()(const Arg& a) const {
 3760 inline internal::EqMatcher<T> Eq(T x) { return internal::EqMatcher<T>(x); }
 3760 inline internal::EqMatcher<T> Eq(T x) { return internal::EqMatcher<T>(x); }
utils/unittest/googlemock/include/gmock/internal/gmock-internal-utils.h
  355 template <typename T> struct DecayArray { typedef T type; };  // NOLINT
utils/unittest/googletest/include/gtest/gtest-printers.h
  140   static void PrintValue(const T& value, ::std::ostream* os) {
  205     ::std::basic_ostream<Char, CharTraits>& os, const T& x) {
  206   TypeWithoutFormatter<T,
  207       (internal::IsAProtocolMessage<T>::value ? kProtobuf :
  208        internal::ImplicitlyConvertible<const T&, internal::BiggestInt>::value ?
  223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
  276   static ::std::string Format(const ToPrint& value) {
  351     const T1& value, const T2& /* other_operand */) {
  351     const T1& value, const T2& /* other_operand */) {
  352   return FormatForComparison<T1, T2>::Format(value);
  352   return FormatForComparison<T1, T2>::Format(value);
  366 void UniversalPrint(const T& value, ::std::ostream* os);
  373                     const C& container, ::std::ostream* os) {
  439                     const T& value, ::std::ostream* os) {
  455 void PrintTo(const T& value, ::std::ostream* os) {
  478   DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
  699   static void Print(const T& value, ::std::ostream* os) {
  784   static void Print(const T& value, ::std::ostream* os) {
  856   typedef T T1;
  983   internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h
 1377                                    const T1& lhs, const T2& rhs) {
 1377                                    const T1& lhs, const T2& rhs) {
 1389                             const T1& lhs,
 1390                             const T2& rhs) {
 1419                                  const T1& lhs,
 1420                                  const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h
   29   static const T& printable(const T& V) { return V; }
   29   static const T& printable(const T& V) { return V; }
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   37   return StreamSwitch<T>::printable(V);
utils/unittest/googletest/include/gtest/internal/gtest-internal.h
   94 ::std::string PrintToString(const T& value);
  830 struct AddReference { typedef T& type; };  // NOLINT
  863   static typename AddReference<From>::type MakeFrom();