aaron.ballman added inline comments.
================ Comment at: include/clang/Basic/Attr.td:1159 +def TrivialABI : InheritableAttr { + let Spellings = [Clang<"trivial_abi">]; + let Subjects = SubjectList<[CXXRecord]>; ---------------- Would this attribute make sense in C, or does it really only make sense in C++? If it doesn't make sense in C++, then you should also set `LangOpts` to be `CPlusPlus`. If it does make sense in C, then the Clang spelling should be `Clang<"trivial_abi", 1>` ================ Comment at: lib/Sema/SemaDeclCXX.cpp:7594 + for (const auto &B : RD.bases()) { + CXXRecordDecl *BaseClassDecl + = cast<CXXRecordDecl>(B.getType()->getAs<RecordType>()->getDecl()); ---------------- Can use `const auto *` here. ================ Comment at: lib/Sema/SemaDeclCXX.cpp:7640 + // See if trivial_abi has to be dropped. + auto *RD = dyn_cast_or_null<CXXRecordDecl>(TagDecl); + if (RD && RD->hasAttr<TrivialABIAttr>()) ---------------- This should use `dyn_cast` instead of `dyn_cast_or_null`. https://reviews.llvm.org/D41039 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits