Bug 1022049. Switch to <intrin.h>. r=nfroyd

Instead of declaring these ourselves just use intrin.h
This has the advantage of allowing them to work with clang-cl

--HG--
extra : rebase_source : b78c756edb5dcdf1fd9127ad5e1a7ae183e72e3c
This commit is contained in:
Jeff Muizelaar 2014-06-09 17:26:55 -04:00
parent db53c5f153
commit f7c610d4d2
2 changed files with 5 additions and 6 deletions

View File

@ -148,18 +148,13 @@ Abs<long double>(const long double d)
#if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64))
# define MOZ_BITSCAN_WINDOWS
extern "C" {
unsigned char _BitScanForward(unsigned long* Index, unsigned long mask);
unsigned char _BitScanReverse(unsigned long* Index, unsigned long mask);
# include <intrin.h>
# pragma intrinsic(_BitScanForward, _BitScanReverse)
# if defined(_M_AMD64) || defined(_M_X64)
# define MOZ_BITSCAN_WINDOWS64
unsigned char _BitScanForward64(unsigned long* index, unsigned __int64 mask);
unsigned char _BitScanReverse64(unsigned long* index, unsigned __int64 mask);
# pragma intrinsic(_BitScanForward64, _BitScanReverse64)
# endif
} // extern "C"
#endif

View File

@ -33,6 +33,10 @@
namespace mozilla {
namespace net {
#if defined(_MSC_VER) && defined(__clang__)
// This is needed until http://llvm.org/PR19987 is fixed
class __multiple_inheritance HttpChannelChild;
#endif
class HttpChannelChild : public PHttpChannelChild
, public HttpBaseChannel
, public HttpAsyncAborter<HttpChannelChild>