Patchwork tests: fix 64-bit int literals for 32-bit hosts

login
register
mail settings
Submitter Stefan Hajnoczi
Date Nov. 5, 2013, 4:42 p.m.
Message ID <1383669768-23926-1-git-send-email-stefanha@redhat.com>
Download mbox | patch
Permalink /patch/288581/
State New
Headers show

Comments

Stefan Hajnoczi - Nov. 5, 2013, 4:42 p.m.
On 32-bit hosts:

  CC    tests/test-opts-visitor.o
tests/test-opts-visitor.c: In function 'test_value':
tests/test-opts-visitor.c:128: warning: integer constant is too large for 'long' type
  CC    tests/test-bitops.o
tests/test-bitops.c:34: warning: integer constant is too large for 'long' type
tests/test-bitops.c:35: warning: integer constant is too large for 'long' type
tests/test-bitops.c:35: warning: integer constant is too large for 'long' type
  CC    tests/endianness-test.o
tests/endianness-test.c:47: warning: integer constant is too large for 'long' type

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 tests/endianness-test.c   | 3 ++-
 tests/test-bitops.c       | 4 ++--
 tests/test-opts-visitor.c | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)
Eric Blake - Nov. 5, 2013, 4:50 p.m.
On 11/05/2013 09:42 AM, Stefan Hajnoczi wrote:
> On 32-bit hosts:
> 
>   CC    tests/test-opts-visitor.o
> tests/test-opts-visitor.c: In function 'test_value':
> tests/test-opts-visitor.c:128: warning: integer constant is too large for 'long' type
>   CC    tests/test-bitops.o
> tests/test-bitops.c:34: warning: integer constant is too large for 'long' type
> tests/test-bitops.c:35: warning: integer constant is too large for 'long' type
> tests/test-bitops.c:35: warning: integer constant is too large for 'long' type
>   CC    tests/endianness-test.o
> tests/endianness-test.c:47: warning: integer constant is too large for 'long' type
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  tests/endianness-test.c   | 3 ++-
>  tests/test-bitops.c       | 4 ++--
>  tests/test-opts-visitor.c | 2 +-
>  3 files changed, 5 insertions(+), 4 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>
Laszlo Ersek - Nov. 5, 2013, 5:07 p.m.
On 11/05/13 17:42, Stefan Hajnoczi wrote:
> On 32-bit hosts:
> 
>   CC    tests/test-opts-visitor.o
> tests/test-opts-visitor.c: In function 'test_value':
> tests/test-opts-visitor.c:128: warning: integer constant is too large for 'long' type
>   CC    tests/test-bitops.o
> tests/test-bitops.c:34: warning: integer constant is too large for 'long' type
> tests/test-bitops.c:35: warning: integer constant is too large for 'long' type
> tests/test-bitops.c:35: warning: integer constant is too large for 'long' type
>   CC    tests/endianness-test.o
> tests/endianness-test.c:47: warning: integer constant is too large for 'long' type
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  tests/endianness-test.c   | 3 ++-
>  tests/test-bitops.c       | 4 ++--
>  tests/test-opts-visitor.c | 2 +-
>  3 files changed, 5 insertions(+), 4 deletions(-)

Blame it on still using gnu89 instead of c99 (or gnu99 if must be).

Laszlo

Patch

diff --git a/tests/endianness-test.c b/tests/endianness-test.c
index feb32a8..8719c09 100644
--- a/tests/endianness-test.c
+++ b/tests/endianness-test.c
@@ -44,7 +44,8 @@  static const TestCase test_cases[] = {
     { "ppc", "prep", 0x80000000, .bswap = true },
     { "ppc", "bamboo", 0xe8000000, .bswap = true, .superio = "i82378" },
     { "ppc64", "mac99", 0xf2000000, .bswap = true, .superio = "i82378" },
-    { "ppc64", "pseries", 0x10080000000, .bswap = true, .superio = "i82378" },
+    { "ppc64", "pseries", 0x10080000000ULL,
+      .bswap = true, .superio = "i82378" },
     { "sh4", "r2d", 0xfe240000, .superio = "i82378" },
     { "sh4eb", "r2d", 0xfe240000, .bswap = true, .superio = "i82378" },
     { "sparc64", "sun4u", 0x1fe02000000LL, .bswap = true },
diff --git a/tests/test-bitops.c b/tests/test-bitops.c
index 4e713e4..8238eb5 100644
--- a/tests/test-bitops.c
+++ b/tests/test-bitops.c
@@ -31,8 +31,8 @@  static const S32Test test_s32_data[] = {
 };
 
 static const S64Test test_s64_data[] = {
-    { 0x8459826734967223, 60, 4, -8 },
-    { 0x8459826734967223, 0, 64, 0x8459826734967223 },
+    { 0x8459826734967223ULL, 60, 4, -8 },
+    { 0x8459826734967223ULL, 0, 64, 0x8459826734967223LL },
 };
 
 static void test_sextract32(void)
diff --git a/tests/test-opts-visitor.c b/tests/test-opts-visitor.c
index 9f902b5..ebeee5d 100644
--- a/tests/test-opts-visitor.c
+++ b/tests/test-opts-visitor.c
@@ -125,7 +125,7 @@  test_value(OptsVisitorFixture *f, gconstpointer test_data)
         g_assert((magic & bitval) == 0);
         magic |= bitval;
     }
-    g_assert(magic == 0xBADC0FFEE0DDF00D);
+    g_assert(magic == 0xBADC0FFEE0DDF00DULL);
 
     magic = 0;
     for (u16 = f->userdef->u16; u16 != NULL; u16 = u16->next) {