On Thu, Nov 8, 2018 at 1:29 PM Christophe Lyon
<christophe.l...@linaro.org> wrote:
>
> On Wed, 7 Nov 2018 at 16:50, Uros Bizjak <ubiz...@gmail.com> wrote:
> >
> > 2018-11-07  Uros Bizjak  <ubiz...@gmail.com>
> >
> >     * gcc.dg/pr87874.c: Compile only for int128 effective target.
> >
> > Tested on x86_64-linux-gnu {,-m32} and committed to mainline SVN.
> >
>
> This doesn't work on aarch64 -mabi=ilp32:
> /gcc/testsuite/gcc.dg/pr87874.c: In function 'em':
> /gcc/testsuite/gcc.dg/pr87874.c:19:50: warning: conversion from 'long
> long unsigned int' to 'long unsigned int' changes value from
> '18446744073709551615' to '4294967295' [-Woverflow]
> FAIL: gcc.dg/pr87874.c (test for excess errors)

Does attached patch works for you?

Uros.
diff --git a/gcc/testsuite/gcc.dg/pr87874.c b/gcc/testsuite/gcc.dg/pr87874.c
index 1480a5e54937..80debe0b4806 100644
--- a/gcc/testsuite/gcc.dg/pr87874.c
+++ b/gcc/testsuite/gcc.dg/pr87874.c
@@ -16,7 +16,7 @@ em (int u5, int fo, int s7)
       if (es == 0)
         if (nb == *vk)
           {
-            const unsigned long int uint64_max = 18446744073709551615ul;
+            const unsigned long long int uint64_max = 18446744073709551615ull;
             __int128 ks = uint64_max / 2 + 1;
 
             while (s7 < 1)

Reply via email to