tools: repair Windows build
authorSaleem Abdulrasool <compnerd@compnerd.org>
Thu, 30 Jan 2014 05:20:31 +0000 (05:20 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Thu, 30 Jan 2014 05:20:31 +0000 (05:20 +0000)
exp2 is not available on Windows.  Fortunately, we are calculating powers of 2
with expontents within the range of [4,12].  Simply use an equivalent bitshift
operation to repair compilation with MSVC which does not provide this standard
function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200454 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-readobj/ARMAttributeParser.cpp

index a9f6a2eba61d994ef4738fea081cae2ff3cc1c5b..26b8f6e91acdaf43e1017827c6656a3ce529e77d 100644 (file)
@@ -321,7 +321,7 @@ void ARMAttributeParser::ABI_align_needed(AttrType Tag, const uint8_t *Data,
   if (Value < countof(Strings))
     Description = StringRef(Strings[Value]);
   else if (Value <= 12)
-    Description = Twine("8-byte alignment, ") + utostr(exp2(Value))
+    Description = Twine("8-byte alignment, ") + utostr(1 << Value)
                 + Twine("-byte extended alignment");
   else
     Description = "Invalid";
@@ -342,7 +342,7 @@ void ARMAttributeParser::ABI_align_preserved(AttrType Tag, const uint8_t *Data,
   if (Value < countof(Strings))
     Description = StringRef(Strings[Value]);
   else if (Value <= 12)
-    Description = Twine("8-byte stack alignment, ") + utostr(exp2(Value))
+    Description = Twine("8-byte stack alignment, ") + utostr(1 << Value)
                 + Twine("-byte data alignment");
   else
     Description = "Invalid";