From 1f86498f9356864881356f4c6815d31e1bdeddb7 Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Wed, 21 Jan 2009 20:32:55 +0000 Subject: 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. llvm-svn: 62712 --- llvm/lib/Support/APFloat.cpp | 3 ++- llvm/lib/Support/FoldingSet.cpp | 6 ------ 2 files changed, 2 insertions(+), 7 deletions(-) (limited to 'llvm/lib/Support') diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp index c296770385f..d8d414d7ea5 100644 --- a/llvm/lib/Support/APFloat.cpp +++ b/llvm/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/llvm/lib/Support/FoldingSet.cpp b/llvm/lib/Support/FoldingSet.cpp index d2b02f240c9..3a1a0cd842e 100644 --- a/llvm/lib/Support/FoldingSet.cpp +++ b/llvm/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(strlen(String)); -- cgit v1.2.3