aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/intertyper.js2
-rw-r--r--src/modules.js1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/intertyper.js b/src/intertyper.js
index fa53c652..f92a04db 100644
--- a/src/intertyper.js
+++ b/src/intertyper.js
@@ -842,7 +842,7 @@ function intertyper(lines, sidePass, baseLineNums) {
item.variant = item.tokens[1].text;
item.tokens.splice(1, 1);
}
- if (item.tokens[1].text == 'exact') item.tokens.splice(1, 1); // TODO: Implement trap values
+ while (item.tokens[1].text in LLVM.MATHOP_IGNORABLES) item.tokens.splice(1, 1);
var segments = splitTokenList(item.tokens.slice(1));
item.params = [];
for (var i = 1; i <= 4; i++) {
diff --git a/src/modules.js b/src/modules.js
index 673e0662..5d48ede2 100644
--- a/src/modules.js
+++ b/src/modules.js
@@ -20,6 +20,7 @@ var LLVM = {
COMPS: set('icmp', 'fcmp'),
CONVERSIONS: set('inttoptr', 'ptrtoint', 'uitofp', 'sitofp', 'fptosi', 'fptoui', 'fpext', 'fptrunc'),
INTRINSICS_32: set('_llvm_memcpy_p0i8_p0i8_i64', '_llvm_memmove_p0i8_p0i8_i64', '_llvm_memset_p0i8_i64'), // intrinsics that need args converted to i32 in USE_TYPED_ARRAYS == 2
+ MATHOP_IGNORABLES: set('exact', 'nnan', 'ninf', 'nsz', 'arcp', 'fast'),
};
LLVM.GLOBAL_MODIFIERS = set(keys(LLVM.LINKAGES).concat(['constant', 'global', 'hidden']));