aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/JSBackend/JSBackend.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-02-03 16:31:53 -0500
committerAlon Zakai <alonzakai@gmail.com>2014-02-03 16:31:53 -0500
commit17b136d743c3d9db331c365a58c987a12eb1a32a (patch)
treec43f54d6d09fbb43dc0b49c3bb855120b1b11d99 /lib/Target/JSBackend/JSBackend.cpp
parenta381c82e754da5d6c42e0fc93072003b7cbae6cb (diff)
function table support for floats
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) {