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

Derived Classes

tools/clang/include/clang/AST/DeclCXX.h
  255 class CXXRecordDecl : public RecordDecl {

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  253 RECORD(Record, TagDecl)
tools/clang/include/clang/AST/ASTMutationListener.h
   36   class RecordDecl;
tools/clang/include/clang/AST/ASTStructuralEquivalence.h
   30 class RecordDecl;
tools/clang/include/clang/AST/CanonicalType.h
   38 class RecordDecl;
tools/clang/include/clang/AST/Decl.h
   68 class RecordDecl;
tools/clang/include/clang/AST/DeclBase.h
   64 class RecordDecl;
tools/clang/include/clang/AST/ExternalASTSource.h
   50 class RecordDecl;
tools/clang/include/clang/AST/Stmt.h
   54 class RecordDecl;
tools/clang/include/clang/AST/Type.h
  115 class RecordDecl;
tools/clang/include/clang/Sema/ScopeInfo.h
   54 class RecordDecl;
tools/clang/include/clang/Serialization/ASTWriter.h
   87 class RecordDecl;
tools/clang/lib/AST/Interp/Program.h
   29 class RecordDecl;
tools/clang/lib/CodeGen/CodeGenTypes.h
   43 class RecordDecl;
tools/lldb/include/lldb/Core/ClangForward.h
   98 class RecordDecl;
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.h
   22 class RecordDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
  101   if (const auto *S = dyn_cast<RecordDecl>(D))
  101   if (const auto *S = dyn_cast<RecordDecl>(D))
  720   if (!D || (!isa<RecordDecl>(D) && !isa<TypedefNameDecl>(D))) {
 1290   if (!D || (!isa<RecordDecl>(D))) {
 1336   if (!D || (!isa<RecordDecl>(D))) {
 1442   if (!D || (!isa<RecordDecl>(D))) {
 1990   if (!D || (!isa<RecordDecl>(D))) {
 2003   if (!D || (!isa<RecordDecl>(D) && !isa<TypedefNameDecl>(D))) {
 2017   if (!D || (!isa<RecordDecl>(D))) {
 2030   if (!D || (!isa<RecordDecl>(D))) {
 2746   if (!D || (!isa<RecordDecl>(D))) {
 3026   if (!D || (!isa<RecordDecl>(D) && !isa<EnumDecl>(D))) {
 3070   if (!D || (!isa<RecordDecl>(D))) {
 3083   if (!D || (!isa<ObjCMethodDecl>(D) && !isa<EnumDecl>(D) && !isa<RecordDecl>(D) && !isFunctionLike(D))) {
 3552     return isa<RecordDecl>(D) || isa<CXXRecordDecl>(D);
gen/tools/clang/lib/AST/Opcodes.inc
 3261 	auto V0 = PC.read<const RecordDecl *>();
 3270 	OS << "\t" << PC.read<const RecordDecl *>() << " "<< "\n";
 3274 bool emitGetPtrThisVirtBase(const RecordDecl *, const SourceInfo &);
 3277 bool ByteCodeEmitter::emitGetPtrThisVirtBase(const RecordDecl * A0,const SourceInfo &L) {
 3278 	return emitOp<const RecordDecl *>(OP_GetPtrThisVirtBase, A0, L);
 3282 bool EvalEmitter::emitGetPtrThisVirtBase(const RecordDecl * A0,const SourceInfo &L) {
 3293 	auto V0 = PC.read<const RecordDecl *>();
 3302 	OS << "\t" << PC.read<const RecordDecl *>() << " "<< "\n";
 3306 bool emitGetPtrVirtBase(const RecordDecl *, const SourceInfo &);
 3309 bool ByteCodeEmitter::emitGetPtrVirtBase(const RecordDecl * A0,const SourceInfo &L) {
 3310 	return emitOp<const RecordDecl *>(OP_GetPtrVirtBase, A0, L);
 3314 bool EvalEmitter::emitGetPtrVirtBase(const RecordDecl * A0,const SourceInfo &L) {
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
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; }
  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,
  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) {
  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
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  306 cast_or_null(Y *Val) {
  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;
  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
  247   mutable llvm::DenseMap<const RecordDecl*, const ASTRecordLayout*>
  362   mutable RecordDecl *CFConstantStringTagDecl = nullptr;
  388   mutable RecordDecl *BlockDescriptorType = nullptr;
  394   mutable RecordDecl *BlockDescriptorExtendedType = nullptr;
 1110   RecordDecl *buildImplicitRecord(StringRef Name,
 1111                                   RecordDecl::TagKind TK = TTK_Struct) const;
 1422   QualType getRecordType(const RecordDecl *Decl) const;
 1627   RecordDecl *getCFConstantStringTagDecl() const;
 2201   const ASTRecordLayout &getASTRecordLayout(const RecordDecl *D) const;
 2208   void DumpRecordLayout(const RecordDecl *RD, raw_ostream &OS,
 2946   void getObjCEncodingForStructureImpl(RecordDecl *RD, std::string &S,
tools/clang/include/clang/AST/ASTMutationListener.h
  148                                       const RecordDecl *Record) {}
tools/clang/include/clang/AST/ASTStructuralEquivalence.h
  111   findUntaggedStructOrUnionIndex(RecordDecl *Anon);
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
 2839   const RecordDecl *getParent() const {
 2840     return cast<RecordDecl>(getDeclContext());
 2843   RecordDecl *getParent() {
 2844     return cast<RecordDecl>(getDeclContext());
 3700              IdentifierInfo *Id, RecordDecl *PrevDecl);
 3703   static RecordDecl *Create(const ASTContext &C, TagKind TK, DeclContext *DC,
 3705                             IdentifierInfo *Id, RecordDecl* PrevDecl = nullptr);
 3706   static RecordDecl *CreateDeserialized(const ASTContext &C, unsigned ID);
 3708   RecordDecl *getPreviousDecl() {
 3709     return cast_or_null<RecordDecl>(
 3712   const RecordDecl *getPreviousDecl() const {
 3716   RecordDecl *getMostRecentDecl() {
 3717     return cast<RecordDecl>(static_cast<TagDecl *>(this)->getMostRecentDecl());
 3719   const RecordDecl *getMostRecentDecl() const {
 3874   RecordDecl *getDefinition() const {
 3875     return cast_or_null<RecordDecl>(TagDecl::getDefinition());
tools/clang/include/clang/AST/DeclBase.h
 1945   RecordDecl *getOuterLexicalRecordContext();
 1946   const RecordDecl *getOuterLexicalRecordContext() const {
 2474   static const ToTy *doit(const DeclContext *Val) {
 2478   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);
 2521   static ToTy *doit(::clang::DeclContext *Val) {
 2522     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclCXX.h
  255 class CXXRecordDecl : public RecordDecl {
tools/clang/include/clang/AST/Expr.h
 3216   static const FieldDecl *getTargetFieldForToUnionCast(const RecordDecl *RD,
tools/clang/include/clang/AST/ExternalASTSource.h
  301       const RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
tools/clang/include/clang/AST/JSONNodeDumper.h
  236   void VisitRecordDecl(const RecordDecl *RD);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
  511   bool TraverseDeclTemplateParameterLists(T *D);
  522   bool TraverseRecordHelper(RecordDecl *D);
 1834 bool RecursiveASTVisitor<Derived>::TraverseRecordHelper(RecordDecl *D) {
 1864 DEF_TRAVERSE_DECL(RecordDecl, { TRY_TO(TraverseRecordHelper(D)); })
tools/clang/include/clang/AST/Stmt.h
 3429   RecordDecl *TheRecordDecl = nullptr;
 3433                ArrayRef<Expr *> CaptureInits, CapturedDecl *CD, RecordDecl *RD);
 3455                               CapturedDecl *CD, RecordDecl *RD);
 3478   const RecordDecl *getCapturedRecordDecl() const { return TheRecordDecl; }
 3481   void setCapturedRecordDecl(RecordDecl *D) {
tools/clang/include/clang/AST/TextNodeDumper.h
  300   void VisitRecordDecl(const RecordDecl *D);
tools/clang/include/clang/AST/Type.h
 1254   static bool hasNonTrivialToPrimitiveDefaultInitializeCUnion(const RecordDecl *RD);
 1255   static bool hasNonTrivialToPrimitiveDestructCUnion(const RecordDecl *RD);
 1256   static bool hasNonTrivialToPrimitiveCopyCUnion(const RecordDecl *RD);
 2200   RecordDecl *getAsRecordDecl() const;
 4448   explicit RecordType(const RecordDecl *D)
 4450   explicit RecordType(TypeClass TC, RecordDecl *D)
 4454   RecordDecl *getDecl() const {
 6274   if (auto *RD = getTypePtr()->getBaseElementTypeUnsafe()->getAsRecordDecl())
 6280   if (auto *RD = getTypePtr()->getBaseElementTypeUnsafe()->getAsRecordDecl())
 6286   if (auto *RD = getTypePtr()->getBaseElementTypeUnsafe()->getAsRecordDecl())
tools/clang/include/clang/AST/TypeLoc.h
  722   RecordDecl *getDecl() const { return getTypePtr()->getDecl(); }
tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h
  266 const NodeT *
  269     if (const NodeT *Node = N.getNodeAs<NodeT>(BoundTo))
  269     if (const NodeT *Node = N.getNodeAs<NodeT>(BoundTo))
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
  380 extern const internal::VariadicDynCastAllOfMatcher<Decl, RecordDecl> recordDecl;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  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>();
  479 class WrapperMatcherInterface : public MatcherInterface<T> {
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  506   Matcher(const Matcher<From> &Other,
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  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>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  994   bool matchesChildOf(const T &Node, const DynTypedMatcher &Matcher,
  997     static_assert(std::is_base_of<Decl, T>::value ||
  998                   std::is_base_of<Stmt, T>::value ||
  999                   std::is_base_of<NestedNameSpecifier, T>::value ||
 1000                   std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1001                   std::is_base_of<TypeLoc, T>::value ||
 1002                   std::is_base_of<QualType, T>::value,
 1009   bool matchesDescendantOf(const T &Node,
 1013     static_assert(std::is_base_of<Decl, T>::value ||
 1014                   std::is_base_of<Stmt, T>::value ||
 1015                   std::is_base_of<NestedNameSpecifier, T>::value ||
 1016                   std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1017                   std::is_base_of<TypeLoc, T>::value ||
 1018                   std::is_base_of<QualType, T>::value,
 1026   bool matchesAncestorOf(const T &Node,
 1030     static_assert(std::is_base_of<Decl, T>::value ||
 1031                       std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1032                       std::is_base_of<Stmt, T>::value ||
 1033                       std::is_base_of<TypeLoc, T>::value,
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1146     template <typename To> operator Matcher<To>() const {
 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 {
 1285 class HasMatcher : public WrapperMatcherInterface<T> {
 1290   bool matches(const T &Node, ASTMatchFinder *Finder,
 1304 class ForEachMatcher : public WrapperMatcherInterface<T> {
 1312   bool matches(const T& Node, ASTMatchFinder* Finder,
 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) {
 1418 class HasDescendantMatcher : public WrapperMatcherInterface<T> {
 1426   bool matches(const T &Node, ASTMatchFinder *Finder,
 1458 class HasAncestorMatcher : public WrapperMatcherInterface<T> {
 1466   bool matches(const T &Node, ASTMatchFinder *Finder,
 1480 class ForEachDescendantMatcher : public WrapperMatcherInterface<T> {
 1489   bool matches(const T &Node, ASTMatchFinder *Finder,
 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/CodeGen/CodeGenABITypes.h
   85                             const RecordDecl *RD, const FieldDecl *FD);
tools/clang/include/clang/CodeGen/SwiftCallingConv.h
   64   void addTypedData(const RecordDecl *record, CharUnits begin);
   65   void addTypedData(const RecordDecl *record, CharUnits begin,
  165 bool mustPassRecordIndirectly(CodeGenModule &CGM, const RecordDecl *record);
tools/clang/include/clang/Frontend/LayoutOverrideSource.h
   50     layoutRecordType(const RecordDecl *Record,
tools/clang/include/clang/Sema/Lookup.h
  507   DeclClass *getAsSingle() const {
  509     return dyn_cast<DeclClass>(getFoundDecl());
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  184   layoutRecordType(const RecordDecl *Record,
tools/clang/include/clang/Sema/ScopeInfo.h
  747   RecordDecl *TheRecordDecl;
  762                           RecordDecl *RD, ImplicitParamDecl *Context,
tools/clang/include/clang/Sema/Sema.h
  914   RecordDecl *CXXTypeInfoDecl;
  917   RecordDecl *MSVCGuidDecl;
 1449                                RecordDecl *RD, CapturedRegionKind K,
 2453                                    RecordDecl *&AnonRecord);
 2457                                    RecordDecl *&AnonRecord);
 2461                                     RecordDecl *Record,
 2465                                        RecordDecl *Record);
 2528   FieldDecl *HandleField(Scope *S, RecordDecl *TagD, SourceLocation DeclStart,
 2532   MSPropertyDecl *HandleMSProperty(Scope *S, RecordDecl *TagD,
 2541                             RecordDecl *Record, SourceLocation Loc,
 4182   RecordDecl *CreateCapturedStmtRecordDecl(CapturedDecl *&CD,
 4297   void DiagnoseUnusedNestedTypedefs(const RecordDecl *D);
 6088   FieldDecl *BuildCaptureField(RecordDecl *RD, const sema::Capture &Capture);
 9039   void AddAlignmentAttributesForRecord(RecordDecl *RD);
 9042   void AddMsStructLayoutForRecord(RecordDecl *RD);
11491   RecordDecl *CFError = nullptr;
11578     RecordDecl *RD;
11583     MisalignedMember(Expr *E, RecordDecl *RD, ValueDecl *MD,
11596   void AddPotentialMisalignedMembers(Expr *E, RecordDecl *RD, ValueDecl *MD,
11617       llvm::function_ref<void(Expr *, RecordDecl *, FieldDecl *, CharUnits)>
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)));
 2541   T *readDeclAs() {
 2542     return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/include/clang/Serialization/ASTWriter.h
  744                               const RecordDecl *Record) override;
tools/clang/lib/AST/APValue.cpp
  655     const RecordDecl *RD = Ty->castAs<RecordType>()->getDecl();
tools/clang/lib/AST/ASTContext.cpp
  866   for (llvm::DenseMap<const RecordDecl*, const ASTRecordLayout*>::iterator
 1151 RecordDecl *ASTContext::buildImplicitRecord(StringRef Name,
 1152                                             RecordDecl::TagKind TK) const {
 1154   RecordDecl *NewDecl;
 1159     NewDecl = RecordDecl::Create(*this, TK, getTranslationUnitDecl(), Loc, Loc,
 1668       const RecordDecl *Parent = Field->getParent();
 2123     const RecordDecl *RD = RT->getDecl();
 2220     const RecordDecl *RD = RT->getDecl();
 2403                                                 const RecordDecl *RD) {
 2418   const RecordDecl *RD = Ty->castAs<RecordType>()->getDecl();
 2431                                      const RecordDecl *RD) {
 2537     const RecordDecl *Record = Ty->castAs<RecordType>()->getDecl();
 3937 static bool NeedsInjectedClassNameType(const RecordDecl *D) {
 3981   if (const auto *Record = dyn_cast<RecordDecl>(Decl)) {
 3981   if (const auto *Record = dyn_cast<RecordDecl>(Decl)) {
 4014 QualType ASTContext::getRecordType(const RecordDecl *Decl) const {
 4017   if (const RecordDecl *PrevDecl = Decl->getPreviousDecl())
 6046 RecordDecl *ASTContext::getCFConstantStringTagDecl() const {
 6059     RecordDecl *ObjCSuperTypeDecl = buildImplicitRecord("objc_super");
 6078   RecordDecl *RD;
 6113   RecordDecl *RD;
 6782       const RecordDecl *RD = FD->getParent();
 6945     RecordDecl *RDecl = cast<RecordType>(CT)->getDecl();
 7139 void ASTContext::getObjCEncodingForStructureImpl(RecordDecl *RDecl,
 7364   RecordDecl *VaListTagDecl = Context->buildImplicitRecord("__va_list");
 7427   RecordDecl *VaListTagDecl;
 7491   RecordDecl *VaListTagDecl;
 7553   RecordDecl *VaListDecl = Context->buildImplicitRecord("__va_list");
 7594   RecordDecl *VaListTagDecl;
 8610     RecordDecl *UD = UT->getDecl();
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) {
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  391         RecordDecl *From, RecordDecl *To,
  391         RecordDecl *From, RecordDecl *To,
  437     bool IsStructuralMatch(RecordDecl *FromRecord, RecordDecl *ToRecord,
  437     bool IsStructuralMatch(RecordDecl *FromRecord, RecordDecl *ToRecord,
  462     ExpectedDecl VisitRecordDecl(RecordDecl *D);
  936 bool ASTNodeImporter::hasSameVisibilityContext(T *Found, T *From) {
  936 bool ASTNodeImporter::hasSameVisibilityContext(T *Found, T *From) {
 1346   Expected<RecordDecl *> ToDeclOrErr = import(T->getDecl());
 1548   if (isa<RecordDecl>(D) && (FunDecl = dyn_cast<FunctionDecl>(OrigDC)) &&
 1596   if (RecordDecl *FromRecord = dyn_cast<RecordDecl>(FromD)) {
 1596   if (RecordDecl *FromRecord = dyn_cast<RecordDecl>(FromD)) {
 1597     if (RecordDecl *ToRecord = cast<RecordDecl>(ToD)) {
 1597     if (RecordDecl *ToRecord = cast<RecordDecl>(ToD)) {
 1714   const auto *FromRD = dyn_cast<RecordDecl>(FromDC);
 1714   const auto *FromRD = dyn_cast<RecordDecl>(FromDC);
 1793     RecordDecl *From, RecordDecl *To, ImportDefinitionKind Kind) {
 1793     RecordDecl *From, RecordDecl *To, ImportDefinitionKind Kind) {
 1996 bool ASTNodeImporter::IsStructuralMatch(RecordDecl *FromRecord,
 1997                                         RecordDecl *ToRecord, bool Complain) {
 2002     auto *ToOriginRecord = dyn_cast<RecordDecl>(ToOrigin);
 2002     auto *ToOriginRecord = dyn_cast<RecordDecl>(ToOrigin);
 2572 ExpectedDecl ASTNodeImporter::VisitRecordDecl(RecordDecl *D) {
 2603   RecordDecl *PrevDecl = nullptr;
 2625       if (auto *FoundRecord = dyn_cast<RecordDecl>(Found)) {
 2625       if (auto *FoundRecord = dyn_cast<RecordDecl>(Found)) {
 2643           RecordDecl *FoundDef = FoundRecord->getDefinition();
 2682   RecordDecl *D2 = nullptr;
 7802   auto *Owner = dyn_cast<RecordDecl>(F->getDeclContext());
 7802   auto *Owner = dyn_cast<RecordDecl>(F->getDeclContext());
 8069   if (auto *ToRecord = dyn_cast<RecordDecl>(ToDC)) {
 8069   if (auto *ToRecord = dyn_cast<RecordDecl>(ToDC)) {
 8070     auto *FromRecord = cast<RecordDecl>(FromDC);
 8070     auto *FromRecord = cast<RecordDecl>(FromDC);
 8591   if (auto *ToRecord = dyn_cast<RecordDecl>(To)) {
 8591   if (auto *ToRecord = dyn_cast<RecordDecl>(To)) {
 8594           cast<RecordDecl>(FromDC), ToRecord,
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  946   const auto *Owner2 = cast<RecordDecl>(Field2->getDeclContext());
  946   const auto *Owner2 = cast<RecordDecl>(Field2->getDeclContext());
  953     RecordDecl *D1 = Field1->getType()->castAs<RecordType>()->getDecl();
  954     RecordDecl *D2 = Field2->getType()->castAs<RecordType>()->getDecl();
 1103                                      RecordDecl *D1, RecordDecl *D2) {
 1103                                      RecordDecl *D1, RecordDecl *D2) {
 1297   RecordDecl::field_iterator Field2 = D2->field_begin(),
 1299   for (RecordDecl::field_iterator Field1 = D1->field_begin(),
 1617 StructuralEquivalenceContext::findUntaggedStructOrUnionIndex(RecordDecl *Anon) {
 1621   const auto *Owner = dyn_cast<RecordDecl>(Anon->getDeclContext());
 1621   const auto *Owner = dyn_cast<RecordDecl>(Anon->getDeclContext());
 1646       const RecordDecl *RecDecl = RecType->getDecl();
 1751   if (auto *Record1 = dyn_cast<RecordDecl>(D1)) {
 1751   if (auto *Record1 = dyn_cast<RecordDecl>(D1)) {
 1752     if (auto *Record2 = dyn_cast<RecordDecl>(D2)) {
 1752     if (auto *Record2 = dyn_cast<RecordDecl>(D2)) {
tools/clang/lib/AST/CXXInheritance.cpp
  418   RecordDecl *BaseRecord =
  431 static bool findOrdinaryMember(RecordDecl *BaseRecord, CXXBasePath &Path,
  448   RecordDecl *BaseRecord =
  477   RecordDecl *BaseRecord =
  492   RecordDecl *BaseRecord =
  508   RecordDecl *BaseRecord =
tools/clang/lib/AST/CommentSema.cpp
  917   if (const RecordDecl *RD =
  918         dyn_cast_or_null<RecordDecl>(ThisDeclInfo->CurrentDecl))
  929          isa<RecordDecl>(ThisDeclInfo->CurrentDecl) &&
tools/clang/lib/AST/Decl.cpp
  952     getLVForDecl(cast<RecordDecl>(D->getDeclContext()), classComputation);
 1622     } else if (const auto *RD = dyn_cast<RecordDecl>(DC)) {
 1622     } else if (const auto *RD = dyn_cast<RecordDecl>(DC)) {
 3976   const RecordDecl *RD = RT->getDecl()->getDefinition();
 4003   const RecordDecl *RD = getParent()->getDefinition();
 4290                        RecordDecl *PrevDecl)
 4308 RecordDecl *RecordDecl::Create(const ASTContext &C, TagKind TK, DeclContext *DC,
 4310                                IdentifierInfo *Id, RecordDecl* PrevDecl) {
 4311   RecordDecl *R = new (C, DC) RecordDecl(Record, TK, C, DC,
 4311   RecordDecl *R = new (C, DC) RecordDecl(Record, TK, C, DC,
 4319 RecordDecl *RecordDecl::CreateDeserialized(const ASTContext &C, unsigned ID) {
 4320   RecordDecl *R =
 4321       new (C, ID) RecordDecl(Record, TTK_Struct, C, nullptr, SourceLocation(),
 4329     cast<RecordDecl>(getDeclContext())->getDeclName() == getDeclName();
 4346 RecordDecl::field_iterator RecordDecl::field_begin() const {
tools/clang/lib/AST/DeclBase.cpp
 1307   if (const auto *RD = dyn_cast<RecordDecl>(this))
 1307   if (const auto *RD = dyn_cast<RecordDecl>(this))
 1770 RecordDecl *DeclContext::getOuterLexicalRecordContext() {
 1772   RecordDecl *OutermostRD = nullptr;
 1775     OutermostRD = cast<RecordDecl>(DC);
tools/clang/lib/AST/DeclCXX.cpp
  432         RecordDecl::APK_CanNeverPassInRegs)
  433       setArgPassingRestrictions(RecordDecl::APK_CanNeverPassInRegs);
 1014           setArgPassingRestrictions(RecordDecl::APK_CanNeverPassInRegs);
 1197             RecordDecl::APK_CanNeverPassInRegs)
 1198           setArgPassingRestrictions(RecordDecl::APK_CanNeverPassInRegs);
 1454   RecordDecl::field_iterator Field = field_begin();
tools/clang/lib/AST/DeclPrinter.cpp
   65     void VisitRecordDecl(RecordDecl *D);
  543 void DeclPrinter::VisitRecordDecl(RecordDecl *D) {
tools/clang/lib/AST/Expr.cpp
 1967 const FieldDecl *CastExpr::getTargetFieldForToUnionCast(const RecordDecl *RD,
 1970   RecordDecl::field_iterator Field, FieldEnd;
 3208       RecordDecl *RD = ILE->getType()->castAs<RecordType>()->getDecl();
tools/clang/lib/AST/ExprConstant.cpp
 2197     RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
 2625                                const RecordDecl *TruncatedType,
 2638   const RecordDecl *RD = TruncatedType;
 3318       RecordDecl *RD = ObjType->castAs<RecordType>()->getDecl();
 6235     const RecordDecl *RD = Ty->getAsRecordDecl();
 6393     const RecordDecl *RD = RTy->getAsRecordDecl();
 6539   if (RecordDecl *Record = Ty->getAsRecordDecl()) {
 8793                                           const RecordDecl *RD,
 8836   const RecordDecl *RD = T->castAs<RecordType>()->getDecl();
 8841     RecordDecl::field_iterator I = RD->field_begin();
 8899   const RecordDecl *RD = E->getType()->castAs<RecordType>()->getDecl();
 9077   RecordDecl *Record = E->getType()->castAs<RecordType>()->getDecl();
 9078   RecordDecl::field_iterator Field = Record->field_begin();
10238     const RecordDecl *Parent = FD->getParent();
11979       RecordDecl *RD = RT->getDecl();
12001       RecordDecl *RD = RT->getDecl();
tools/clang/lib/AST/ExternalASTSource.cpp
   75     const RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp
  514 Record *ByteCodeExprGen<Emitter>::getRecord(const RecordDecl *RD) {
tools/clang/lib/AST/Interp/ByteCodeExprGen.h
   87   Record *getRecord(const RecordDecl *RD);
tools/clang/lib/AST/Interp/Descriptor.h
  123   const RecordDecl *asRecordDecl() const {
  124     return dyn_cast_or_null<RecordDecl>(asDecl());
tools/clang/lib/AST/Interp/Interp.h
  586 inline bool VirtBaseHelper(InterpState &S, CodePtr OpPC, const RecordDecl *Decl,
  597 inline bool GetPtrVirtBase(InterpState &S, CodePtr OpPC, const RecordDecl *D) {
  605                                const RecordDecl *D) {
tools/clang/lib/AST/Interp/InterpFrame.cpp
   77       if (isa<RecordDecl>(D)) {
tools/clang/lib/AST/Interp/Program.cpp
  207 Record *Program::getOrCreateRecord(const RecordDecl *RD) {
  241       const RecordDecl *BD = Spec.getType()->castAs<RecordType>()->getDecl();
  253       const RecordDecl *BD = Spec.getType()->castAs<RecordType>()->getDecl();
tools/clang/lib/AST/Interp/Program.h
   98   Record *getOrCreateRecord(const RecordDecl *RD);
  182   llvm::DenseMap<const RecordDecl *, Record *> Records;
tools/clang/lib/AST/Interp/Record.cpp
   14 Record::Record(const RecordDecl *Decl, BaseList &&SrcBases,
   36 const Record::Base *Record::getBase(const RecordDecl *FD) const {
   42 const Record::Base *Record::getVirtualBase(const RecordDecl *FD) const {
tools/clang/lib/AST/Interp/Record.h
   34     const RecordDecl *Decl;
   49   const RecordDecl *getDecl() const { return Decl; }
   59   const Base *getBase(const RecordDecl *FD) const;
   61   const Base *getVirtualBase(const RecordDecl *RD) const;
   89   Record(const RecordDecl *, BaseList &&Bases, FieldList &&Fields,
   97   const RecordDecl *Decl;
  106   llvm::DenseMap<const RecordDecl *, Base *> BaseMap;
  110   llvm::DenseMap<const RecordDecl *, Base *> VirtualBaseMap;
tools/clang/lib/AST/ItaniumMangle.cpp
   87 static const RecordDecl *GetLocalClassDecl(const Decl *D) {
   91       return dyn_cast<RecordDecl>(D);
 1327       const RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 1554   const RecordDecl *RD = GetLocalClassDecl(D);
tools/clang/lib/AST/JSONNodeDumper.cpp
  804 void JSONNodeDumper::VisitRecordDecl(const RecordDecl *RD) {
tools/clang/lib/AST/MicrosoftMangle.cpp
 1100       if (const auto *RD = dyn_cast<RecordDecl>(DC))
 1100       if (const auto *RD = dyn_cast<RecordDecl>(DC))
 1119       if (isa<RecordDecl>(DC))
tools/clang/lib/AST/RecordLayoutBuilder.cpp
  692   void Layout(const RecordDecl *D);
  696   void LayoutFields(const RecordDecl *D);
 1257   if (const RecordDecl *RD = dyn_cast<RecordDecl>(D)) {
 1257   if (const RecordDecl *RD = dyn_cast<RecordDecl>(D)) {
 1286   if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
 1286   if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
 1304 void ItaniumRecordLayoutBuilder::Layout(const RecordDecl *D) {
 1375 void ItaniumRecordLayoutBuilder::LayoutFields(const RecordDecl *D) {
 1958   if (const RecordDecl *RD = dyn_cast<RecordDecl>(D)) {
 1958   if (const RecordDecl *RD = dyn_cast<RecordDecl>(D)) {
 2308   void layout(const RecordDecl *RD);
 2311   void initializeLayout(const RecordDecl *RD);
 2325   void layoutFields(const RecordDecl *RD);
 2332   void finalizeLayout(const RecordDecl *RD);
 2475 void MicrosoftRecordLayoutBuilder::layout(const RecordDecl *RD) {
 2509 void MicrosoftRecordLayoutBuilder::initializeLayout(const RecordDecl *RD) {
 2635 static bool recordUsesEBO(const RecordDecl *RD) {
 2689 void MicrosoftRecordLayoutBuilder::layoutFields(const RecordDecl *RD) {
 2904 void MicrosoftRecordLayoutBuilder::finalizeLayout(const RecordDecl *RD) {
 3023 ASTContext::getASTRecordLayout(const RecordDecl *D) const {
 3290 static void DumpRecordLayout(raw_ostream &OS, const RecordDecl *RD,
 3359   for (RecordDecl::field_iterator I = RD->field_begin(),
 3427 void ASTContext::DumpRecordLayout(const RecordDecl *RD,
tools/clang/lib/AST/Stmt.cpp
 1215                            RecordDecl *RD)
 1246                                    RecordDecl *RD) {
tools/clang/lib/AST/TextNodeDumper.cpp
 1248 void TextNodeDumper::VisitRecordDecl(const RecordDecl *D) {
tools/clang/lib/AST/Type.cpp
  515     RecordDecl *RD = RT->getDecl();
 1692 RecordDecl *Type::getAsRecordDecl() const {
 1693   return dyn_cast_or_null<RecordDecl>(getAsTagDecl());
 2133     RecordDecl *Rec = cast<RecordType>(CanonicalType)->getDecl();
 2331 bool QualType::hasNonTrivialToPrimitiveDefaultInitializeCUnion(const RecordDecl *RD) {
 2335 bool QualType::hasNonTrivialToPrimitiveDestructCUnion(const RecordDecl *RD) {
 2339 bool QualType::hasNonTrivialToPrimitiveCopyCUnion(const RecordDecl *RD) {
 4129     const RecordDecl *RD = RT->getDecl();
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  387 static StringRef getNodeName(const RecordDecl &Node,
  491     if (const auto *RD = dyn_cast<RecordDecl>(Ctx)) {
  491     if (const auto *RD = dyn_cast<RecordDecl>(Ctx)) {
  568 const internal::VariadicDynCastAllOfMatcher<Decl, RecordDecl> recordDecl;
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>());
  361     RetTypes.push_back(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/BodyFarm.cpp
  108   ValueDecl *findMemberField(const RecordDecl *RD, StringRef Name);
  226 ValueDecl *ASTMaker::findMemberField(const RecordDecl *RD, StringRef Name) {
  343   auto *FlagRecordDecl = FlagType->getAsRecordDecl();
tools/clang/lib/Analysis/ThreadSafety.cpp
 1231     if (const auto *RD = RT->getDecl())
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBuiltin.cpp
 1400   RecordDecl *RD = RType->castAs<RecordType>()->getDecl()->getDefinition();
tools/clang/lib/CodeGen/CGCall.cpp
  912     const RecordDecl *RD = RT->getDecl();
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  220   if (const auto *RDecl = dyn_cast<RecordDecl>(Context))
  220   if (const auto *RDecl = dyn_cast<RecordDecl>(Context))
  313 StringRef CGDebugInfo::getClassName(const RecordDecl *RD) {
  957 static llvm::dwarf::Tag getTagForRecord(const RecordDecl *RD) {
  975   const RecordDecl *RD = Ty->getDecl();
 1221                                            const RecordDecl *RD) {
 1246                                               const RecordDecl *RD) {
 1280                              llvm::DIScope *scope, const RecordDecl *RD) {
 1308   RecordDecl::field_iterator Field = CXXDecl->field_begin();
 1344                                      const RecordDecl *RD) {
 1375     const RecordDecl *RD) {
 1408     const RecordDecl *record, llvm::DIFile *tunit,
 2077 void CGDebugInfo::completeType(const RecordDecl *RD) {
 2094 static bool isDefinedInClangModule(const RecordDecl *RD) {
 2125 void CGDebugInfo::completeClassData(const RecordDecl *RD) {
 2139 void CGDebugInfo::completeClass(const RecordDecl *RD) {
 2163                                  bool DebugTypeExtRefs, const RecordDecl *RD,
 2208 void CGDebugInfo::completeRequiredType(const RecordDecl *RD) {
 2219   RecordDecl *RD = Ty->getDecl();
 2232   RecordDecl *RD = Ty->getDecl();
 2245   const RecordDecl *D = RD->getDefinition();
 2966   if (isa<RecordDecl>(D) && !cast<RecordDecl>(D)->getDefinition())
 2966   if (isa<RecordDecl>(D) && !cast<RecordDecl>(D)->getDefinition())
 3110   RecordDecl *RD = Ty->getDecl();
 3128   const RecordDecl *D = RD->getDefinition();
 3255     else if (const RecordDecl *RDecl =
 3256                  dyn_cast_or_null<RecordDecl>(FD->getDeclContext())) {
 3981     const RecordDecl *RD = RT->getDecl();
 4353   return CreateRecordStaticField(D, Ctxt, cast<RecordDecl>(DC));
 4357     const RecordDecl *RD, llvm::DIFile *Unit, unsigned LineNo,
 4412     const RecordDecl *RD = T->castAs<RecordType>()->getDecl();
 4462       if (isa<RecordDecl>(ED->getDeclContext()))
 4486     auto *RD = cast<RecordDecl>(VarD->getDeclContext());
tools/clang/lib/CodeGen/CGDebugInfo.h
  273                                 const RecordDecl *RD = nullptr);
  279                                 const RecordDecl *RD = nullptr) {
  287                                    const RecordDecl *RD);
  296                                                const RecordDecl *RD);
  300                                 llvm::DIType *RecordTy, const RecordDecl *RD);
  303   void CollectRecordFields(const RecordDecl *Decl, llvm::DIFile *F,
  498   void completeType(const RecordDecl *RD);
  499   void completeRequiredType(const RecordDecl *RD);
  500   void completeClassData(const RecordDecl *RD);
  501   void completeClass(const RecordDecl *RD);
  635   CollectAnonRecordDecls(const RecordDecl *RD, llvm::DIFile *Unit,
  661   StringRef getClassName(const RecordDecl *RD);
tools/clang/lib/CodeGen/CGDecl.cpp
 1453         const auto *RD = RecordTy->getDecl();
tools/clang/lib/CodeGen/CGExpr.cpp
  875       RecordDecl::field_iterator FI(
 3909 unsigned CodeGenFunction::getDebugInfoFIndex(const RecordDecl *Rec,
 3945   const RecordDecl *rec = field->getParent();
 3955   const RecordDecl *rec = field->getParent();
 4000       const RecordDecl *rec = field->getParent();
 4026   const RecordDecl *rec = field->getParent();
tools/clang/lib/CodeGen/CGExprAgg.cpp
  237   RecordDecl *Record = RecordTy->getDecl();
  396   RecordDecl *Record = E->getType()->castAs<RecordType>()->getDecl();
  397   RecordDecl::field_iterator Field = Record->field_begin();
 1495   RecordDecl *record = E->getType()->castAs<RecordType>()->getDecl();
 1765       RecordDecl *SD = RT->getDecl();
 1882   const RecordDecl *ClassRD = FD->getParent();
 1996     RecordDecl *Record = RecordTy->getDecl();
tools/clang/lib/CodeGen/CGExprConstant.cpp
  567   bool Build(const APValue &Val, const RecordDecl *RD, bool IsPrimaryBase,
  662   RecordDecl *RD = ILE->getType()->castAs<RecordType>()->getDecl();
  760 bool ConstStructBuilder::Build(const APValue &Val, const RecordDecl *RD,
  803   for (RecordDecl::field_iterator Field = RD->field_begin(),
  842   RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
  865   const RecordDecl *RD = ValTy->castAs<RecordType>()->getDecl();
 2192                                         const RecordDecl *record,
 2240       if (const auto *FieldRD = Field->getType()->getAsRecordDecl())
tools/clang/lib/CodeGen/CGExprScalar.cpp
 2674       RecordDecl *RD = CurrentType->castAs<RecordType>()->getDecl();
 2680       for (RecordDecl::field_iterator Field = RD->field_begin(),
 2707       RecordDecl *RD = CurrentType->castAs<RecordType>()->getDecl();
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp
   41     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
tools/clang/lib/CodeGen/CGObjCMac.cpp
  994                            const RecordDecl *RD,
 2478                                           const RecordDecl *RD,
 2603   const RecordDecl *RD = RT->getDecl();
 5166   const RecordDecl *RD = RT->getDecl();
 5649   RecordDecl *RD = RecordDecl::Create(Ctx, TTK_Struct,
 5649   RecordDecl *RD = RecordDecl::Create(Ctx, TTK_Struct,
 6002   RecordDecl *RD = RecordDecl::Create(Ctx, TTK_Struct,
 6002   RecordDecl *RD = RecordDecl::Create(Ctx, TTK_Struct,
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 1246   RecordDecl *RD = C.buildImplicitRecord("ident_t");
 1523                              const RecordDecl *RD, const CGRecordLayout &RL,
 1545   const auto *RD = cast<RecordDecl>(Ty->getAsTagDecl());
 1545   const auto *RD = cast<RecordDecl>(Ty->getAsTagDecl());
 1560   const auto *RD = cast<RecordDecl>(Ty->getAsTagDecl());
 1560   const auto *RD = cast<RecordDecl>(Ty->getAsTagDecl());
 1661   auto Fields = cast<RecordDecl>(IdentQTy->getAsTagDecl())->field_begin();
 4314     RecordDecl *RD = C.buildImplicitRecord("__tgt_offload_entry");
 4344     RecordDecl *RD = C.buildImplicitRecord("__tgt_device_image");
 4368     RecordDecl *RD = C.buildImplicitRecord("__tgt_bin_desc");
 4394 static RecordDecl *
 4401     RecordDecl *RD = C.buildImplicitRecord(".kmp_privates.t");
 4420 static RecordDecl *
 4438   RecordDecl *UD = C.buildImplicitRecord("kmp_cmplrdata_t", TTK_Union);
 4444   RecordDecl *RD = C.buildImplicitRecord("kmp_task_t");
 4466 static RecordDecl *
 4474   RecordDecl *RD = C.buildImplicitRecord("kmp_task_t_with_privates");
 4477   if (const RecordDecl *PrivateRD = createPrivatesRecordDecl(CGM, Privates))
 4533   const auto *KmpTaskTWithPrivatesQTyRD =
 4534       cast<RecordDecl>(KmpTaskTWithPrivatesQTy->getAsTagDecl());
 4537   const auto *KmpTaskTQTyRD = cast<RecordDecl>(KmpTaskTQTy->getAsTagDecl());
 4537   const auto *KmpTaskTQTyRD = cast<RecordDecl>(KmpTaskTQTy->getAsTagDecl());
 4631   const auto *KmpTaskTWithPrivatesQTyRD =
 4632       cast<RecordDecl>(KmpTaskTWithPrivatesQTy->getAsTagDecl());
 4636        cast<RecordDecl>(FI->getType()->getAsTagDecl())->fields()) {
 4730   const auto *PrivatesQTyRD = cast<RecordDecl>(PrivatesQTy->getAsTagDecl());
 4730   const auto *PrivatesQTyRD = cast<RecordDecl>(PrivatesQTy->getAsTagDecl());
 4750                              const RecordDecl *KmpTaskTWithPrivatesQTyRD,
 4776   FI = cast<RecordDecl>(FI->getType()->getAsTagDecl())->field_begin();
 4881                     const RecordDecl *KmpTaskTWithPrivatesQTyRD,
 4882                     const RecordDecl *KmpTaskTQTyRD, QualType SharedsTy,
 4949 checkDestructorsRequired(const RecordDecl *KmpTaskTWithPrivatesQTyRD) {
 4952   const auto *PrivateRD = cast<RecordDecl>(FI->getType()->getAsTagDecl());
 4952   const auto *PrivateRD = cast<RecordDecl>(FI->getType()->getAsTagDecl());
 5023   const auto *KmpTaskTQTyRD = cast<RecordDecl>(KmpTaskTQTy->getAsTagDecl());
 5023   const auto *KmpTaskTQTyRD = cast<RecordDecl>(KmpTaskTQTy->getAsTagDecl());
 5025   const RecordDecl *KmpTaskTWithPrivatesQTyRD =
 5152   const RecordDecl *KmpCmplrdataUD =
 5196   const RecordDecl *KmpTaskTQTyRD = Result.KmpTaskTQTyRD;
 5205     RecordDecl *KmpDependInfoRD;
 5218       KmpDependInfoRD = cast<RecordDecl>(KmpDependInfoTy->getAsTagDecl());
 6202   RecordDecl *RD = C.buildImplicitRecord("kmp_task_red_input_t");
 8350         const auto *RD = VD->getType().getCanonicalType()->getAsRecordDecl();
10813   RecordDecl *RD;
10828     RD = cast<RecordDecl>(KmpDimTy->getAsTagDecl());
tools/clang/lib/CodeGen/CGOpenMPRuntime.h
  771     const RecordDecl *KmpTaskTQTyRD = nullptr;
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  229 static RecordDecl *buildRecordForGlobalizedVars(
  255   RecordDecl *GlobalizedRD = C.buildImplicitRecord("_globalized_locals_ty");
  315   RecordDecl *GlobalizedRD = nullptr;
  585   const RecordDecl *getGlobalizedRecord(bool IsInTTDRegion) {
 2038   const RecordDecl *GlobalizedRD = nullptr;
 2061     const RecordDecl *GlobalizedRD;
 2067         SourceLocation &Loc, const RecordDecl *GlobalizedRD,
 2120   if (const RecordDecl *GlobalizedVarsRecord = I->getSecond().GlobalRecord) {
 2165       if (const RecordDecl *SecGlobalizedVarsRecord =
 2205       for (const RecordDecl *RD : GlobalizedRecords.back().Records) {
 3624     const RecordDecl *TeamReductionRec,
 3729     const RecordDecl *TeamReductionRec,
 3824     const RecordDecl *TeamReductionRec,
 3929     const RecordDecl *TeamReductionRec,
 4358     const RecordDecl *TeamReductionRec = ::buildRecordForGlobalizedVars(
 4572   const auto *RD = CS.getCapturedRecordDecl();
 4683   const RecordDecl *GlobalizedVarsRecord =
 5063     RecordDecl *StaticRD = C.buildImplicitRecord(
 5064         "_openmp_static_memory_type_$_", RecordDecl::TagKind::TTK_Union);
 5066     RecordDecl *SharedStaticRD = C.buildImplicitRecord(
 5067         "_shared_openmp_static_memory_type_$_", RecordDecl::TagKind::TTK_Union);
 5074       for (const RecordDecl *RD : Records.Records) {
 5170     RecordDecl *StaticRD = C.buildImplicitRecord(
 5171         "_openmp_teams_reduction_type_$_", RecordDecl::TagKind::TTK_Union);
 5173     for (const RecordDecl *TeamReductionRec : TeamsReductions) {
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
  461     const RecordDecl *GlobalRecord = nullptr;
  462     llvm::Optional<const RecordDecl *> SecondaryGlobalRecord = llvm::None;
  480     llvm::SmallVector<const RecordDecl *, 2> Records;
  489   llvm::SmallVector<const RecordDecl *, 4> TeamsReductions;
tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
   95   CGRecordLowering(CodeGenTypes &Types, const RecordDecl *D, bool Packed);
  157   bool isZeroInitializable(const RecordDecl *RD) {
  174   void accumulateBitFields(RecordDecl::field_iterator Field,
  175                         RecordDecl::field_iterator FieldEnd);
  195   const RecordDecl *D;
  216 CGRecordLowering::CGRecordLowering(CodeGenTypes &Types, const RecordDecl *D,
  315         if (const auto *FieldRD = Field->getType()->getAsRecordDecl())
  348   for (RecordDecl::field_iterator Field = D->field_begin(),
  352       RecordDecl::field_iterator Start = Field;
  368 CGRecordLowering::accumulateBitFields(RecordDecl::field_iterator Field,
  369                                       RecordDecl::field_iterator FieldEnd) {
  375   RecordDecl::field_iterator Run = FieldEnd;
  732 CGRecordLayout *CodeGenTypes::ComputeRecordLayout(const RecordDecl *D,
  806   RecordDecl::field_iterator it = D->field_begin();
  874     const RecordDecl *RD = it->first->getParent();
  876     for (RecordDecl::field_iterator
tools/clang/lib/CodeGen/CGStmt.cpp
 2350   const RecordDecl *RD = S.getCapturedRecordDecl();
 2357   RecordDecl::field_iterator CurField = RD->field_begin();
 2402   const RecordDecl *RD = S.getCapturedRecordDecl();
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  287   const RecordDecl *RD = S.getCapturedRecordDecl();
  391   const RecordDecl *RD = FO.S->getCapturedRecordDecl();
tools/clang/lib/CodeGen/CodeGenABITypes.cpp
   83                                      const RecordDecl *RD,
tools/clang/lib/CodeGen/CodeGenFunction.h
  354       RecordDecl::field_iterator Field =
 2315       const RecordDecl *RD = cast<RecordDecl>(RT->getDecl());
 2315       const RecordDecl *RD = cast<RecordDecl>(RT->getDecl());
 2657   unsigned getDebugInfoFIndex(const RecordDecl *Rec, unsigned FieldIndex);
tools/clang/lib/CodeGen/CodeGenModule.cpp
 4149       const RecordDecl *RD = RT->getDecl();
 4813     RecordDecl *D = Context.buildImplicitRecord("__objcFastEnumerationState");
tools/clang/lib/CodeGen/CodeGenTBAA.cpp
  100     const RecordDecl *RD = TTy->getDecl()->getDefinition();
  246     const RecordDecl *RD = TTy->getDecl()->getDefinition();
  258     for (RecordDecl::field_iterator i = RD->field_begin(),
  298     const RecordDecl *RD = TTy->getDecl()->getDefinition();
tools/clang/lib/CodeGen/CodeGenTypes.cpp
   50 void CodeGenTypes::addRecordTypeName(const RecordDecl *RD,
  109                 llvm::SmallPtrSet<const RecordDecl*, 16> &AlreadyChecked);
  116 isSafeToConvert(const RecordDecl *RD, CodeGenTypes &CGT,
  117                 llvm::SmallPtrSet<const RecordDecl*, 16> &AlreadyChecked) {
  158                 llvm::SmallPtrSet<const RecordDecl*, 16> &AlreadyChecked) {
  181 static bool isSafeToConvert(const RecordDecl *RD, CodeGenTypes &CGT) {
  185   llvm::SmallPtrSet<const RecordDecl*, 16> AlreadyChecked;
  264   const RecordDecl *RD = cast<RecordDecl>(TD);
  264   const RecordDecl *RD = cast<RecordDecl>(TD);
  712 llvm::StructType *CodeGenTypes::ConvertRecordDeclType(const RecordDecl *RD) {
  776 CodeGenTypes::getCGRecordLayout(const RecordDecl *RD) {
  813     const RecordDecl *RD = RT->getDecl();
  825 bool CodeGenTypes::isZeroInitializable(const RecordDecl *RD) {
tools/clang/lib/CodeGen/CodeGenTypes.h
   98   SmallVector<const RecordDecl *, 8> DeferredRecords;
  160   const CGRecordLayout &getCGRecordLayout(const RecordDecl*);
  275   CGRecordLayout *ComputeRecordLayout(const RecordDecl *D,
  280   void addRecordTypeName(const RecordDecl *RD, llvm::StructType *Ty,
  286   llvm::StructType *ConvertRecordDeclType(const RecordDecl *TD);
  303   bool isZeroInitializable(const RecordDecl *RD);
tools/clang/lib/CodeGen/ModuleBuilder.cpp
  260         if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
  260         if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
  227     if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
  227     if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
tools/clang/lib/CodeGen/SwiftCallingConv.cpp
  105 void SwiftAggLowering::addTypedData(const RecordDecl *record, CharUnits begin) {
  109 void SwiftAggLowering::addTypedData(const RecordDecl *record, CharUnits begin,
  777                                          const RecordDecl *record) {
tools/clang/lib/CodeGen/TargetInfo.cpp
  176     const RecordDecl *UD = UT->getDecl();
  515   const RecordDecl *RD = RT->getDecl();
  544   const RecordDecl *RD = RT->getDecl();
 1302 static bool addFieldSizes(ASTContext &Context, const RecordDecl *RD,
 1344   const RecordDecl *RD = RT->getDecl();
 1472   const RecordDecl *RD = RT->getDecl();
 2796     const RecordDecl *RD = RT->getDecl();
 2835     for (RecordDecl::field_iterator i = RD->field_begin(), e = RD->field_end();
 3066     const RecordDecl *RD = RT->getDecl();
 3093     for (RecordDecl::field_iterator i = RD->field_begin(), e = RD->field_end();
 4607     const RecordDecl *RD = RT->getDecl();
 6015   const RecordDecl *RD = RT->getDecl();
 6025   for (RecordDecl::field_iterator i = RD->field_begin(), e = RD->field_end();
 6217     const RecordDecl *RD = RT->getDecl();
 6383   const RecordDecl *RD = RT->getDecl();
 6632     const RecordDecl *RD = RT->getDecl();
 6866     const RecordDecl *RD = RT->getDecl();
 7059   const RecordDecl *RD = RT->getDecl();
 7069   for (RecordDecl::field_iterator i = RD->field_begin(), e = RD->field_end();
 7155     const RecordDecl *RD = RT->getDecl();
 7169       RecordDecl::field_iterator b = RD->field_begin(), e = RD->field_end();
 7732     const RecordDecl *RD = RT->getDecl();
 7781         const RecordDecl *RD = RT->getDecl();
 7848       const RecordDecl *RD = RT->getDecl();
 8916                              const RecordDecl *RD,
 8963   const RecordDecl *RD = RT->getDecl()->getDefinition();
 9391     const RecordDecl *RD = RTy->getDecl();
tools/clang/lib/Frontend/ASTUnit.cpp
  333     } else if (const auto *Record = dyn_cast<RecordDecl>(ND)) {
  333     } else if (const auto *Record = dyn_cast<RecordDecl>(ND)) {
tools/clang/lib/Frontend/LayoutOverrideSource.cpp
  155 LayoutOverrideSource::layoutRecordType(const RecordDecl *Record,
  172   for (RecordDecl::field_iterator F = Record->field_begin(),
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
   86     RecordDecl *NSStringRecord;
   94     RecordDecl *SuperStructDecl;
   95     RecordDecl *ConstantStringDecl;
  309     void RewriteRecordBody(RecordDecl *RD);
  855     RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
  865       RecordDecl *RD =
  866           RecordDecl::Create(*Context, TTK_Struct, TUDecl, SourceLocation(),
 2971     SuperStructDecl = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 2999     ConstantStringDecl = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 3605   if (RecordDecl *RD = dyn_cast<RecordDecl>(Tag)) {
 3605   if (RecordDecl *RD = dyn_cast<RecordDecl>(Tag)) {
 3639     RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
 3783   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct,
 3783   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct,
 4591   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 4591   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 5346       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 5346       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 5666 void RewriteModernObjC::RewriteRecordBody(RecordDecl *RD) {
 5755         RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 5792       RecordDecl *RD = cast<RecordDecl>(D);
 5792       RecordDecl *RD = cast<RecordDecl>(D);
 7496         RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
 7507           RecordDecl *RD = RecordDecl::Create(
 7507           RecordDecl *RD = RecordDecl::Create(
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
   83     RecordDecl *NSStringRecord;
   91     RecordDecl *SuperStructDecl;
   92     RecordDecl *ConstantStringDecl;
  260     void RewriteRecordBody(RecordDecl *RD);
 2351   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 2351   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 2394   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 2394   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 2524     SuperStructDecl = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 2552     ConstantStringDecl = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 3759   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 3759   RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 4483       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 4483       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 4764 void RewriteObjC::RewriteRecordBody(RecordDecl *RD) {
 4853         RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 4888       RecordDecl *RD = cast<RecordDecl>(D);
 4888       RecordDecl *RD = cast<RecordDecl>(D);
 5819       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 5819       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 5859       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
 5859       RecordDecl *RD = RecordDecl::Create(*Context, TTK_Struct, TUDecl,
tools/clang/lib/Index/IndexingContext.cpp
  281     } else if (auto RD = dyn_cast<RecordDecl>(Parent)) {
tools/clang/lib/Parse/ParseDecl.cpp
 1500     RecordDecl *RD = dyn_cast_or_null<RecordDecl>(D->getDeclContext());
 1500     RecordDecl *RD = dyn_cast_or_null<RecordDecl>(D->getDeclContext());
 1833     RecordDecl *AnonRecord = nullptr;
 4064     RecordDecl *AnonRecord = nullptr;
tools/clang/lib/Parse/ParseDeclCXX.cpp
 2629     RecordDecl *AnonRecord = nullptr;
tools/clang/lib/Parse/ParseOpenMP.cpp
  640     RecordDecl *RD = dyn_cast_or_null<RecordDecl>(D->getDeclContext());
  640     RecordDecl *RD = dyn_cast_or_null<RecordDecl>(D->getDeclContext());
tools/clang/lib/Parse/ParseTemplate.cpp
  219     RecordDecl *AnonRecord = nullptr;
tools/clang/lib/Parse/Parser.cpp
 1039     RecordDecl *AnonRecord = nullptr;
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  180 bool MultiplexExternalSemaSource::layoutRecordType(const RecordDecl *Record,
tools/clang/lib/Sema/Sema.cpp
 1278   while (isa<RecordDecl>(DC))
 2163 void Sema::PushCapturedRegionScope(Scope *S, CapturedDecl *CD, RecordDecl *RD,
tools/clang/lib/Sema/SemaAccess.cpp
 1112       if (isa<RecordDecl>(D) && cast<RecordDecl>(D)->isInjectedClassName())
 1112       if (isa<RecordDecl>(D) && cast<RecordDecl>(D)->isInjectedClassName())
tools/clang/lib/Sema/SemaAttr.cpp
   50 void Sema::AddAlignmentAttributesForRecord(RecordDecl *RD) {
   76 void Sema::AddMsStructLayoutForRecord(RecordDecl *RD) {
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  342   } else if (isa<RecordDecl>(SD)) {
tools/clang/lib/Sema/SemaCast.cpp
  837   const RecordDecl *SrcDecl = SrcRecord->getDecl()->getDefinition();
 2644       RecordDecl *RD = DestRecordTy->getDecl();
tools/clang/lib/Sema/SemaChecking.cpp
13216   const RecordDecl *RD = dyn_cast<RecordDecl>(FD->getDeclContext());
13216   const RecordDecl *RD = dyn_cast<RecordDecl>(FD->getDeclContext());
14249 static bool isLayoutCompatibleStruct(ASTContext &C, RecordDecl *RD1,
14250                                      RecordDecl *RD2) {
14277   RecordDecl::field_iterator Field2 = RD2->field_begin(),
14293 static bool isLayoutCompatibleUnion(ASTContext &C, RecordDecl *RD1,
14294                                     RecordDecl *RD2) {
14319 static bool isLayoutCompatible(ASTContext &C, RecordDecl *RD1,
14320                                RecordDecl *RD2) {
14629 void Sema::AddPotentialMisalignedMembers(Expr *E, RecordDecl *RD, ValueDecl *MD,
14668     llvm::function_ref<void(Expr *, RecordDecl *, FieldDecl *, CharUnits)>
14687     RecordDecl *RD = BaseType->castAs<RecordType>()->getDecl();
tools/clang/lib/Sema/SemaCodeComplete.cpp
 1455   if (const auto *RD = dyn_cast<RecordDecl>(ND))
 1455   if (const auto *RD = dyn_cast<RecordDecl>(ND))
 1468   if (const auto *RD = dyn_cast<RecordDecl>(ND))
 1468   if (const auto *RD = dyn_cast<RecordDecl>(ND))
 4659     ExprValueKind BaseKind, RecordDecl *RD, Optional<FixItHint> AccessOpFixIt) {
tools/clang/lib/Sema/SemaDecl.cpp
 1617     if (const RecordDecl *RD = dyn_cast<RecordDecl>(DC)){
 1617     if (const RecordDecl *RD = dyn_cast<RecordDecl>(DC)){
 1828 void Sema::DiagnoseUnusedNestedTypedefs(const RecordDecl *D) {
 1835     else if(const auto *R = dyn_cast<RecordDecl>(TmpD))
 1835     else if(const auto *R = dyn_cast<RecordDecl>(TmpD))
 1897       if (const auto *RD = dyn_cast<RecordDecl>(D))
 1897       if (const auto *RD = dyn_cast<RecordDecl>(D))
 4282                                  RecordDecl *&AnonRecord) {
 4396                                  RecordDecl *&AnonRecord) {
 4487   if (RecordDecl *Record = dyn_cast_or_null<RecordDecl>(Tag)) {
 4487   if (RecordDecl *Record = dyn_cast_or_null<RecordDecl>(Tag)) {
 4526       RecordDecl *Record = nullptr;
 4528         Record = dyn_cast<RecordDecl>(Tag);
 4694                                     RecordDecl *AnonRecord, AccessSpecifier AS,
 4813                                         RecordDecl *Record,
 4852                isa<RecordDecl>(Owner)) {
 4924       } else if (auto *MemRecord = dyn_cast<RecordDecl>(Mem)) {
 4924       } else if (auto *MemRecord = dyn_cast<RecordDecl>(Mem)) {
 5006   if (RecordDecl *OwningClass = dyn_cast<RecordDecl>(Owner)) {
 5006   if (RecordDecl *OwningClass = dyn_cast<RecordDecl>(Owner)) {
 5090                                            RecordDecl *Record) {
 5098   auto *ParentDecl = cast<RecordDecl>(CurContext);
 5098   auto *ParentDecl = cast<RecordDecl>(CurContext);
 5118   RecordDecl *RecordDef = Record->getDefinition();
 7191   else if (isa<RecordDecl>(OldDC))
 7805     RecordDecl *BaseRecord =
 8452   const RecordDecl *OrigRecDecl = RecTy->getDecl();
 8470     const RecordDecl *RD;
 8483       RD = cast<RecordDecl>(Next);
11354     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11358         if (auto *OrigRD = OrigTy->getAsRecordDecl())
11419     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11423         if (auto *OrigRD = OrigTy->getAsRecordDecl())
11485     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11489         if (auto *OrigRD = OrigTy->getAsRecordDecl())
14830       New = RecordDecl::Create(Context, Kind, SearchDC, KWLoc, Loc, Name,
14834     if (RecordDecl *RD = dyn_cast<RecordDecl>(New)) {
14834     if (RecordDecl *RD = dyn_cast<RecordDecl>(New)) {
14988       while (isa<RecordDecl>(SearchDC) || isa<EnumDecl>(SearchDC))
15462       New = RecordDecl::Create(Context, Kind, SearchDC, KWLoc, Loc, Name,
15463                                cast_or_null<RecordDecl>(PrevDecl));
15501   if (RecordDecl *RD = dyn_cast<RecordDecl>(New)) {
15501   if (RecordDecl *RD = dyn_cast<RecordDecl>(New)) {
15623       if (auto RD = dyn_cast<RecordDecl>(New))
15713     if (RecordDecl *RD = dyn_cast<RecordDecl>(Tag))
15713     if (RecordDecl *RD = dyn_cast<RecordDecl>(Tag))
15756     if (RecordDecl *RD = dyn_cast<RecordDecl>(Tag))
15756     if (RecordDecl *RD = dyn_cast<RecordDecl>(Tag))
15863   FieldDecl *Res = HandleField(S, cast_or_null<RecordDecl>(TagD),
15871 FieldDecl *Sema::HandleField(Scope *S, RecordDecl *Record,
15978                                 RecordDecl *Record, SourceLocation Loc,
16423   RecordDecl *Record = dyn_cast<RecordDecl>(EnclosingDecl);
16423   RecordDecl *Record = dyn_cast<RecordDecl>(EnclosingDecl);
16640             RecordDecl::APK_CanNeverPassInRegs)
16641           Record->setArgPassingRestrictions(RecordDecl::APK_CanNeverPassInRegs);
16643         Record->setArgPassingRestrictions(RecordDecl::APK_CanNeverPassInRegs);
16756       for (RecordDecl::field_iterator I = Record->field_begin(),
tools/clang/lib/Sema/SemaDeclAttr.cpp
  175   const RecordDecl *RD = RT->getDecl();
  473   const RecordDecl *Record = RT->getDecl();
  537 static bool checkRecordDeclForAttr(const RecordDecl *RD) {
 1419       RecordDecl *UD = UT->getDecl();
 2049   const auto *R = cast<RecordDecl>(D);
 2049   const auto *R = cast<RecordDecl>(D);
 3485   RecordDecl *RD = nullptr;
 3490     RD = dyn_cast<RecordDecl>(D);
 3505   RecordDecl::field_iterator Field = RD->field_begin(),
 5237   auto *RD = dyn_cast<RecordDecl>(D);
 5237   auto *RD = dyn_cast<RecordDecl>(D);
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1948     const RecordDecl *RD = Field->getType()->castAs<RecordType>()->getDecl();
 2489   RecordDecl *BaseDecl = BaseType->castAs<RecordType>()->getDecl();
 4795     RecordDecl *Record = Field->getParent();
 5121     const RecordDecl *RD = RT->getDecl();
 5263 typedef llvm::DenseMap<RecordDecl*, UnionEntry> RedundantUnionMap;
 5269   RecordDecl *Parent = Field->getParent();
 5293     Parent = cast<RecordDecl>(Parent->getDeclContext());
 6511   if (Record->getArgPassingRestrictions() != RecordDecl::APK_CanNeverPassInRegs)
 6513                                           ? RecordDecl::APK_CanPassInRegs
 6514                                           : RecordDecl::APK_CannotPassInRegs);
 8208     RecordDecl *BaseRecord =
13569   RecordDecl *OutermostClass = ParentRD->getOuterLexicalRecordContext();
14543         RecordDecl *RD = RT->getDecl();
16144 MSPropertyDecl *Sema::HandleMSProperty(Scope *S, RecordDecl *Record,
tools/clang/lib/Sema/SemaDeclObjC.cpp
 1363         if (isa<RecordDecl>(typeDecl) && !Context.getLangOpts().CPlusPlus)
 3192   RecordDecl *left = cast<RecordType>(lt)->getDecl();
 3193   RecordDecl *right = cast<RecordType>(rt)->getDecl();
 3213   RecordDecl::field_iterator li = left->field_begin(), le = left->field_end();
 3214   RecordDecl::field_iterator ri = right->field_begin(), re = right->field_end();
 4830     RecordDecl *Record = dyn_cast<RecordDecl>(TagD);
 4830     RecordDecl *Record = dyn_cast<RecordDecl>(TagD);
 4845     else if (RecordDecl *Record = dyn_cast<RecordDecl>(TagD))
 4845     else if (RecordDecl *Record = dyn_cast<RecordDecl>(TagD))
tools/clang/lib/Sema/SemaExpr.cpp
 8501   RecordDecl *UD = UT->getDecl();
12463           while (cast<RecordDecl>(Ctx)->isAnonymousStructOrUnion())
12468               Context.getTypeDeclType(cast<RecordDecl>(Ctx)).getTypePtr());
13931     RecordDecl *RD = RC->getDecl();
13981     RecordDecl *Parent = MemberDecl->getParent();
13983       Parent = cast<RecordDecl>(IndirectMemberDecl->getDeclContext());
tools/clang/lib/Sema/SemaExprCXX.cpp
  554     CXXTypeInfoDecl = R.getAsSingle<RecordDecl>();
  559       CXXTypeInfoDecl = R.getAsSingle<RecordDecl>();
  679     MSVCGuidDecl = R.getAsSingle<RecordDecl>();
tools/clang/lib/Sema/SemaExprMember.cpp
  636   const RecordDecl *const Record;
  649   RecordDecl *RDecl = RTy->getDecl();
tools/clang/lib/Sema/SemaExprObjC.cpp
 3651       if (RecordDecl *RD = RT->getDecl()->getMostRecentDecl())
tools/clang/lib/Sema/SemaInit.cpp
  336                              RecordDecl::field_iterator Field,
  351                                   RecordDecl::field_iterator *NextField,
  770     const RecordDecl *RDecl = RType->getDecl();
  977   RecordDecl *structDecl = DeclType->castAs<RecordType>()->getDecl();
 1006   auto *ParentRD =
 1267     RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 1994     CXXRecordDecl::base_class_range Bases, RecordDecl::field_iterator Field,
 1998   RecordDecl *structDecl = DeclType->castAs<RecordType>()->getDecl();
 2010     RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 2026       for (RecordDecl::field_iterator FieldEnd = RD->field_end();
 2038     for (RecordDecl::field_iterator FieldEnd = RD->field_end();
 2085   RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 2086   RecordDecl::field_iterator FieldEnd = RD->field_end();
 2113         RecordDecl::field_iterator F = RD->field_begin();
 2192     for (RecordDecl::field_iterator it = Field, end = RD->field_end();
 2218     RecordDecl::field_iterator I = HasDesignatedInit ? RD->field_begin()
 2220     for (RecordDecl::field_iterator E = RD->field_end(); I != E; ++I) {
 2301   explicit FieldInitializerValidatorCCC(RecordDecl *RD)
 2314   RecordDecl *Record;
 2362                                           RecordDecl::field_iterator *NextField,
 2568     RecordDecl::field_iterator Field =
 9028             RecordDecl *BaseDecl
tools/clang/lib/Sema/SemaLambda.cpp
 1599 FieldDecl *Sema::BuildCaptureField(RecordDecl *RD,
tools/clang/lib/Sema/SemaLookup.cpp
 2133   RecordDecl *BaseRecord = Specifier->getType()->castAs<RecordType>()->getDecl();
 3837         RecordDecl *RD;
 4519     } else if (auto *RD = dyn_cast_or_null<RecordDecl>(C)) {
 4519     } else if (auto *RD = dyn_cast_or_null<RecordDecl>(C)) {
tools/clang/lib/Sema/SemaOverload.cpp
 1982   RecordDecl *UD = UT->getDecl();
14211           = Context.getTypeDeclType(cast<RecordDecl>(Method->getDeclContext()));
tools/clang/lib/Sema/SemaStmt.cpp
 4251 RecordDecl*
 4258   RecordDecl *RD = nullptr;
 4263     RD = RecordDecl::Create(Context, TTK_Struct, DC, Loc, Loc, /*Id=*/nullptr);
 4322   RecordDecl *RD = CreateCapturedStmtRecordDecl(CD, Loc, NumParams);
 4352   RecordDecl *RD = CreateCapturedStmtRecordDecl(CD, Loc, Params.size());
 4413   RecordDecl *Record = RSI->TheRecordDecl;
 4436   RecordDecl *RD = RSI->TheRecordDecl;
tools/clang/lib/Sema/SemaTemplate.cpp
 1533     RecordDecl *PrevRecordDecl = PrevClassTemplate->getTemplatedDecl();
 3606     RecordDecl *D = RT->getDecl();
 6978         = Context.getTypeDeclType(cast<RecordDecl>(VD->getDeclContext()));
 7475   else if (isa<RecordDecl>(Specialized))
 7962     RecordDecl *Def = Specialization->getDefinition();
 8668   } else if (isa<RecordDecl>(Member)) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
 2407     RecordDecl *PatternRD = Pattern->getParent();
 2408     RecordDecl *OutermostClass = PatternRD->getOuterLexicalRecordContext();
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  981                                             cast<RecordDecl>(Owner),
 3239 Decl *TemplateDeclInstantiator::VisitRecordDecl(RecordDecl *D) {
tools/clang/lib/Sema/SemaType.cpp
 3710       RecordDecl *recordDecl = recordType->getDecl();
tools/clang/lib/Sema/TreeTransform.h
  907   QualType RebuildRecordType(RecordDecl *Record) {
 5815   RecordDecl *Record
 5816     = cast_or_null<RecordDecl>(getDerived().TransformDecl(TL.getNameLoc(),
tools/clang/lib/Serialization/ASTReader.cpp
 6614     RecordDecl *RD = ReadDeclAs<RecordDecl>(*Loc.F, Record, Idx);
 6614     RecordDecl *RD = ReadDeclAs<RecordDecl>(*Loc.F, Record, Idx);
 6615     RD = cast_or_null<RecordDecl>(RD->getCanonicalDecl());
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  338     RedeclarableResult VisitRecordDeclImpl(RecordDecl *RD);
  339     void VisitRecordDecl(RecordDecl *RD) { VisitRecordDeclImpl(RD); }
  788 ASTDeclReader::VisitRecordDeclImpl(RecordDecl *RD) {
 3658     D = RecordDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTReaderStmt.cpp
   95     T *ReadDeclAs() {
   96       return Record.readDeclAs<T>();
  500   S->setCapturedRecordDecl(ReadDeclAs<RecordDecl>());
tools/clang/lib/Serialization/ASTWriter.cpp
 6569                                        const RecordDecl *Record) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   73     void VisitRecordDecl(RecordDecl *D);
  470 void ASTDeclWriter::VisitRecordDecl(RecordDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  209       const RecordDecl *RD = RT->getDecl()->getDefinition();
tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
   54   const RecordDecl *RD = RT->getDecl();
   55   RecordDecl::field_iterator Iter(RD->field_begin());
   56   RecordDecl::field_iterator End(RD->field_end());
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
   65 static bool IsClangType(const RecordDecl *RD) {
   69 static bool IsClangDecl(const RecordDecl *RD) {
   73 static bool IsClangStmt(const RecordDecl *RD) {
   77 static bool IsClangAttr(const RecordDecl *RD) {
  250     const RecordDecl *RD = RT->getDecl()->getDefinition();
tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
   53       bool VisitRecordDecl(const RecordDecl *RD) {
   72   void visitRecord(const RecordDecl *RD, uint64_t PadMultiplier = 1) const {
  131   bool shouldSkipDecl(const RecordDecl *RD) const {
  190   static CharUnits calculateBaselinePad(const RecordDecl *RD,
  305       const RecordDecl *RD, CharUnits BaselinePad, CharUnits OptimalPad,
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
  122 static bool shouldIgnoreRecord(const RecordDecl *RD, StringRef Pattern);
  282   const RecordDecl *RD = R->getValueType()->getAsRecordDecl()->getDefinition();
  502 static bool shouldIgnoreRecord(const RecordDecl *RD, StringRef Pattern) {
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  509       if (const RecordDecl *RRD = II.getType()->getAsRecordDecl())
  526     if (const RecordDecl *RRD = FT->getAsRecordDecl())
  535     if (const RecordDecl *RRD = PT->getAsRecordDecl())
  603       if (const RecordDecl *RD = PT->getAsRecordDecl())
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  110     const RecordDecl *RD = RT->getDecl();
  400       if (const auto *RD = dyn_cast<RecordDecl>(Ctx)) {
  400       if (const auto *RD = dyn_cast<RecordDecl>(Ctx)) {
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
 1431       const RecordDecl *RD = FR->getDecl()->getParent();
 1448       for (RecordDecl::field_iterator FI = RD->field_begin(),
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
  497                                                  const RecordDecl *RD,
 2101 static bool isRecordEmpty(const RecordDecl *RD) {
 2111   const RecordDecl *RD = R->getValueType()->castAs<RecordType>()->getDecl();
 2333                                        const RecordDecl *RD,
 2380   const RecordDecl *RD = RT->getDecl();
 2457   RecordDecl::field_iterator FI, FE;
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  791   const RecordDecl *RD = LeftFD->getParent();
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp
  366   else if (auto *Record = dyn_cast<RecordDecl>(Context))
tools/clang/tools/extra/clang-doc/Mapper.cpp
   26 template <typename T> bool MapASTVisitor::mapDecl(const T *D) {
   61 bool MapASTVisitor::VisitRecordDecl(const RecordDecl *D) { return mapDecl(D); }
tools/clang/tools/extra/clang-doc/Mapper.h
   38   bool VisitRecordDecl(const RecordDecl *D);
tools/clang/tools/extra/clang-doc/Serialize.cpp
  217 static RecordDecl *getDeclForType(const QualType &T) {
  218   if (const RecordDecl *D = T->getAsRecordDecl())
  274 static void parseFields(RecordInfo &I, const RecordDecl *D, bool PublicOnly,
  279     if (const auto *T = getDeclForType(F->getTypeSourceInfo()->getType())) {
  288       } else if (const auto *N = dyn_cast<RecordDecl>(T)) {
  288       } else if (const auto *N = dyn_cast<RecordDecl>(T)) {
  309     if (const auto *T = getDeclForType(P->getOriginalType())) {
  315       } else if (const auto *N = dyn_cast<RecordDecl>(T)) {
  315       } else if (const auto *N = dyn_cast<RecordDecl>(T)) {
  340     } else if (const RecordDecl *P = getDeclForType(B.getType()))
  347     if (const auto *P = getDeclForType(B.getType()))
  371     } else if (const auto *N = dyn_cast<RecordDecl>(DC))
  371     } else if (const auto *N = dyn_cast<RecordDecl>(DC))
  385   if ((Namespaces.empty() && dyn_cast<RecordDecl>(D)) ||
  392 static void populateInfo(Info &I, const T *D, const FullComment *C,
  404 static void populateSymbolInfo(SymbolInfo &I, const T *D, const FullComment *C,
  421   if (const auto *T = getDeclForType(D->getReturnType())) {
  425     else if (dyn_cast<RecordDecl>(T))
  517 emitInfo(const RecordDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-doc/Serialize.h
   43 emitInfo(const RecordDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
   64       const auto *RD = cast<RecordDecl>(Context);
   64       const auto *RD = cast<RecordDecl>(Context);
tools/clang/tools/extra/clang-reorder-fields/ReorderFieldsAction.cpp
   36 static const RecordDecl *findDefinition(StringRef RecordName,
   50   return selectFirst<RecordDecl>("recordDecl", Results);
  123     const RecordDecl *Definition, ArrayRef<unsigned> NewFieldsOrder,
  267     const RecordDecl *RD = findDefinition(RecordName, Context);
tools/clang/tools/extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
   25 handleFrom(const ast_matchers::internal::Matcher<RecordDecl> &IsAHandle,
   36     const ast_matchers::internal::Matcher<RecordDecl> &IsAHandle) {
   47 ast_matchers::internal::Matcher<RecordDecl> isASequence() {
   52 ast_matchers::internal::Matcher<RecordDecl> isASet() {
   57 ast_matchers::internal::Matcher<RecordDecl> isAMap() {
   63     const ast_matchers::internal::Matcher<RecordDecl> &IsAHandle) {
tools/clang/tools/extra/clang-tidy/bugprone/DanglingHandleCheck.h
   35   const ast_matchers::internal::Matcher<RecordDecl> IsAHandle;
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
   36 void forEachField(const RecordDecl &Record, const T &Fields, Func &&Fn) {
   61 StringRef getName(const RecordDecl *Record) {
   75   for (const T *Decl : OrderedDecls) {
  165 const RecordDecl *getCanonicalRecordDecl(const QualType &Type) {
  194         if (const auto *D = dyn_cast<T>(*Decl)) {
  194         if (const auto *D = dyn_cast<T>(*Decl)) {
  206     if (const auto *D = dyn_cast<T>(*Decl)) {
  206     if (const auto *D = dyn_cast<T>(*Decl)) {
  232                         const SmallPtrSetImpl<const T *> &DeclsToInit) {
  454   SmallPtrSet<const RecordDecl *, 4> UnionsSeen;
  488   SmallVector<const RecordDecl *, 4> AllBases;
  489   SmallPtrSet<const RecordDecl *, 4> BasesToInit;
  491     if (const auto *BaseClassDecl = getCanonicalRecordDecl(Base.getType())) {
tools/clang/tools/extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
   76     const RecordDecl *D = Ty->getDecl()->getDefinition();
tools/clang/tools/extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
   47   return isa<RecordDecl>(TargetDecl) || isa<ClassTemplateDecl>(TargetDecl) ||
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.cpp
   51 bool recordIsTriviallyDefaultConstructible(const RecordDecl &RecordDecl,
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.h
   28 bool recordIsTriviallyDefaultConstructible(const RecordDecl &RecordDecl,
tools/clang/tools/extra/clangd/AST.cpp
  144     if (auto *Cls = llvm::dyn_cast<RecordDecl>(&ND))
tools/clang/tools/extra/clangd/CodeComplete.cpp
  649   if (auto *R = dyn_cast_or_null<RecordDecl>(&D))
tools/clang/tools/extra/clangd/Quality.cpp
  264   if (auto *R = dyn_cast_or_null<RecordDecl>(D))
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   54   if (auto *RD = llvm::dyn_cast<RecordDecl>(D)) {
   60   if (isa<ClassTemplateDecl>(D) || isa<RecordDecl>(D) ||
tools/clang/tools/extra/clangd/XRefs.cpp
  466     if (auto RD = dyn_cast<RecordDecl>(D))
tools/clang/tools/extra/clangd/index/SymbolCollector.cpp
  236     if (!isa<RecordDecl>(DeclCtx))
tools/clang/tools/extra/clangd/refactor/tweaks/DefineInline.cpp
  105   const RecordDecl *Class = nullptr;
  127     const RecordDecl *Parent = nullptr;
tools/clang/tools/extra/clangd/refactor/tweaks/DumpAST.cpp
  113         Record = dyn_cast<RecordDecl>(D);
  136   const RecordDecl *Record = nullptr;
tools/clang/tools/extra/unittests/clang-doc/SerializeTest.cpp
   38   template <typename T> bool mapDecl(const T *D) {
   59   bool VisitRecordDecl(const RecordDecl *D) { return mapDecl(D); }
tools/clang/tools/libclang/CIndex.cpp
 6361     if (RecordDecl *Def = cast<ClassTemplateDecl>(D)->getTemplatedDecl()
tools/clang/tools/libclang/CXType.cpp
  963 static long long visitRecordForValidation(const RecordDecl *RD) {
  972       if (const RecordDecl *Child = ChildType->getDecl()) {
  986   const RecordDecl *RD =
  987         dyn_cast_or_null<RecordDecl>(cxcursor::getCursorDecl(PC));
 1021   const RecordDecl *RD =
 1022         dyn_cast_or_null<RecordDecl>(cxcursor::getCursorDecl(PC));
 1025   RecordDecl::lookup_result Res = RD->lookup(FieldName);
 1231   const RecordDecl *RD =
 1232         dyn_cast_or_null<RecordDecl>(cxcursor::getCursorDecl(PC));
 1239   for (RecordDecl::field_iterator I = RD->field_begin(), E = RD->field_end();
 1271   if (const RecordDecl *FD = dyn_cast_or_null<RecordDecl>(D))
 1271   if (const RecordDecl *FD = dyn_cast_or_null<RecordDecl>(D))
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/ASTImporterTest.cpp
  243 template <typename T> RecordDecl *getRecordDecl(T *D) {
 1841   auto *From0 = getRecordDecl(Obj0);
 1844   auto *From1 = getRecordDecl(Obj1);
 1846   auto *To0 = Import(From0, Lang_CXX);
 1847   auto *To1 = Import(From1, Lang_CXX);
 1867   auto *X0 =
 1869   auto *X1 =
 1900   auto *X0 =
 1902   auto *X1 =
 3240   auto *From =
 3250   auto *R0 = getRecordDecl(Entry0);
 3251   auto *R1 = getRecordDecl(Entry1);
 4337   auto *Foo =
 4339   auto *A =
 4375   auto *A =
 4377   auto *B =
 4478 static const RecordDecl *getRecordDeclOfFriend(FriendDecl *FD) {
 4495   const RecordDecl *RD = getRecordDeclOfFriend(FriendD);
 4521   const RecordDecl *RD = getRecordDeclOfFriend(FriendD);
 4717   const RecordDecl *RD0 = getRecordDeclOfFriend(FriendD0);
 4718   const RecordDecl *RD1 = getRecordDeclOfFriend(FriendD1);
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp
   25   return ASTNodeKind::getFromNodeKind<T>();
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/clang/unittests/AST/MatchVerifier.h
   62                       const NodeType &Node) {}
  150   const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
  150   const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
  179 class LocationVerifier : public MatchVerifier<NodeType> {
  188               const NodeType &Node) override {
  203   virtual SourceLocation getLocation(const NodeType &Node) {
tools/clang/unittests/AST/SourceLocationTest.cpp
   43   LocationVerifier<RecordDecl> Verifier;
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp
  560   RecordDecl *getRecordDecl(FieldDecl *FD) {
  649   auto *R0 = getRecordDecl(Entry0);
  650   auto *R1 = getRecordDecl(Entry1);
  675   RecordDecl *RA = cast<RecordType>(FA->getType().getTypePtr())->getDecl();
  679   RecordDecl *RB = cast<RecordType>(FB->getType().getTypePtr())->getDecl();
  708   RecordDecl *RA = cast<RecordType>(FA->getType().getTypePtr())->getDecl();
  714   RecordDecl *RA1 = cast<RecordType>(FA1->getType().getTypePtr())->getDecl();
  716   RecordDecl *X =
  718   RecordDecl *X1 =
  751   auto *A =
  756   auto *R0 = getRecordDecl(Entry0);
  757   auto *R1 = getRecordDecl(Entry1);
tools/clang/unittests/CodeGen/CodeGenExternalTest.cpp
  186     } else if(clang::RecordDecl *rd = dyn_cast<RecordDecl>(decl)) {
  186     } else if(clang::RecordDecl *rd = dyn_cast<RecordDecl>(decl)) {
  188         RecordDecl *def = rd->getDefinition();
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  325   static bool RecordHasFields(const clang::RecordDecl *record_decl);
  333   bool SetDefaultAccessForRecordFields(clang::RecordDecl *record_decl,
  442       void *baton, const clang::RecordDecl *record_decl, uint64_t &size,
  925   static clang::RecordDecl *GetAsRecordDecl(const CompilerType &type);
tools/lldb/include/lldb/Symbol/ClangASTImporter.h
  121   void InsertRecordDecl(clang::RecordDecl *decl, const LayoutInfo &layout);
  124       const clang::RecordDecl *record_decl, uint64_t &bit_size,
  391   typedef llvm::DenseMap<const clang::RecordDecl *, LayoutInfo>
tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
   33       void *baton, const clang::RecordDecl *Record, uint64_t &Size,
   97       const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp
  812       clang::RecordDecl *record_decl = ClangASTContext::GetAsRecordDecl(m_type);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
   76     RecordDecl::decl_iterator decl_iterator;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
   60   RecordDecl *struct_decl = nullptr;
   73       RecordDecl *candidate_record_decl = dyn_cast<RecordDecl>(candidate_decl);
   73       RecordDecl *candidate_record_decl = dyn_cast<RecordDecl>(candidate_decl);
  115     RecordDecl::decl_iterator decl_iterator;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
  121       const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
  414       const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 1019   TaggedASTDecl(D *_decl) : decl(_decl) {}
 1022   D *operator->() const { return decl; }
 1023   D *decl;
 1034 template <class D> class DeclFromParser : public TaggedASTDecl<D> {
 1037   DeclFromParser(D *_decl) : TaggedASTDecl<D>(_decl) {}
 1039   DeclFromUser<D> GetOrigin(ClangASTSource &source);
 1042 template <class D> class DeclFromUser : public TaggedASTDecl<D> {
 1045   DeclFromUser(D *_decl) : TaggedASTDecl<D>(_decl) {}
 1047   DeclFromParser<D> Import(ClangASTSource &source);
 1706     DeclFromUser<RecordDecl> origin_base_record(
 1734 bool ClangASTSource::layoutRecordType(const RecordDecl *record, uint64_t &size,
 1753   DeclFromParser<const RecordDecl> parser_record(record);
 1754   DeclFromUser<const RecordDecl> origin_record(
 1768   clang::RecordDecl *definition = origin_record.decl->getDefinition();
 1777   for (RecordDecl::field_iterator fi = origin_record->field_begin(),
 1821     for (RecordDecl::field_iterator fi = record->field_begin(),
 1842         DeclFromParser<RecordDecl> base_record(base_record_type->getDecl());
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
  135       const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
  238         const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
  133       const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
 1623         clang::RecordDecl *record_decl =
 1682           clang::RecordDecl::APK_CannotPassInRegs);
tools/lldb/source/Symbol/ClangASTContext.cpp
 1727 bool ClangASTContext::RecordHasFields(const RecordDecl *record_decl) {
 2341   clang::RecordDecl *record_decl = llvm::dyn_cast<clang::RecordDecl>(decl);
 2341   clang::RecordDecl *record_decl = llvm::dyn_cast<clang::RecordDecl>(decl);
 2532     clang::RecordDecl *record_decl, int default_accessibility,
 2536     clang::RecordDecl::field_iterator field, field_end;
 2796       if (const clang::RecordDecl *record_decl = record_type->getDecl()) {
 3085         const clang::RecordDecl *record_decl = record_type->getDecl();
 3089           clang::RecordDecl::field_iterator field_pos,
 3647         const clang::RecordDecl *record_decl = record_type->getDecl();
 3842   if (auto *record_decl =
 4318     const clang::RecordDecl *record_decl = record_type->getDecl();
 4541         const clang::RecordDecl *record_decl = record_type->getDecl();
 4630         const clang::RecordDecl *record_decl = record_type->getDecl();
 5541       const clang::RecordDecl *record_decl = record_type->getDecl();
 5572       clang::RecordDecl::field_iterator field, field_end;
 5825         clang::RecordDecl *record_decl = record_type->getDecl();
 5828           clang::RecordDecl::field_iterator field, field_end;
 5974       const clang::RecordDecl *record_decl = record_type->getDecl();
 5976       clang::RecordDecl::field_iterator field, field_end;
 6612       const clang::RecordDecl *record_decl = record_type->getDecl();
 6685       clang::RecordDecl::field_iterator field, field_end;
 7061 static uint32_t GetIndexForRecordBase(const clang::RecordDecl *record_decl,
 7099 static uint32_t GetIndexForRecordChild(const clang::RecordDecl *record_decl,
 7106   clang::RecordDecl::field_iterator field, field_end;
 7160         const clang::RecordDecl *record_decl = record_type->getDecl();
 7169         clang::RecordDecl::field_iterator field, field_end;
 7193           const clang::RecordDecl *parent_record_decl = cxx_record_decl;
 7225                   parent_record_decl = llvm::cast<clang::RecordDecl>(
 7432         const clang::RecordDecl *record_decl = record_type->getDecl();
 7467         clang::RecordDecl::field_iterator field, field_end;
 7829 clang::RecordDecl *ClangASTContext::GetAsRecordDecl(const CompilerType &type) {
 7891   clang::RecordDecl *record_decl = ast->GetAsRecordDecl(type);
 7908         if (clang::RecordDecl *Rec =
 7909                 llvm::dyn_cast<clang::RecordDecl>(TagT->getDecl()))
 7965   clang::RecordDecl *record_decl = ast->GetAsRecordDecl(type);
 7973   clang::RecordDecl::field_iterator field_pos;
 7974   clang::RecordDecl::field_iterator field_end_pos = record_decl->field_end();
 7975   clang::RecordDecl::field_iterator last_field_pos = field_end_pos;
 7987       clang::RecordDecl *field_record_decl = field_record_type->getDecl();
 7992       for (clang::RecordDecl::decl_iterator
 8068       clang::RecordDecl *record_decl = GetAsRecordDecl(type);
 8089   clang::RecordDecl *record_decl = ast->GetAsRecordDecl(type);
 9020       const clang::RecordDecl *record_decl = record_type->getDecl();
 9097       clang::RecordDecl::field_iterator field, field_end;
 9708       const clang::RecordDecl *record_decl = record_type->getDecl();
 9862     void *baton, const clang::RecordDecl *record_decl, uint64_t &bit_size,
tools/lldb/source/Symbol/ClangASTImporter.cpp
  327     RecordDecl *from_record_decl = dyn_cast<RecordDecl>(from);
  327     RecordDecl *from_record_decl = dyn_cast<RecordDecl>(from);
  571     const clang::RecordDecl *record_decl, uint64_t &bit_size,
  599 void ClangASTImporter::InsertRecordDecl(clang::RecordDecl *decl,
  732     if (RecordDecl *record_decl = dyn_cast<RecordDecl>(origin_tag_decl)) {
  732     if (RecordDecl *record_decl = dyn_cast<RecordDecl>(origin_tag_decl)) {
tools/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp
   76     const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment,
tools/lldb/unittests/Symbol/TestClangASTContext.cpp
  330   RecordDecl *empty_base_decl = ClangASTContext::GetAsRecordDecl(empty_base);
  342   RecordDecl *non_empty_base_decl =
  365   RecordDecl *empty_derived_non_empty_base_decl =
  388   RecordDecl *empty_derived_non_empty_vbase_decl =
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)) {