Remove use of GCC-style intrinsics, as they are non-portable.

Differential Revision: http://reviews.llvm.org/D6567

llvm-svn: 223687
This commit is contained in:
Zachary Turner 2014-12-08 20:00:33 +00:00
parent 13bd95bbc7
commit 818a3676aa
1 changed files with 4 additions and 1 deletions

View File

@ -21,6 +21,8 @@
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/UnwindPlan.h"
#include "llvm/Support/MathExtras.h"
using namespace lldb;
using namespace lldb_private;
@ -109,7 +111,8 @@ namespace lldb_private {
#endif
#define EXTRACT_BITS(value, mask) \
( (value >> __builtin_ctz(mask)) & (((1 << __builtin_popcount(mask)))-1) )
( (value >> llvm::countTrailingZeros(static_cast<uint32_t>(mask), llvm::ZB_Width)) & \
(((1 << llvm::CountPopulation_32(static_cast<uint32_t>(mask))))-1) )