diff options
Diffstat (limited to 'lib/Target/JSBackend/JSBackend.cpp')
-rw-r--r-- | lib/Target/JSBackend/JSBackend.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Target/JSBackend/JSBackend.cpp b/lib/Target/JSBackend/JSBackend.cpp index cb380b3d9b..8dcd77a666 100644 --- a/lib/Target/JSBackend/JSBackend.cpp +++ b/lib/Target/JSBackend/JSBackend.cpp @@ -221,8 +221,13 @@ namespace { } char getFunctionSignatureLetter(Type *T) { if (T->isVoidTy()) return 'v'; - else if (T->isFloatTy() || T->isDoubleTy()) return 'd'; // TODO: float - else return 'i'; + else if (T->isFloatingPointTy()) { + if (PreciseF32 && T->isFloatTy()) { + return 'f'; + } else { + return 'd'; + } + } else return 'i'; } std::string getFunctionSignature(const FunctionType *F, const std::string *Name=NULL) { if (Name) { |