diff mbox

configure: Add signed*signed check to [u]int128_t test

Message ID 1371819691-27308-1-git-send-email-peter.maydell@linaro.org
State New
Headers show

Commit Message

Peter Maydell June 21, 2013, 1:01 p.m. UTC
clang 3.8 with -fsanitize=undefined will fail to link code containing an
int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404)
so add this to our configure test for whether [u]int128_t are usable.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure |    1 +
 1 file changed, 1 insertion(+)

Comments

Richard Henderson June 21, 2013, 3:11 p.m. UTC | #1
On 06/21/2013 06:01 AM, Peter Maydell wrote:
> clang 3.8 with -fsanitize=undefined will fail to link code containing an
> int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404)
> so add this to our configure test for whether [u]int128_t are usable.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Richard Henderson <rth@twiddle.net>


r~
Peter Maydell June 21, 2013, 3:13 p.m. UTC | #2
On 21 June 2013 14:01, Peter Maydell <peter.maydell@linaro.org> wrote:
> clang 3.8 with -fsanitize=undefined will fail to link code containing an
> int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404)
> so add this to our configure test for whether [u]int128_t are usable.

I meant "clang 3.3" here -- can this be fixed when the patch
is committed to -trivial or do you want a respin?

thanks
-- PMM
Michael Tokarev June 21, 2013, 6:09 p.m. UTC | #3
21.06.2013 17:01, Peter Maydell wrote:
> clang 3.8 with -fsanitize=undefined will fail to link code containing an
> int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404)
> so add this to our configure test for whether [u]int128_t are usable.

I accept it as granted (with the fixup s/3.8/3.3/), I didn't try to verify
whenever it's actually true for clang.

Applied to the trivial patches queue (with the fixup), thanks!

/mjt
diff mbox

Patch

diff --git a/configure b/configure
index ad32f87..6465e05 100755
--- a/configure
+++ b/configure
@@ -3329,6 +3329,7 @@  __uint128_t b;
 int main (void) {
   a = a + b;
   b = a * b;
+  a = a * a;
   return 0;
 }
 EOF