From 01f62c02957cc1443ea761ddffe0b4322d987a1d Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 21 Jun 2015 15:56:06 +0200 Subject: [PATCH] Avoid warnings about narrowing casts in the long long tests. Recent g++ versions give -Wnarrowing warning when a value outside of the type range is used to initialize a variable of this type in { }. Avoid it in the long long tests using explicit casts as we already cast between long long and unsigned long long values here anyhow. --- tests/strings/strings.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tests/strings/strings.cpp b/tests/strings/strings.cpp index b016294..78a3a9d 100644 --- a/tests/strings/strings.cpp +++ b/tests/strings/strings.cpp @@ -589,14 +589,16 @@ enum Number_Long = 16 // only for long tests }; +#ifdef wxLongLong_t +typedef wxLongLong_t TestValue_t; +#else +typedef long TestValue_t; +#endif + static const struct ToLongData { const wxChar *str; -#ifdef wxLongLong_t - wxLongLong_t value; -#else - long value; -#endif // wxLongLong_t + TestValue_t value; int flags; int base; @@ -618,7 +620,7 @@ static const struct ToLongData { wxT("-1"), -1, Number_Signed | Number_Long }, // this is surprising but consistent with strtoul() behaviour - { wxT("-1"), ULONG_MAX, Number_Unsigned | Number_Long }, + { wxT("-1"), (TestValue_t)ULONG_MAX, Number_Unsigned | Number_Long }, // this must overflow, even with 64 bit long { wxT("922337203685477580711"), 0, Number_Invalid }, @@ -626,8 +628,9 @@ static const struct ToLongData #ifdef wxLongLong_t { wxT("2147483648"), wxLL(2147483648), Number_LongLong }, { wxT("-2147483648"), wxLL(-2147483648), Number_LongLong | Number_Signed }, - { wxT("9223372036854775808"), wxULL(9223372036854775808), Number_LongLong | - Number_Unsigned }, + { wxT("9223372036854775808"), + TestValue_t(wxULL(9223372036854775808)), + Number_LongLong | Number_Unsigned }, #endif // wxLongLong_t // Base tests.