aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Support
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2009-01-21 20:32:55 +0000
committerDale Johannesen <dalej@apple.com>2009-01-21 20:32:55 +0000
commit541ed9fd02ea48d2739f4a9dd681ba2d5da26886 (patch)
treec375538be19d22248ae0381a2ad38889c37fee8d /lib/Support
parenta095c972ccdb646b159862d72cf181b9de400d51 (diff)
downloadexternal_llvm-541ed9fd02ea48d2739f4a9dd681ba2d5da26886.tar.gz
external_llvm-541ed9fd02ea48d2739f4a9dd681ba2d5da26886.tar.bz2
external_llvm-541ed9fd02ea48d2739f4a9dd681ba2d5da26886.zip
Do not use host floating point types when emitting
ASCII IR; loading and storing these can change the bits of NaNs on some hosts. Remove or add warnings at a few other places using host floating point; this is a bad thing to do in general. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62712 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support')
-rw-r--r--lib/Support/APFloat.cpp3
-rw-r--r--lib/Support/FoldingSet.cpp6
2 files changed, 2 insertions, 7 deletions
diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp
index c296770385..d8d414d7ea 100644
--- a/lib/Support/APFloat.cpp
+++ b/lib/Support/APFloat.cpp
@@ -599,7 +599,8 @@ APFloat::copySignificand(const APFloat &rhs)
}
/* Make this number a NaN, with an arbitrary but deterministic value
- for the significand. */
+ for the significand. If double or longer, this is a signalling NaN,
+ which may not be ideal. */
void
APFloat::makeNaN(void)
{
diff --git a/lib/Support/FoldingSet.cpp b/lib/Support/FoldingSet.cpp
index d2b02f240c..3a1a0cd842 100644
--- a/lib/Support/FoldingSet.cpp
+++ b/lib/Support/FoldingSet.cpp
@@ -61,12 +61,6 @@ void FoldingSetNodeID::AddInteger(unsigned long long I) {
if ((uint64_t)(int)I != I)
Bits.push_back(unsigned(I >> 32));
}
-void FoldingSetNodeID::AddFloat(float F) {
- Bits.push_back(FloatToBits(F));
-}
-void FoldingSetNodeID::AddDouble(double D) {
- AddInteger(DoubleToBits(D));
-}
void FoldingSetNodeID::AddString(const char *String) {
unsigned Size = static_cast<unsigned>(strlen(String));