andrew.w.kaylor added inline comments.
================ Comment at: include/clang/Basic/DiagnosticSemaKinds.td:6032 +def ext_gnu_null_ptr_arith : Extension< + "inttoptr casting using arithmetic on a null pointer is a GNU extension">, + InGroup<PointerArith>; ---------------- rsmith wrote: > efriedma wrote: > > The keyword "inttoptr" is part of LLVM, not something we expect users to > > understand. > How about something like "arithmetic on null pointer treated as cast from > integer to pointer as a GNU extension"? I like that. Thanks for the suggestion. ================ Comment at: lib/Sema/SemaExpr.cpp:8805 + const PointerType *pointerType = PExp->getType()->getAs<PointerType>(); + if (!IExp->isIntegerConstantExpr(Context) && + pointerType->getPointeeType()->isCharType() && ---------------- rsmith wrote: > It seems strange to me to disable this when the RHS is an ICE. If we're going > to support this as an extension, we should make the rules for it as simple as > we reasonably can; this ICE check seems like an unnecessary complication. You're probably right. My thinking was that I wanted to keep the extension idiom as narrow as was reasonable, so these were cases that I felt like I could rule out, but the argument for simplicity is compelling since the alternative isn't doing anything particularly desirable in most cases. https://reviews.llvm.org/D37042 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits