From: Michael Wetherell Date: Sat, 15 Oct 2005 19:16:59 +0000 (+0000) Subject: Implement string inserter for long long. This creates a problem on mingw as gcc X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/3fc1adbd94297c3b275031be87cb15dedb422b1f Implement string inserter for long long. This creates a problem on mingw as gcc gives a warning unless -Wno-format is used, one of the most useful warnings. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/configure b/configure index 184556c45d..d717259309 100755 --- a/configure +++ b/configure @@ -43452,6 +43452,11 @@ if test "x$INTELCXX" = "xyes" ; then CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419" elif test "$GXX" = yes ; then CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy" + + case "${host}" in + *-*-cygwin* | *-*-mingw32* ) + CXXWARNINGS="$CXXWARNINGS -Wno-format" + esac fi EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE" diff --git a/configure.in b/configure.in index a61b1710fe..4ab3e0caa5 100644 --- a/configure.in +++ b/configure.in @@ -6969,6 +6969,15 @@ if test "x$INTELCXX" = "xyes" ; then elif test "$GXX" = yes ; then dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror" CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy" + + dnl -Wno-format is a terrifically useful warning, however mingw warns + dnl whenever the I64 format specifier is used for long long. + dnl FIXME: it we detected when cygwin is using -mno-cygwin we could avoid + dnl disabling it for cygwin. + case "${host}" in + *-*-cygwin* | *-*-mingw32* ) + CXXWARNINGS="$CXXWARNINGS -Wno-format" + esac fi EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE" diff --git a/include/wx/string.h b/include/wx/string.h index 151ca4037a..844cfa9f81 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -955,6 +955,14 @@ public: // insert an unsigned long into string wxString& operator<<(unsigned long ul) { return (*this) << Format(_T("%lu"), ul); } +#if defined wxLongLong_t && !defined wxLongLongIsLong + // insert a long long if they exist and aren't longs + wxString& operator<<(wxLongLong_t ll) + { return (*this) << Format(_T("%") wxLongLongFmtSpec _T("d"), ll); } + // insert an unsigned long long + wxString& operator<<(wxULongLong_t ull) + { return (*this) << Format(_T("%") wxLongLongFmtSpec _T("u"), ull); } +#endif // insert a float into string wxString& operator<<(float f) { return (*this) << Format(_T("%f"), f); }