[PATCH] D15784: Enable 2 warnings on MSVC, turn on StringPooling & intrinsic functions
David Majnemer via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 2 15:20:27 PST 2016
majnemer added a subscriber: majnemer.
majnemer added a comment.
In http://reviews.llvm.org/D15784#318471, @aaron.ballman wrote:
> In http://reviews.llvm.org/D15784#318470, @AndyAyers wrote:
> > Out of curiosity, why do bigobj files cause trouble and need to be avoided?
> I suppose that it is less of a real concern these days (it used to be a compatibility issue with older versions of MSVC that we no longer care about) and more of a code smell concern. Having to enable a special linker flag because of the number of addressable sections you are creating can identify a design problem when you run over that limit. We've had this come up with template instantiations that went wild, and getting warned about the section limits helped us notice that issue in the first place and come up with a better design.
Bigobj does not require a special linker flag. For the record, clang-cl transparently transitions into bigobj mode and always uses COMDATs for string literals.
More information about the llvm-commits