[PATCH] D54472: Disable invalid isPodLike<> specialization

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 26 02:10:09 PST 2018


serge-sans-paille added a comment.

@chandlerc, @efriedma  et al. I've done some extra research and tests concerning the specialization of Optional for trivially copyable types.

There has been two set of patches:

1. first set ( r346985, r342966, r322862 ) tries to find a workaround GCC bugs and introduces an ABI issue by specializing only for clang
2. second set (r322859) tries to fix the gcc bug by introducing extra memove / copy instead of placement new.

1. is definitively not a concern for this patch, has we don't have any compiler -specific specialization.
2. is more difficult to accurately reproduce. I've tried the cited version of gcc on this godbolt instance https://godbolt.org/z/Pqh5R1 without issue, and as far as I understand, the only difference between the specialization and the default (*correct*) implementation is the removal of destructor handling. So What I'd like to try, if this review get accepeted, is just commit it and carefully track the bot's result.


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

https://reviews.llvm.org/D54472





More information about the llvm-commits mailing list