[PATCH] D19993: Fixed cppcoreguidelines-pro-type-member-init when checking records with indirect fields

Haojian Wu via cfe-commits cfe-commits at lists.llvm.org
Fri May 6 01:55:12 PDT 2016


hokein added inline comments.

================
Comment at: clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp:31
@@ +30,3 @@
+// Convenience utility to get a RecordDecl from a QualType.
+const RecordDecl *getCanonicalRecordDecl(const QualType &Type) {
+  if (const auto *RT = Type.getCanonicalType()->getAs<RecordType>())
----------------
michael_miller wrote:
> alexfh wrote:
> > Is `getCanonicalType()` important here? Did you try using `QualType::getAsCXXRecordDecl()`?
> Probably not but I didn't try it. I just moved the previous function up to the top so I didn't have to forward declare it.
> 
> One thing I'm simply unsure of is whether it's possible to get a RecordDecl that's not a CXXRecordDecl in C++ code. It seems like the answer is no but that might be another reason to keep it as is if I'm wrong about that...
> One thing I'm simply unsure of is whether it's possible to get a RecordDecl that's not a CXXRecordDecl in C++ code.

>From the documents, `RecordDecl` and `CXXRecordDecl` present  struct/union/class, except `CXXRecordDecl` provides more methods for classes. So I think you can try `QualType::getAsCXXRecordDecl()` here.



http://reviews.llvm.org/D19993





More information about the cfe-commits mailing list