<div dir="ltr"><div dir="ltr">Hi Bill,<div><br></div><div>I committed a fix already as r355743 [1], and it fixes `test2` as well.</div><div><br></div><div>I believe we should merge this into 8.0.</div><div><br></div><div>/Eric</div><div><br></div><div>[1] <a href="https://github.com/llvm/llvm-project/commit/680e865c313a80b6ec329abde61e1f0c66bdc103">https://github.com/llvm/llvm-project/commit/680e865c313a80b6ec329abde61e1f0c66bdc103</a></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 8, 2019 at 5:46 PM Bill Wendling <<a href="mailto:isanbard@gmail.com">isanbard@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Eric,<div><br></div><div>The attached patch may help matters, though it now fails because "test2" doesn't exist (it's not enabled).</div><div><br></div><div>-bw</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 8, 2019 at 11:38 AM Eric Fiselier via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi All,<div><br></div><div>I know we're late in the release process, but I've discovered a regression I believe is serious enough to hold the release [1]. </div><div><br></div><div>The regression is in usages of `__builtin_constant_p` applied to a dereferenced pointer in a constant expression. In certain cases Clang now rejects this as a non-constant expression [2].</div><div></div><div></div><div><br></div><div>This regression will have a larger impact than it initially appears. </div><div><br></div><div>libstdc++ 7.1 and newer use `__builtin_constant_p` to implement C++17 `std::char_traits` [4]. This means that any usage of `std::string_view` in a constant expression has the possibility to break. `__builtin_constant_p` may be rare, but `std::string_view` is not.</div><div><br></div><div>This regression was first found because it breaks `absl::StrFormat` [4]. This bug will break Abseil's LTS w/ libstdc++. Abseil cannot fully work around this bug.<br></div><div><br></div><div>I would implore us to fix this bug in the upcoming 8 release.</div><div><br></div><div>/Eric</div><div><br></div><div>[1] <a href="https://reviews.llvm.org/D59038" target="_blank">https://reviews.llvm.org/D59038</a></div><div>[2] <a href="https://godbolt.org/z/VOCCJF" target="_blank">https://godbolt.org/z/VOCCJF</a><br></div><div>[3] <a href="https://github.com/abseil/abseil-cpp/issues/271" target="_blank">https://github.com/abseil/abseil-cpp/issues/271</a><br></div><div>[4] <a href="https://github.com/gcc-mirror/gcc/blob/gcc-8_1_0-release/libstdc++-v3/include/bits/char_traits.h#L229" target="_blank">https://github.com/gcc-mirror/gcc/blob/gcc-8_1_0-release/libstdc++-v3/include/bits/char_traits.h#L229</a></div></div></div></div></div></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>
</blockquote></div>