Print the actual arguments to the debug UADD/SUB32 routines.
authorRalph Giles <giles@mozilla.com>
Wed, 30 Nov 2011 18:38:40 +0000 (10:38 -0800)
committerRalph Giles <giles@mozilla.com>
Tue, 6 Mar 2012 01:09:54 +0000 (17:09 -0800)
The versions of UADD32 and USUB32 in fixed_debug.h take
unsigned long long (ideally 64 bit) inputs, and range
check the arguments. However, the printed warnings cast
them to (unsigned), which is confusing. Instead, print
the full value passed in.

NB this will make negative values print has huge,
rather than negative, values.

celt/fixed_debug.h

index 1400ec9..7b3df64 100644 (file)
@@ -251,12 +251,12 @@ static inline unsigned int UADD32_(unsigned long long a, unsigned long long b, c
    unsigned long long res;
    if (!VERIFY_UINT(a) || !VERIFY_UINT(b))
    {
    unsigned long long res;
    if (!VERIFY_UINT(a) || !VERIFY_UINT(b))
    {
-      fprintf (stderr, "UADD32: inputs are not int: %u %u in %s: line %d\n", (unsigned)a, (unsigned)b, file, line);
+      fprintf (stderr, "UADD32: inputs are not uint32: %llu %llu in %s: line %d\n", a, b, file, line);
    }
    res = a+b;
    if (!VERIFY_UINT(res))
    {
    }
    res = a+b;
    if (!VERIFY_UINT(res))
    {
-      fprintf (stderr, "UADD32: output is not int: %u in %s: line %d\n", (unsigned)res, file, line);
+      fprintf (stderr, "UADD32: output is not uint32: %llu in %s: line %d\n", res, file, line);
    }
    celt_mips+=2;
    return res;
    }
    celt_mips+=2;
    return res;
@@ -269,12 +269,12 @@ static inline unsigned int USUB32_(unsigned long long a, unsigned long long b, c
    unsigned long long res;
    if (!VERIFY_UINT(a) || !VERIFY_UINT(b))
    {
    unsigned long long res;
    if (!VERIFY_UINT(a) || !VERIFY_UINT(b))
    {
-      fprintf (stderr, "USUB32: inputs are not int: %llu %llu in %s: line %d\n", (unsigned)a, (unsigned)b, file, line);
+      fprintf (stderr, "USUB32: inputs are not uint32: %llu %llu in %s: line %d\n", a, b, file, line);
    }
    res = a-b;
    if (!VERIFY_UINT(res))
    {
    }
    res = a-b;
    if (!VERIFY_UINT(res))
    {
-      fprintf (stderr, "USUB32: output is not int: %llu - %llu = %llu in %s: line %d\n", a, b, res, file, line);
+      fprintf (stderr, "USUB32: output is not uint32: %llu - %llu = %llu in %s: line %d\n", a, b, res, file, line);
    }
    celt_mips+=2;
    return res;
    }
    celt_mips+=2;
    return res;