|
reference, declaration → definition
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.cpp13216 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)) {