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;