From e4e5f981eb1cf124e2f8e4e49ccfee55edd2c42c Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 20 Nov 2019 11:26:50 -0500 Subject: [PATCH] Fix compute_int() when the value is -1 --- mesonbuild/compilers/mixins/clike.py | 2 +- test cases/common/138 compute int/meson.build | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py index ce3d9d7ca..b5992ef6a 100644 --- a/mesonbuild/compilers/mixins/clike.py +++ b/mesonbuild/compilers/mixins/clike.py @@ -423,7 +423,7 @@ class CLikeCompiler: cur = maxint high = cur else: - low = cur = -1 + high = cur = -1 while self._compile_int('%s < %d' % (expression, cur), prefix, env, extra_args, dependencies): high = cur - 1 if high < minint: diff --git a/test cases/common/138 compute int/meson.build b/test cases/common/138 compute int/meson.build index 22bd26686..89f4746fe 100644 --- a/test cases/common/138 compute int/meson.build +++ b/test cases/common/138 compute int/meson.build @@ -10,6 +10,9 @@ foobar = cc.compute_int('FOOBAR_IN_FOOBAR_H', prefix : '#include "foobar.h"', in maxint = cc.compute_int('INT_MAX', prefix: '#include ') minint = cc.compute_int('INT_MIN', prefix: '#include ') +# Regression test for the special case -1 that used to fail when cross compiling +assert(cc.compute_int('-1') == -1, 'compute_int(-1) failed') + cd = configuration_data() cd.set('INTSIZE', intsize) cd.set('FOOBAR', foobar)