Suppress more warnings for MSVC
authorAndrew Krieger <andrew.krieger@oculus.com>
Fri, 14 Apr 2017 07:06:53 +0000 (00:06 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Fri, 14 Apr 2017 07:24:45 +0000 (00:24 -0700)
commita110f8daa0ad5cca47c5be85cb415d0cd3bd3f57
treeecd913948aed96d2c7b5d9a672e21266f6a48793
parent01de3b4373aee3e7f53c0b469fb8d50d71b87b35
Suppress more warnings for MSVC

Summary:
Several other warnings that aren't reasonable to disable globally occur in folly headers.
- Wrap the unreachable code warnings in MSVC specific disable blocks to prevent problems for users.
- Cast to signed types to perform integral negation before casting back to unsigned for bit operations.
- Enable a simpler overload for bool->float conversion than one which attempts float->bool.
- Delete one unneeded undef.

(Note: this ignores all push blocking failures!)

Reviewed By: yfeldblum

Differential Revision: D4805628

fbshipit-source-id: 9574ea984e1e3daca01101259687f46effcf3a9f
folly/Conv.h
folly/Expected.h
folly/Hash.h
folly/portability/Windows.h