From 853a8ef76fcd38f29d25c5e9ca4bf70d76d90b06 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 49cbd8d4af..0c96e1424a 100644 --- a/tests/strings/strings.cpp +++ b/tests/strings/strings.cpp @@ -602,14 +602,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; @@ -631,7 +633,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 }, @@ -639,8 +641,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.