aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/JSBackend/JSBackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/JSBackend/JSBackend.cpp')
-rw-r--r--lib/Target/JSBackend/JSBackend.cpp9
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) {