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

Derived Classes

tools/clang/include/clang/AST/Decl.h
 3094 class TypedefDecl : public TypedefNameDecl {
 3114 class TypeAliasDecl : public TypedefNameDecl {
tools/clang/include/clang/AST/DeclObjC.h
  558 class ObjCTypeParamDecl : public TypedefNameDecl {

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  293 ABSTRACT_DECL(TYPEDEFNAME(TypedefName, TypeDecl))
tools/clang/include/clang/AST/Type.h
  122 class TypedefNameDecl;
tools/clang/include/clang/Sema/ExternalSemaSource.h
   36 class TypedefNameDecl;
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
   30   class TypedefNameDecl;
tools/clang/include/clang/Sema/Sema.h
  187   class TypedefNameDecl;
tools/clang/include/clang/Sema/Template.h
   41 class TypedefNameDecl;
tools/clang/include/clang/Serialization/ASTReader.h
  115 class TypedefNameDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
  200   if (!D || (!isa<VarDecl>(D) && !isa<TypedefNameDecl>(D))) {
  720   if (!D || (!isa<RecordDecl>(D) && !isa<TypedefNameDecl>(D))) {
 1079   if (!D || (!isa<TypedefNameDecl>(D))) {
 1584   if (!D || (!isa<VarDecl>(D) && !isa<EnumDecl>(D) && !isa<TypedefNameDecl>(D) && !isa<FieldDecl>(D))) {
 1660   if (!D || (!isa<TypedefNameDecl>(D) && !isFunctionLike(D) && !isa<ObjCMethodDecl>(D) && !isNonParmVar(D))) {
 2003   if (!D || (!isa<RecordDecl>(D) && !isa<TypedefNameDecl>(D))) {
 2271   if (!D || (!isa<ParmVarDecl>(D) && !isa<TypedefNameDecl>(D))) {
 3561     return isa<TypedefNameDecl>(D);
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
   77     return isa_impl<To, From>::doit(Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  168   using ret_type = const To &; // Normal case, return Ty&
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  360                             typename cast_retty<X, Y>::ret_type>::type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTContext.h
 1419   QualType getTypedefType(const TypedefNameDecl *Decl,
 2799   void addTypedefNameForUnnamedTagDecl(TagDecl *TD, TypedefNameDecl *TND);
 2801   TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD);
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  234   static DynTypedNode create(const T &Node) {
  235     return BaseConverter<T>::create(Node);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/Decl.h
 2992 class TypedefNameDecl : public TypeDecl, public Redeclarable<TypedefNameDecl> {
 3013   using redeclarable_base = Redeclarable<TypedefNameDecl>;
 3015   TypedefNameDecl *getNextRedeclarationImpl() override {
 3019   TypedefNameDecl *getPreviousDeclImpl() override {
 3023   TypedefNameDecl *getMostRecentDeclImpl() override {
 3064   TypedefNameDecl *getCanonicalDecl() override { return getFirstDecl(); }
 3065   const TypedefNameDecl *getCanonicalDecl() const { return getFirstDecl(); }
 3094 class TypedefDecl : public TypedefNameDecl {
 3114 class TypeAliasDecl : public TypedefNameDecl {
 3164   llvm::PointerUnion<TypedefNameDecl *, ExtInfo *> TypedefNameDeclOrQualifier;
 3350   TypedefNameDecl *getTypedefNameForAnonDecl() const {
 3352                         : TypedefNameDeclOrQualifier.get<TypedefNameDecl *>();
 3355   void setTypedefNameForAnonDecl(TypedefNameDecl *TDD);
 4406     decl_type *MostRecent = First->getNextRedeclaration();
 4407     RedeclLink = PreviousDeclLink(cast<decl_type>(MostRecent));
tools/clang/include/clang/AST/DeclBase.h
 2462   static const ToTy *doit(const DeclContext *Val) {
 2466   static ToTy *doit(DeclContext *Val) {
 2491     return To::classofKind(Val.getDeclKind());
 2514   static const ToTy *doit(const ::clang::DeclContext *Val) {
 2515     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
tools/clang/include/clang/AST/DeclObjC.h
  558 class ObjCTypeParamDecl : public TypedefNameDecl {
tools/clang/include/clang/AST/JSONNodeDumper.h
  172   template <typename T> void writePreviousDeclImpl(const Redeclarable<T> *D) {
  173     const T *Prev = D->getPreviousDecl();
tools/clang/include/clang/AST/Redeclarable.h
  113     DeclLink(PreviousTag, decl_type *D) : Link(NotKnownLatest(Previous(D))) {}
  122     decl_type *getPrevious(const decl_type *D) const {
  122     decl_type *getPrevious(const decl_type *D) const {
  137     void setPrevious(decl_type *D) {
  142     void setLatest(decl_type *D) {
  166   static DeclLink PreviousDeclLink(decl_type *D) {
  187   decl_type *First;
  189   decl_type *getNextRedeclaration() const {
  203   decl_type *getPreviousDecl() {
  208   const decl_type *getPreviousDecl() const {
  215   decl_type *getFirstDecl() { return First; }
  219   const decl_type *getFirstDecl() const { return First; }
  225   decl_type *getMostRecentDecl() {
  230   const decl_type *getMostRecentDecl() const {
  236   void setPreviousDecl(decl_type *PrevDecl);
tools/clang/include/clang/AST/Type.h
 4191   TypedefNameDecl *Decl;
 4196   TypedefType(TypeClass tc, const TypedefNameDecl *D, QualType can)
 4206   TypedefNameDecl *getDecl() const { return Decl; }
tools/clang/include/clang/AST/TypeLoc.h
  670   TypedefNameDecl *getTypedefNameDecl() const {
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
  197 extern const internal::VariadicDynCastAllOfMatcher<Decl, TypedefNameDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  125 inline QualType getUnderlyingType(const TypedefNameDecl &Node) {
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
 1067   using head = T1;
 1073   using tail = TypeList<Ts...>;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1184   operator Matcher<T>() const {
 1185     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1335   template <typename T> operator Matcher<T>() const {
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1338                getMatchers<T>(std::index_sequence_for<Ps...>()))
 1339         .template unconditionalConvertTo<T>();
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Sema/ExternalSemaSource.h
  136   virtual void ReadExtVectorDecls(SmallVectorImpl<TypedefNameDecl *> &Decls) {}
  145       llvm::SmallSetVector<const TypedefNameDecl *, 4> &Decls) {}
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  275   void ReadExtVectorDecls(SmallVectorImpl<TypedefNameDecl*> &Decls) override;
  284       llvm::SmallSetVector<const TypedefNameDecl *, 4> &Decls) override;
tools/clang/include/clang/Sema/Sema.h
  615   typedef LazyVector<TypedefNameDecl *, ExternalSemaSource,
  633   llvm::SmallSetVector<const TypedefNameDecl *, 4>
 2119   NamedDecl *getShadowedDeclaration(const TypedefNameDecl *D,
 2141                                     TypedefNameDecl *NewTD);
 2142   void CheckTypedefForVariablyModifiedType(Scope *S, TypedefNameDecl *D);
 2146   NamedDecl* ActOnTypedefNameDecl(Scope* S, DeclContext* DC, TypedefNameDecl *D,
 2740   bool isIncompatibleTypedef(TypeDecl *Old, TypedefNameDecl *New);
 2830   void MergeTypedefNameDecl(Scope *S, TypedefNameDecl *New,
 6368   void inferGslPointerAttribute(TypedefNameDecl *TD);
 8880                                         TypedefNameDecl *&TDNDecl,
tools/clang/include/clang/Sema/Template.h
  551     Decl *InstantiateTypedefNameDecl(TypedefNameDecl *D, bool IsTypeAlias);
tools/clang/include/clang/Serialization/ASTReader.h
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
 2015   void ReadExtVectorDecls(SmallVectorImpl<TypedefNameDecl *> &Decls) override;
 2018       llvm::SmallSetVector<const TypedefNameDecl *, 4> &Decls) override;
tools/clang/lib/AST/ASTContext.cpp
  566     else if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
  566     else if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 2154     const TypedefNameDecl *Typedef = cast<TypedefType>(T)->getDecl();
 3975   if (const auto *Typedef = dyn_cast<TypedefNameDecl>(Decl))
 3975   if (const auto *Typedef = dyn_cast<TypedefNameDecl>(Decl))
 4001 ASTContext::getTypedefType(const TypedefNameDecl *Decl,
10298                                                  TypedefNameDecl *DD) {
10302 TypedefNameDecl *
tools/clang/lib/AST/ASTImporter.cpp
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  245     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  245     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  456     ExpectedDecl VisitTypedefNameDecl(TypedefNameDecl *D, bool IsAlias);
  949 bool ASTNodeImporter::hasSameVisibilityContext(TypedefNameDecl *Found,
  950                                                TypedefNameDecl *From) {
 1261   Expected<TypedefNameDecl *> ToDeclOrErr = import(T->getDecl());
 1783   if (TypedefNameDecl *FromTypedef = From->getTypedefNameForAnonDecl()) {
 1785       To->setTypedefNameForAnonDecl(cast<TypedefNameDecl>(*ToTypedefOrErr));
 2295 ASTNodeImporter::VisitTypedefNameDecl(TypedefNameDecl *D, bool IsAlias) {
 2319       if (auto *FoundTypedef = dyn_cast<TypedefNameDecl>(FoundDecl)) {
 2319       if (auto *FoundTypedef = dyn_cast<TypedefNameDecl>(FoundDecl)) {
 2359   TypedefNameDecl *ToTypedef;
 2516       if (auto *Typedef = dyn_cast<TypedefNameDecl>(FoundDecl)) {
 2516       if (auto *Typedef = dyn_cast<TypedefNameDecl>(FoundDecl)) {
 2620       if (auto *Typedef = dyn_cast<TypedefNameDecl>(Found)) {
 2620       if (auto *Typedef = dyn_cast<TypedefNameDecl>(Found)) {
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
 1783   } else if (const auto *Typedef1 = dyn_cast<TypedefNameDecl>(D1)) {
 1783   } else if (const auto *Typedef1 = dyn_cast<TypedefNameDecl>(D1)) {
 1784     if (const auto *Typedef2 = dyn_cast<TypedefNameDecl>(D2)) {
 1784     if (const auto *Typedef2 = dyn_cast<TypedefNameDecl>(D2)) {
tools/clang/lib/AST/CXXABI.h
   64                                                TypedefNameDecl *DD) = 0;
   66   virtual TypedefNameDecl *
tools/clang/lib/AST/CXXInheritance.cpp
  515     if (isa<TypedefNameDecl>(Path.Decls.front()) ||
tools/clang/lib/AST/CommentSema.cpp
  827   if (const TypedefNameDecl *TD =
  828           dyn_cast<TypedefNameDecl>(ThisDeclInfo->CurrentDecl)) {
tools/clang/lib/AST/Decl.cpp
  888   } else if (auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 1367       if (!cast<TypedefNameDecl>(D)
 1676 template<typename T> static bool isRedeclarableImpl(Redeclarable<T> *) {
 4066 void TagDecl::setTypedefNameForAnonDecl(TypedefNameDecl *TDD) {
 4732     auto *OwningTypedef = TT->getDecl()->getTypedefNameForAnonDecl();
tools/clang/lib/AST/DeclBase.cpp
  956   else if (const auto *D = dyn_cast<TypedefNameDecl>(this))
  956   else if (const auto *D = dyn_cast<TypedefNameDecl>(this))
tools/clang/lib/AST/DeclPrinter.cpp
  171   if (TypedefNameDecl* TDD = dyn_cast<TypedefNameDecl>(D))
  171   if (TypedefNameDecl* TDD = dyn_cast<TypedefNameDecl>(D))
tools/clang/lib/AST/FormatString.cpp
  981   const TypedefNameDecl *Typedef = cast<TypedefType>(QT)->getDecl();
tools/clang/lib/AST/ItaniumCXXABI.cpp
  237                                        TypedefNameDecl *DD) override {}
  239   TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD) override {
tools/clang/lib/AST/ItaniumMangle.cpp
 1364     if (const TypedefNameDecl *D = TD->getTypedefNameForAnonDecl()) {
tools/clang/lib/AST/MicrosoftCXXABI.cpp
   72   llvm::SmallDenseMap<TagDecl *, TypedefNameDecl *>
  106                                        TypedefNameDecl *DD) override {
  109     TypedefNameDecl *&I = UnnamedTagDeclToTypedefNameDecl[TD];
  114   TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD) override {
tools/clang/lib/AST/MicrosoftMangle.cpp
  900       if (const TypedefNameDecl *D = TD->getTypedefNameForAnonDecl()) {
  958       } else if (TypedefNameDecl *TND =
tools/clang/lib/AST/ODRHash.cpp
  349   void VisitTypedefNameDecl(const TypedefNameDecl *D) {
  352     Inherited::VisitTypedefNameDecl(D);
  712     const TypedefNameDecl *D = TypedefT->getDecl();
tools/clang/lib/AST/QualTypeNames.cpp
  201   } else if (const auto *TDD = dyn_cast<TypedefNameDecl>(DC)) {
  201   } else if (const auto *TDD = dyn_cast<TypedefNameDecl>(DC)) {
tools/clang/lib/AST/StmtIterator.cpp
   84   else if (TypedefNameDecl* TD = dyn_cast<TypedefNameDecl>(D)) {
   84   else if (TypedefNameDecl* TD = dyn_cast<TypedefNameDecl>(D)) {
tools/clang/lib/AST/TextNodeDumper.cpp
   31 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) {
   32   const T *Prev = D->getPreviousDecl();
tools/clang/lib/AST/TypePrinter.cpp
 1129     if (TypedefNameDecl *Typedef = Tag->getTypedefNameForAnonDecl())
 1165   else if (TypedefNameDecl *Typedef = D->getTypedefNameForAnonDecl()) {
tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  342   bool VisitTypedefNameDecl(TypedefNameDecl *DeclNode) {
  767     for (const TypedefNameDecl *Alias : Aliases->second) {
  816   llvm::DenseMap<const Type*, std::set<const TypedefNameDecl*> > TypeAliases;
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  555 const internal::VariadicDynCastAllOfMatcher<Decl, TypedefNameDecl>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/ThreadSafety.cpp
 1235     if (const auto *TD = TT->getDecl())
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  334     if (const TypedefNameDecl *D = RD->getTypedefNameForAnonDecl()) {
  350       else if (const TypedefNameDecl *TND =
tools/clang/lib/CodeGen/CGDecl.cpp
  152     const TypedefNameDecl &TD = cast<TypedefNameDecl>(D);
  152     const TypedefNameDecl &TD = cast<TypedefNameDecl>(D);
tools/clang/lib/CodeGen/CodeGenTypes.cpp
   66   } else if (const TypedefNameDecl *TDD = RD->getTypedefNameForAnonDecl()) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  229         if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(*I)) {
  229         if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(*I)) {
 2212   else if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(Dcl)) {
 2212   else if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(Dcl)) {
 4872   else if (TypedefNameDecl *TDD = dyn_cast<TypedefNameDecl>(ND))
 4872   else if (TypedefNameDecl *TDD = dyn_cast<TypedefNameDecl>(ND))
 5602       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) {
 5602       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) {
 5780       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(D)) {
 5780       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(D)) {
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
 4026   else if (TypedefNameDecl *TDD = dyn_cast<TypedefNameDecl>(ND))
 4026   else if (TypedefNameDecl *TDD = dyn_cast<TypedefNameDecl>(ND))
 4704       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) {
 4704       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) {
 4878       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(D)) {
 4878       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(D)) {
tools/clang/lib/Index/IndexDecl.cpp
  340   bool VisitTypedefNameDecl(const TypedefNameDecl *D) {
  392             if (auto *TD = TT->getDecl()) {
tools/clang/lib/Index/IndexTypeSourceInfo.cpp
   57     TypedefNameDecl *ND = TL.getTypedefNameDecl();
tools/clang/lib/Index/IndexingContext.cpp
  165   } else if (isa<FieldDecl>(D) || isa<TypedefNameDecl>(D) ||
  218   } else if (isa<FieldDecl>(D) || isa<TypedefNameDecl>(D)) {
  253   if (isa<TypedefNameDecl>(D) ||
tools/clang/lib/Index/USRGeneration.cpp
  547     if (const TypedefNameDecl *TD = D->getTypedefNameForAnonDecl()) {
tools/clang/lib/Sema/JumpDiagnostics.cpp
  210   if (const TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(D)) {
  210   if (const TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(D)) {
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  271                                      SmallVectorImpl<TypedefNameDecl*> &Decls) {
  277     llvm::SmallSetVector<const TypedefNameDecl *, 4> &Decls) {
tools/clang/lib/Sema/Sema.cpp
  855   for (const TypedefNameDecl *TD : UnusedLocalTypedefNameCandidates) {
tools/clang/lib/Sema/SemaAccess.cpp
 1109     else if (TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(D))
 1109     else if (TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(D))
tools/clang/lib/Sema/SemaAttr.cpp
  137 void Sema::inferGslPointerAttribute(TypedefNameDecl *TD) {
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  333   if (const TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) {
  333   if (const TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) {
  702     if (auto *TD = dyn_cast_or_null<TypedefNameDecl>(SD))
  702     if (auto *TD = dyn_cast_or_null<TypedefNameDecl>(SD))
tools/clang/lib/Sema/SemaChecking.cpp
 8394         if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(ND))
 8394         if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(ND))
13204       const TypedefNameDecl *TDL = TTL.getTypedefNameDecl();
14638       if (const TypedefNameDecl *TD = m.RD->getTypedefNameForAnonDecl())
tools/clang/lib/Sema/SemaDecl.cpp
 1756   if (isa<TypedefNameDecl>(D))
 1833     if (const auto *T = dyn_cast<TypedefNameDecl>(TmpD))
 1833     if (const auto *T = dyn_cast<TypedefNameDecl>(TmpD))
 1846   if (auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 2130                                                      TypedefNameDecl *Decl,
 2150     if (auto *OldTD = dyn_cast<TypedefNameDecl>(Old)) {
 2150     if (auto *OldTD = dyn_cast<TypedefNameDecl>(Old)) {
 2168 bool Sema::isIncompatibleTypedef(TypeDecl *Old, TypedefNameDecl *New) {
 2170   if (TypedefNameDecl *OldTypedef = dyn_cast<TypedefNameDecl>(Old))
 2170   if (TypedefNameDecl *OldTypedef = dyn_cast<TypedefNameDecl>(Old))
 2207 void Sema::MergeTypedefNameDecl(Scope *S, TypedefNameDecl *New,
 2271   if (auto *OldTD = dyn_cast<TypedefNameDecl>(Old)) {
 2271   if (auto *OldTD = dyn_cast<TypedefNameDecl>(Old)) {
 2312   if (TypedefNameDecl *Typedef = dyn_cast<TypedefNameDecl>(Old)) {
 2312   if (TypedefNameDecl *Typedef = dyn_cast<TypedefNameDecl>(Old)) {
 2349     if (!isa<TypedefNameDecl>(Old))
 4329                                         TypedefNameDecl *NewTD) {
 5934 Sema::CheckTypedefForVariablyModifiedType(Scope *S, TypedefNameDecl *NewTD) {
 5974 Sema::ActOnTypedefNameDecl(Scope *S, DeclContext *DC, TypedefNameDecl *NewTD,
 7237 NamedDecl *Sema::getShadowedDeclaration(const TypedefNameDecl *D,
 7247   return isa<TypedefNameDecl>(ShadowedDecl) ? ShadowedDecl : nullptr;
15103       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(PrevDecl)) {
15103       if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(PrevDecl)) {
15369       } else if (TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(PrevDecl)) {
15369       } else if (TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(PrevDecl)) {
tools/clang/lib/Sema/SemaDeclAttr.cpp
   72   return isa<DeclaratorDecl>(D) || isa<BlockDecl>(D) || isa<TypedefNameDecl>(D) ||
  582   TypedefNameDecl *TN = TD->getDecl();
 1300   S.ExtVectorDecls.push_back(cast<TypedefNameDecl>(D));
 2506   if (isa<TypedefNameDecl>(D)) {
 2580   if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 2580   if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 2607   if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 2607   if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 3486   const auto *TD = dyn_cast<TypedefNameDecl>(D);
 3486   const auto *TD = dyn_cast<TypedefNameDecl>(D);
 3579   if (const auto *TD = dyn_cast<TypedefNameDecl>(D))
 3579   if (const auto *TD = dyn_cast<TypedefNameDecl>(D))
 3687     if (const auto *TND = dyn_cast<TypedefNameDecl>(D)) {
 3687     if (const auto *TND = dyn_cast<TypedefNameDecl>(D)) {
 3948   if (const auto *TD = dyn_cast<TypedefNameDecl>(D))
 3948   if (const auto *TD = dyn_cast<TypedefNameDecl>(D))
 4035   if (auto *TD = dyn_cast<TypedefNameDecl>(D))
 4035   if (auto *TD = dyn_cast<TypedefNameDecl>(D))
 5150   if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 5150   if (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 5914   const auto *TD = dyn_cast<TypedefNameDecl>(D);
 5914   const auto *TD = dyn_cast<TypedefNameDecl>(D);
 7556   while (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 7556   while (const auto *TD = dyn_cast<TypedefNameDecl>(D)) {
 8418     TypedefNameDecl *D = TD->getDecl();
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1789       const auto *TN = cast<TypedefNameDecl>(DclIt);
 1789       const auto *TN = cast<TypedefNameDecl>(DclIt);
10017   if (TypedefNameDecl *TD1 = dyn_cast<TypedefNameDecl>(D1))
10017   if (TypedefNameDecl *TD1 = dyn_cast<TypedefNameDecl>(D1))
10018     if (TypedefNameDecl *TD2 = dyn_cast<TypedefNameDecl>(D2))
10018     if (TypedefNameDecl *TD2 = dyn_cast<TypedefNameDecl>(D2))
tools/clang/lib/Sema/SemaDeclObjC.cpp
  585       if (const TypedefNameDecl *TDecl =
  586           dyn_cast_or_null<TypedefNameDecl>(PrevDecl)) {
  613     if (!dyn_cast_or_null<TypedefNameDecl>(PrevDecl)) {
 1116   if (const TypedefNameDecl *TDecl = dyn_cast_or_null<TypedefNameDecl>(IDecl)) {
 1116   if (const TypedefNameDecl *TDecl = dyn_cast_or_null<TypedefNameDecl>(IDecl)) {
 1150   if (const TypedefNameDecl *TDecl =
 1151         dyn_cast_or_null<TypedefNameDecl>(CDeclU)) {
 3049       TypedefNameDecl *TDD = dyn_cast<TypedefNameDecl>(PrevDecl);
 3049       TypedefNameDecl *TDD = dyn_cast<TypedefNameDecl>(PrevDecl);
tools/clang/lib/Sema/SemaExpr.cpp
 2879   if (isa<TypedefNameDecl>(D)) {
tools/clang/lib/Sema/SemaExprObjC.cpp
 3646   TypedefNameDecl *TDNDecl = TD->getDecl();
 3658                                                             TypedefNameDecl *&TDNDecl) {
 3685   TypedefNameDecl *TDNDecl = nullptr;
 3807     TypedefNameDecl *TDNDecl = TD->getDecl();
 3873     TypedefNameDecl *TDNDecl = TD->getDecl();
 4029                                             TypedefNameDecl *&TDNDecl,
 4111   TypedefNameDecl *TDNDecl = nullptr;
tools/clang/lib/Sema/SemaStmt.cpp
 3427     if (auto *T = dyn_cast<TypedefNameDecl>(TmpD))
 3427     if (auto *T = dyn_cast<TypedefNameDecl>(TmpD))
tools/clang/lib/Sema/SemaStmtAsm.cpp
  792     else if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(FoundDecl)) {
  792     else if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(FoundDecl)) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  647 static DeclT *getPreviousDeclForInstantiation(DeclT *D) {
  647 static DeclT *getPreviousDeclForInstantiation(DeclT *D) {
  648   DeclT *Result = D->getPreviousDecl();
  707 Decl *TemplateDeclInstantiator::InstantiateTypedefNameDecl(TypedefNameDecl *D,
  740   TypedefNameDecl *Typedef;
  761   if (TypedefNameDecl *Prev = getPreviousDeclForInstantiation(D)) {
  767     TypedefNameDecl *InstPrevTypedef = cast<TypedefNameDecl>(InstPrev);
  767     TypedefNameDecl *InstPrevTypedef = cast<TypedefNameDecl>(InstPrev);
  813   if (getPreviousDeclForInstantiation<TypedefNameDecl>(Pattern)) {
 1204   if (TypedefNameDecl *TND = SemaRef.Context.getTypedefNameForUnnamedTagDecl(D))
 1707   if (TypedefNameDecl *TND = SemaRef.Context.getTypedefNameForUnnamedTagDecl(D))
tools/clang/lib/Sema/SemaType.cpp
 6595         TypedefNameDecl *typedefDecl = typedefType->getDecl();
tools/clang/lib/Sema/TreeTransform.h
  896   QualType RebuildTypedefType(TypedefNameDecl *Typedef) {
 5621   TypedefNameDecl *Typedef
 5622     = cast_or_null<TypedefNameDecl>(getDerived().TransformDecl(TL.getNameLoc(),
tools/clang/lib/Serialization/ASTReader.cpp
 6556     TypedefNameDecl *Decl = ReadDeclAs<TypedefNameDecl>(*Loc.F, Record, Idx);
 6556     TypedefNameDecl *Decl = ReadDeclAs<TypedefNameDecl>(*Loc.F, Record, Idx);
 8703 void ASTReader::ReadExtVectorDecls(SmallVectorImpl<TypedefNameDecl *> &Decls) {
 8705     TypedefNameDecl *D
 8706       = dyn_cast_or_null<TypedefNameDecl>(GetDecl(ExtVectorDecls[I]));
 8714     llvm::SmallSetVector<const TypedefNameDecl *, 4> &Decls) {
 8717     TypedefNameDecl *D = dyn_cast_or_null<TypedefNameDecl>(
 8717     TypedefNameDecl *D = dyn_cast_or_null<TypedefNameDecl>(
11312         TypedefNameDecl *FirstTD = cast<TypedefNameDecl>(FirstDecl);
11312         TypedefNameDecl *FirstTD = cast<TypedefNameDecl>(FirstDecl);
11313         TypedefNameDecl *SecondTD = cast<TypedefNameDecl>(SecondDecl);
11313         TypedefNameDecl *SecondTD = cast<TypedefNameDecl>(SecondDecl);
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  249       operator T*() const { return dyn_cast_or_null<T>(Existing); }
  249       operator T*() const { return dyn_cast_or_null<T>(Existing); }
  332     RedeclarableResult VisitTypedefNameDecl(TypedefNameDecl *TD);
  412     RedeclarableResult VisitRedeclarable(Redeclarable<T> *D);
  415     void mergeRedeclarable(Redeclarable<T> *D, RedeclarableResult &Redecl,
  419     void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
  419     void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
  542           cast<TypedefNameDecl>(Reader.GetDecl(NamedDeclForTagDecl));
  670 ASTDeclReader::VisitTypedefNameDecl(TypedefNameDecl *TD) {
 2394   auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
 2394   auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
 2400     D->RedeclLink = Redeclarable<T>::PreviousDeclLink(FirstDecl);
 2404   auto *DAsT = static_cast<T *>(D);
 2430   auto *D = static_cast<T *>(DBase);
 2434     mergeRedeclarable(D, cast<T>(Existing), Redecl, TemplatePatternID);
 2436     if (T *Existing = ExistingRes)
 2485     return mergeRedeclarable(DAlias, cast<TypedefNameDecl>(ExistingPattern),
 2496   auto *D = static_cast<T *>(DBase);
 2497   T *ExistingCanon = Existing->getCanonicalDecl();
 2498   T *DCanon = D->getCanonicalDecl();
 2506     D->RedeclLink = Redeclarable<T>::PreviousDeclLink(ExistingCanon);
 2953   if (const auto *TypedefX = dyn_cast<TypedefNameDecl>(X))
 2953   if (const auto *TypedefX = dyn_cast<TypedefNameDecl>(X))
 2954     if (const auto *TypedefY = dyn_cast<TypedefNameDecl>(Y))
 2954     if (const auto *TypedefY = dyn_cast<TypedefNameDecl>(Y))
 3215   if (auto *TND = dyn_cast<TypedefNameDecl>(Found))
 3215   if (auto *TND = dyn_cast<TypedefNameDecl>(Found))
 3381 Decl *ASTDeclReader::getMostRecentDeclImpl(Redeclarable<DeclT> *D) {
 3408                                            Redeclarable<DeclT> *D,
 3410   D->RedeclLink.setPrevious(cast<DeclT>(Previous));
 3411   D->First = cast<DeclT>(Previous)->First;
 3567 void ASTDeclReader::attachLatestDeclImpl(Redeclarable<DeclT> *D, Decl *Latest) {
 3568   D->RedeclLink.setLatest(cast<DeclT>(Latest));
 3589 void ASTDeclReader::markIncompleteDeclChainImpl(Redeclarable<DeclT> *D) {
tools/clang/lib/Serialization/ASTWriter.cpp
 4832   for (const TypedefNameDecl *TD : SemaRef.UnusedLocalTypedefNameCandidates)
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   67     void VisitTypedefNameDecl(TypedefNameDecl *D);
  129     template <typename T> void VisitRedeclarable(Redeclarable<T> *D);
  371 void ASTDeclWriter::VisitTypedefNameDecl(TypedefNameDecl *D) {
  418   } else if (auto *TD = D->getTypedefNameForAnonDecl()) {
 1722   T *First = D->getFirstDecl();
 1723   T *MostRecent = First->getMostRecentDecl();
 1724   T *DAsT = static_cast<T *>(D);
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
   57   const TypedefNameDecl *TD = TT->getDecl();
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp
  429   if (auto *T = dyn_cast<TypedefNameDecl>(D))
tools/clang/tools/extra/clang-doc/Serialize.cpp
  529     if (const TypedefNameDecl *TD = C->getTypedefNameForAnonDecl()) {
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
   80   } else if (llvm::isa<TypedefNameDecl>(ND)) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
   63   if (const TypedefNameDecl *Typedef = Record->getTypedefNameForAnonDecl())
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
   80   } else if (const auto *TypedefName =
   81                  Nodes.getNodeAs<TypedefNameDecl>(TypedefId)) {
  186     const TypedefNameDecl *TypedefName) {
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.h
   46                          const TypedefNameDecl *Typedef);
tools/clang/tools/extra/clangd/FindTarget.cpp
  102     } else if (isa<FieldDecl>(D) || isa<TypedefNameDecl>(D)) {
  139     if (const TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(D)) {
  139     if (const TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(D)) {
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   44   if (auto *TD = dyn_cast<TypedefNameDecl>(D)) {
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
   58   bool VisitTypedefNameDecl(const TypedefNameDecl *D) {
  651 bool CXIndexDataConsumer::handleTypedefName(const TypedefNameDecl *D) {
tools/clang/tools/libclang/CXIndexDataConsumer.h
  389   bool handleTypedefName(const TypedefNameDecl *D);
tools/clang/tools/libclang/CXType.cpp
  312     if (const TypedefNameDecl *TD = dyn_cast_or_null<TypedefNameDecl>(D)) {
  312     if (const TypedefNameDecl *TD = dyn_cast_or_null<TypedefNameDecl>(D)) {
  435     TypedefNameDecl *TD = TT->getDecl();
 1297     if (auto *D = TT->getDecl())
tools/clang/unittests/AST/ASTImporterFixtures.h
  174   template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
  174   template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
  175     return cast_or_null<DeclT>(Import(cast<Decl>(From), Lang));
tools/clang/unittests/AST/ASTImporterODRStrategiesTest.cpp
   44   using DeclTy = TypedefNameDecl;
   52   using DeclTy = TypedefNameDecl;
  253     auto *ToD = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
  256     auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
tools/clang/unittests/AST/ASTImporterTest.cpp
 2881   if (auto *Typedef = Node.getTypedefNameForAnonDecl())
 4233   auto *ToD = FirstDeclMatcher<TypedefNameDecl>().match(ToTU,
 4245   auto *FromD = FirstDeclMatcher<TypedefNameDecl>().match(FromTU,
 4250   auto *ImportedD = cast<TypedefNameDecl>(Import(FromD, Lang_CXX11));
 4250   auto *ImportedD = cast<TypedefNameDecl>(Import(FromD, Lang_CXX11));
tools/clang/unittests/AST/ASTImporterVisibilityTest.cpp
   43   using DeclTy = TypedefNameDecl;
  233     auto *ToF0 = FirstDeclMatcher<DeclTy>().match(ToTu, getPattern());
  234     auto *FromF1 = FirstDeclMatcher<DeclTy>().match(FromTu, getPattern());
  236     auto *ToF1 = Import(FromF1, Lang_CXX14);
  255     auto *FromF0 = FirstDeclMatcher<DeclTy>().match(FromTu0, getPattern());
  256     auto *FromF1 = FirstDeclMatcher<DeclTy>().match(FromTu1, getPattern());
  257     auto *ToF0 = Import(FromF0, Lang_CXX14);
  258     auto *ToF1 = Import(FromF1, Lang_CXX14);
tools/clang/unittests/AST/DeclMatcher.h
   22   NodeType *Node = nullptr;
   26       Node = const_cast<NodeType *>(Result.Nodes.getNodeAs<NodeType>(""));
   32   NodeType *match(const Decl *D, const MatcherType &AMatcher) {
   47   using UnaryPredicate = std::function<bool(const NodeType *)>;
   51     if (auto N = Result.Nodes.getNodeAs<NodeType>("")) {
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  223           if (const RecordDeclType *record_decl =
  224                   llvm::dyn_cast<RecordDeclType>(named_decl))
  929   static clang::TypedefNameDecl *GetAsTypedefDecl(const CompilerType &type);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
  506       llvm::SmallVectorImpl<clang::TypedefNameDecl *> &Decls) override {
  512       llvm::SmallSetVector<const clang::TypedefNameDecl *, 4> &Decls) override {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 2225       TypedefNameDecl *typedef_name_decl = typedef_type->getDecl();
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
  868 clang::TypedefNameDecl *
  871     return llvm::dyn_cast<clang::TypedefNameDecl>(decl);
  886   clang::TypedefNameDecl *tnd = m_clang.GetAsTypedefDecl(ct);
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
   68   clang::TypedefNameDecl *GetOrCreateTypedefDecl(PdbGlobalSymId id);
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  555         m_ast.GetTypeForIdentifier<clang::TypedefNameDecl>(ConstString(name),
tools/lldb/source/Symbol/ClangASTContext.cpp
 3934       const clang::TypedefNameDecl *typedef_decl = typedef_type->getDecl();
 7841 clang::TypedefNameDecl *
 8995     else if (clang::TypedefNameDecl *typedef_decl =
 9672         const clang::TypedefNameDecl *typedef_decl = typedef_type->getDecl();
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_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
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {