glibc 'nan' function because the initializer is not a string. This breaks when used in a global
initializer. Try compiling this testcase for example:
%X = global float <some nan value>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15223
91177308-0d34-0410-b5e6-
96231b3b80d8
if (IsNAN(FPC->getValue())) {
// The value is NaN
if (FPC->getType() == Type::FloatTy)
- Out << "LLVM_NANF(\"" << Num << "\") /*nan*/ ";
+ Out << "LLVM_NANF(\"0\") /*nan*/ ";
else
- Out << "LLVM_NAN(\"" << Num << "\") /*nan*/ ";
+ Out << "LLVM_NAN(\"0\") /*nan*/ ";
} else if (IsInf(FPC->getValue())) {
// The value is Inf
if (FPC->getValue() < 0) Out << "-";
if (IsNAN(FPC->getValue())) {
// The value is NaN
if (FPC->getType() == Type::FloatTy)
- Out << "LLVM_NANF(\"" << Num << "\") /*nan*/ ";
+ Out << "LLVM_NANF(\"0\") /*nan*/ ";
else
- Out << "LLVM_NAN(\"" << Num << "\") /*nan*/ ";
+ Out << "LLVM_NAN(\"0\") /*nan*/ ";
} else if (IsInf(FPC->getValue())) {
// The value is Inf
if (FPC->getValue() < 0) Out << "-";