forked from OSchip/llvm-project
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:
parent
13bd95bbc7
commit
818a3676aa
|
@ -21,6 +21,8 @@
|
||||||
#include "lldb/Symbol/ObjectFile.h"
|
#include "lldb/Symbol/ObjectFile.h"
|
||||||
#include "lldb/Symbol/UnwindPlan.h"
|
#include "lldb/Symbol/UnwindPlan.h"
|
||||||
|
|
||||||
|
#include "llvm/Support/MathExtras.h"
|
||||||
|
|
||||||
using namespace lldb;
|
using namespace lldb;
|
||||||
using namespace lldb_private;
|
using namespace lldb_private;
|
||||||
|
|
||||||
|
@ -109,7 +111,8 @@ namespace lldb_private {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define EXTRACT_BITS(value, mask) \
|
#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) )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue