diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2012-02-16 08:12:24 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2012-02-16 08:12:24 +0000 |
commit | 35d19c0f1cac619ddc560fd67965bd245d67a840 (patch) | |
tree | 3136678ee195014ee16ad35b23657ab64d6f9e28 /llvm/lib | |
parent | 59b1bc16eb18182a4fd954450b1eec8608c1fe82 (diff) | |
download | bcm5719-llvm-35d19c0f1cac619ddc560fd67965bd245d67a840.tar.gz bcm5719-llvm-35d19c0f1cac619ddc560fd67965bd245d67a840.zip |
VMCore/AsmWriter.cpp: Tweak to check #INF and #NAN earlier.
With MSVCRT, prior checker missed emission of #INF and #NAN.
FIXME: Checking should be simpler.
llvm-svn: 150667
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/VMCore/AsmWriter.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/VMCore/AsmWriter.cpp b/llvm/lib/VMCore/AsmWriter.cpp index 21d4566a080..6874906cfdd 100644 --- a/llvm/lib/VMCore/AsmWriter.cpp +++ b/llvm/lib/VMCore/AsmWriter.cpp @@ -719,7 +719,9 @@ static void WriteConstantInternal(raw_ostream &Out, const Constant *CV, bool ignored; bool isHalf = &CFP->getValueAPF().getSemantics()==&APFloat::IEEEhalf; bool isDouble = &CFP->getValueAPF().getSemantics()==&APFloat::IEEEdouble; - if (!isHalf) { + bool isInf = CFP->getValueAPF().isInfinity(); + bool isNaN = CFP->getValueAPF().isNaN(); + if (!isHalf && !isInf && !isNaN) { double Val = isDouble ? CFP->getValueAPF().convertToDouble() : CFP->getValueAPF().convertToFloat(); SmallString<128> StrVal; |