[PATCH] D54472: Disable invalid isPodLike<> specialization

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 5 06:11:16 PST 2018


serge-sans-paille marked 2 inline comments as done.
serge-sans-paille added inline comments.


================
Comment at: include/llvm/Analysis/BlockFrequencyInfoImpl.h:188
 
-    BlockNode() = default;
+    BlockNode() noexcept(true) = default;
     BlockNode(IndexType Index) : Index(Index) {}
----------------
serge-sans-paille wrote:
> Quuxplusone wrote:
> > serge-sans-paille wrote:
> > > Quuxplusone wrote:
> > > > Unintended diff? Also, surely `noexcept(true)` a.k.a. `noexcept` would be the default here anyway. If anything wants `noexcept`, it'd be line 189, not line 188. :)
> > > That's unfortunate but intended: for some reason, and for some clang version, the type trait ``is_trivially_copyable`` leads to this being required. There's no such issue with the gcc version I compiled clang with.
> > That's extremely weird and scary. Is it worth digging further into why that happens?
> I reduced the test case to that:  https://godbolt.org/z/briQXa
> This is gcc-specific, and adding the `noexcept` clause fixes the bug.
Bug confirmed and reported as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88368


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D54472/new/

https://reviews.llvm.org/D54472





More information about the llvm-commits mailing list