For PR786:
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28453 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/ADT/StringExtras.h b/include/llvm/ADT/StringExtras.h
index bd83339..375b655 100644
--- a/include/llvm/ADT/StringExtras.h
+++ b/include/llvm/ADT/StringExtras.h
@@ -39,7 +39,7 @@
   return std::string(BufPtr);
 }
 
-static inline std::string utostr(unsigned long long X, bool isNeg = false) {
+static inline std::string utostr(uint64_t X, bool isNeg = false) {
   char Buffer[40];
   char *BufPtr = Buffer+39;
 
@@ -56,7 +56,7 @@
 }
 
 static inline std::string utostr(unsigned long X, bool isNeg = false) {
-  return utostr(static_cast<unsigned long long>(X), isNeg);
+  return utostr(static_cast<uint64_t>(X), isNeg);
 }
 
 static inline std::string utostr(unsigned X, bool isNeg = false) {
@@ -76,7 +76,7 @@
   return std::string(BufPtr);
 }
 
-static inline std::string itostr(long long X) {
+static inline std::string itostr(int64_t X) {
   if (X < 0)
     return utostr(static_cast<uint64_t>(-X), true);
   else
diff --git a/include/llvm/CodeGen/ValueTypes.h b/include/llvm/CodeGen/ValueTypes.h
index fe1b11a..e754cd5 100644
--- a/include/llvm/CodeGen/ValueTypes.h
+++ b/include/llvm/CodeGen/ValueTypes.h
@@ -203,13 +203,13 @@
   /// bits in the specified integer value type.
   static inline uint64_t getIntVTBitMask(ValueType VT) {
     assert(isInteger(VT) && !isVector(VT) && "Only applies to int scalars!");
-    return ~0ULL >> (64-getSizeInBits(VT));
+    return ~uint64_t(0UL) >> (64-getSizeInBits(VT));
   }
   /// MVT::getIntVTSignBit - Return an integer with a 1 in the position of the
   /// sign bit for the specified integer value type.
   static inline uint64_t getIntVTSignBit(ValueType VT) {
     assert(isInteger(VT) && !isVector(VT) && "Only applies to int scalars!");
-    return 1ULL << (getSizeInBits(VT)-1);
+    return uint64_t(1UL) << (getSizeInBits(VT)-1);
   }
 
   /// MVT::getValueTypeString - This function returns value type as a string,
diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h
index ef2c839..d555d3e 100644
--- a/include/llvm/Constants.h
+++ b/include/llvm/Constants.h
@@ -58,7 +58,7 @@
   /// type.
   inline uint64_t getZExtValue() const {
     unsigned Size = getType()->getPrimitiveSizeInBits();
-    return Val.Unsigned & (~0ULL >> (64-Size));
+    return Val.Unsigned & (~uint64_t(0UL) >> (64-Size));
   }
 
   /// getSExtValue - Return the constant sign extended as appropriate for this
diff --git a/include/llvm/Support/MathExtras.h b/include/llvm/Support/MathExtras.h
index 65f6ed3..ed21bb0 100644
--- a/include/llvm/Support/MathExtras.h
+++ b/include/llvm/Support/MathExtras.h
@@ -76,7 +76,7 @@
 // isPowerOf2_64 - This function returns true if the argument is a power of two
 // > 0 (64 bit edition.)
 inline bool isPowerOf2_64(uint64_t Value) {
-  return Value && !(Value & (Value - 1LL));
+  return Value && !(Value & (Value - int64_t(1L)));
 }
 
 // ByteSwap_16 - This function returns a byte-swapped representation of the
diff --git a/include/llvm/Support/SlowOperationInformer.h b/include/llvm/Support/SlowOperationInformer.h
index 0486406..80ece41 100644
--- a/include/llvm/Support/SlowOperationInformer.h
+++ b/include/llvm/Support/SlowOperationInformer.h
@@ -57,7 +57,7 @@
     void progress(unsigned Current, unsigned Maximum) {
       assert(Maximum != 0 &&
              "Shouldn't be doing work if there is nothing to do!");
-      progress(Current*1000ULL/Maximum);
+      progress(Current*uint64_t(1000UL)/Maximum);
     }
   };
 } // end namespace llvm
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index f756a61..d17449b 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -512,7 +512,7 @@
                           LegalizeAction Action) {
     assert(VT < 32 && Op < sizeof(OpActions)/sizeof(OpActions[0]) &&
            "Table isn't big enough!");
-    OpActions[Op] &= ~(3ULL << VT*2);
+    OpActions[Op] &= ~(uint64_t(3UL) << VT*2);
     OpActions[Op] |= (uint64_t)Action << VT*2;
   }
   
diff --git a/include/llvm/Type.h b/include/llvm/Type.h
index d507dd6..34da2e7 100644
--- a/include/llvm/Type.h
+++ b/include/llvm/Type.h
@@ -239,7 +239,7 @@
   /// sbyte/ubyte, 0xFFFF for shorts, etc.
   uint64_t getIntegralTypeMask() const {
     assert(isIntegral() && "This only works for integral types!");
-    return ~0ULL >> (64-getPrimitiveSizeInBits());
+    return ~uint64_t(0UL) >> (64-getPrimitiveSizeInBits());
   }
 
   /// getForwaredType - Return the type that this type has been resolved to if
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index 20b7227..fc58115 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -313,7 +313,7 @@
         if (HowLong >= 1) {
           if (HowLong == 1 &&
               TheInterpreter->getModule().getPointerSize()==Module::Pointer64 &&
-              sizeof(long) < sizeof(long long)) {
+              sizeof(long) < sizeof(int64_t)) {
             // Make sure we use %lld with a 64 bit argument because we might be
             // compiling LLI on a 32 bit compiler.
             unsigned Size = strlen(FmtBuf);
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 4c74e54..120448a 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -685,7 +685,7 @@
         char Buffer[100];
 
         uint64_t ll = DoubleToBits(FPC->getValue());
-        sprintf(Buffer, "0x%llx", (unsigned long long)ll);
+        sprintf(Buffer, "0x%llx", uint64_t(ll));
 
         std::string Num(&Buffer[0], &Buffer[6]);
         unsigned long Val = strtoul(Num.c_str(), 0, 16);
diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp
index 4c74e54..120448a 100644
--- a/lib/Target/CBackend/Writer.cpp
+++ b/lib/Target/CBackend/Writer.cpp
@@ -685,7 +685,7 @@
         char Buffer[100];
 
         uint64_t ll = DoubleToBits(FPC->getValue());
-        sprintf(Buffer, "0x%llx", (unsigned long long)ll);
+        sprintf(Buffer, "0x%llx", uint64_t(ll));
 
         std::string Num(&Buffer[0], &Buffer[6]);
         unsigned long Val = strtoul(Num.c_str(), 0, 16);
diff --git a/runtime/GCCLibraries/crtend/Exception.h b/runtime/GCCLibraries/crtend/Exception.h
index 9bda39d..dc4d3a5 100644
--- a/runtime/GCCLibraries/crtend/Exception.h
+++ b/runtime/GCCLibraries/crtend/Exception.h
@@ -54,7 +54,7 @@
 enum {
   ErrorException = 0,
   SJLJException  = 1,
-  CXXException   = 2,
+  CXXException   = 2
 };
 
 // Language independent exception handling API...
diff --git a/tools/llvm-prof/llvm-prof.cpp b/tools/llvm-prof/llvm-prof.cpp
index fb2e469..0b645f6 100644
--- a/tools/llvm-prof/llvm-prof.cpp
+++ b/tools/llvm-prof/llvm-prof.cpp
@@ -139,7 +139,7 @@
     sort(FunctionCounts.begin(), FunctionCounts.end(),
               PairSecondSortReverse<Function*>());
 
-    unsigned long long TotalExecutions = 0;
+    uint64_t TotalExecutions = 0;
     for (unsigned i = 0, e = FunctionCounts.size(); i != e; ++i)
       TotalExecutions += FunctionCounts[i].second;