Force string pooling to workaround a codegen bug
authorChristopher Dykes <cdykes@fb.com>
Thu, 13 Jul 2017 17:57:07 +0000 (10:57 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Thu, 13 Jul 2017 18:06:30 +0000 (11:06 -0700)
commit6ecf60a979c5eb5d4e4edd0cd59393bb1c1931af
treebbacea4e19723246b701b7e786e69760e899e57a
parent4f6e47f989a654f54367044d8726ec0b4a10b189
Force string pooling to workaround a codegen bug

Summary:
There are bugs in MSVC's codegen that causes `StringPiece`'s evaluated in a `constexpr` context to have the start pointer point to one copy of the string and the end pointer point to another. Using the `StringPiece` at compile-time is perfectly fine, it just has the wrong values at runtime.
We can work around this issue by enabling string pooling in all modes.

Original bug report:
https://developercommunity.visualstudio.com/content/problem/3216/c-incorrect-data-duplication-in-constexpr-context.html

Reviewed By: yfeldblum

Differential Revision: D5409753

fbshipit-source-id: 24e2b343209ba7c86d0dd39a1358d0abe9ee6d4d
CMake/FollyCompiler.cmake