[PATCH] D23692: Interpret strlen as constexpr for GCC Compatibility
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 18 13:59:36 PDT 2016
rsmith requested changes to this revision.
rsmith added a comment.
This revision now requires changes to proceed.
This is not a conforming extension. We are explicitly not allowed to make standard library functions `constexpr` if the standard doesn't say they are; see [constexpr.functions] (17.6.5.6) in the C++ standard. Clang previously used to allow constant-folding `strlen` calls, but we removed that support intentionally for this reason.
It would seem reasonable for this constant-folding to be enabled for `strlen` if the callee was explicitly marked as `constexpr` in the source code. That way, if the standard library chooses to mark it as `constexpr` as a (currently) non-conforming extension, we would provide an optimized implementation.
Repository:
rL LLVM
https://reviews.llvm.org/D23692
More information about the cfe-commits
mailing list