aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parseTools.js2
-rw-r--r--tests/runner.py1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index 94989f9d..0f61b036 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -1070,6 +1070,7 @@ function finalizeLLVMParameter(param) {
}
function makeSignOp(value, type, op) {
+ if (isPointerType(type)) type = 'i32'; // Pointers are treated as 32-bit ints
if (!value) return value;
var bits, full;
if (type in Runtime.INT_TYPES) {
@@ -1216,6 +1217,7 @@ function processMathop(item) { with(item) {
// We must sign them, so we do not compare -1 to 255 (could have unsigned them both too)
// since LLVM tells us if <=, >= etc. comparisons are signed, but not == and !=.
ident1 = makeSignOp(ident1, type, 're');
+
ident2 = makeSignOp(ident2, type, 're');
return ident1 + (variant === 'eq' ? '==' : '!=') + ident2;
}
diff --git a/tests/runner.py b/tests/runner.py
index 17403146..39cab477 100644
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -2739,6 +2739,7 @@ if 'benchmark' not in sys.argv:
src = open(path_from_root('tests', 'dlmalloc.c'), 'r').read()
self.do_test(src, '*1,0*', ['200', '1'])
+ self.do_test(src, '*400,0*', ['400', '400'], no_build=True)
def zzztest_gl(self):
# Switch to gcc from g++ - we don't compile properly otherwise (why?)