ahatanak marked an inline comment as done. ahatanak added inline comments.
================ Comment at: include/clang/AST/Type.h:1133 + /// Check if this is or contains a non-trivial C struct/union type. + bool hasNonTrivialPrimitiveCStruct() const; ---------------- rjmccall wrote: > You only want these checks to trigger on unions with non-trivial members (or > structs containing them), right? How about something like > `hasNonTrivialPrimitiveCUnionMember()`? Or maybe make it more descriptive > for the use sites, like `isPrimitiveCRestrictedType()`? > > Also, it would be nice if the fast path of this could be inlined so that > clients usually didn't had to make a call at all. You can write the > `getBaseElementTypeUnsafe()->getAs<RecordType>()` part in an `inline` > implementation at the bottom this file. Since we don't keep track of whether a struct or union is or contains unions with non-trivial members, we'll have to use the visitors to detect such structs or unions or, to do it faster, add a bit to `RecordDeclBits` that indicates the presence of non-trivial unions. I guess it's okay to add another bit to `RecordDeclBits`? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63753/new/ https://reviews.llvm.org/D63753 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits