rjmccall added inline comments.
================ Comment at: include/clang/AST/NonTrivialCStructTypeVisitor.h:12 +// +//===----------------------------------------------------------------------===// + ---------------- The header comment here was clearly just copied from another file. I would name this header "NonTrivialTypeVisitor.h"; I don't think the CStruct adds anything, especially because the visitors actually start from types. ================ Comment at: include/clang/AST/NonTrivialCStructTypeVisitor.h:30 + if (asDerived().getContext().getAsArrayType(FT)) + return asDerived().visitArray(DK, FT, std::forward<Ts>(Args)...); + ---------------- Should you have this pass the array type down? And is it really important to do this in the generic visitor? It seems like something you could do in an IRGen subclass. ================ Comment at: include/clang/Basic/DiagnosticSemaKinds.td:619 + "%select{primitive-default-initialize|primitive-copy}3">, + InGroup<DiagGroup<"cstruct-memaccess">>; +def note_nontrivial_field : Note< ---------------- I think this warning group should be -Wnontrivial-memaccess, and maybe -Wclass-memaccess should just be a subgroup of it. ================ Comment at: lib/Sema/SemaChecking.cpp:7343 + SourceLocation SL) { + const auto *AT = getContext().getAsConstantArrayType(FT); + visit(PDIK, getContext().getBaseElementType(AT), SL); ---------------- It would be better to just getAsArrayType, for generality purposes. Repository: rC Clang https://reviews.llvm.org/D45310 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits