rjmccall added inline comments.
================ Comment at: include/clang/Basic/DiagnosticGroups.td:411 def OpenCLUnsupportedRGBA: DiagGroup<"opencl-unsupported-rgba">; +def UnderalignedExcpObj : DiagGroup<"underaligned-exception-object">; def DeprecatedObjCIsaUsage : DiagGroup<"deprecated-objc-isa-usage">; ---------------- Why is this name so clipped? ================ Comment at: include/clang/Basic/DiagnosticSemaKinds.td:6572 + "The alignment of %0 (%1-bytes) is larger than the guaranteed alignment of " + "the memory Itanium C++ runtime returns (%2-bytes)">; def err_return_in_constructor_handler : Error< ---------------- Hyphens seem wrong here, and you're missing some words, and it shouldn't be capitalized. How about: "required alignment of type %0 (%1 bytes) is larger than the supported alignment of C++ exception objects on this target (%2 bytes)" ================ Comment at: include/clang/Basic/TargetInfo.h:643 + /// runtime, such as those using the Itanium C++ ABI. + virtual unsigned getExnObjectAlignment() const { + // Itanium says that an _Unwind_Exception has to be "double-word" ---------------- CharUnits? ================ Comment at: lib/Sema/SemaExprCXX.cpp:946 + // is larger than the minimum alignment the libc++abi runtime guarantees. + if (Context.getTargetInfo().getTriple().isOSDarwin()) { + CharUnits TypeAlign = Context.getTypeAlignInChars(Ty); ---------------- Why is this a Darwin-specific check? Seems like it ought to be an Itanium-specific check, but it's equally applicable on Linux to highly-aligned types. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61667/new/ https://reviews.llvm.org/D61667 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits