summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThiago Macieira <thiago@kde.org>2011-07-08 15:49:26 +0200
committerQt by Nokia <qt-info@nokia.com>2011-07-11 11:16:22 +0200
commitd9bec0a1d2d7ac18a9a8ae5eff8dd8204eb6bf70 (patch)
treec8b6b481bc85d0d463a0d7b92be1ed7504b71cfd /src
parent8cc3b1a42683c72b6c192ecfda28245dc561eeee (diff)
Remove Qt 4.3 binary compatibility for MSVC
When we removed the useless "const" in the return type, we broke compatibility with a few compilers that include the return type in the mangling. We don't need that anymore in Qt 5. This change should have had a ### Qt5 mark everywhere, not just in a comment in qstring.cpp. Change-Id: I8839f8dc540b34e57a3efdb160a1c015f7328422 Merge-request: 13 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com> Reviewed-on: http://codereview.qt.nokia.com/1385 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/tools/qbytearray.h20
-rw-r--r--src/corelib/tools/qchar.cpp4
-rw-r--r--src/corelib/tools/qchar.h15
-rw-r--r--src/corelib/tools/qstring.cpp4
-rw-r--r--src/corelib/tools/qstring.h6
5 files changed, 0 insertions, 49 deletions
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h
index 9f54f1a831..26cf2af59c 100644
--- a/src/corelib/tools/qbytearray.h
+++ b/src/corelib/tools/qbytearray.h
@@ -172,15 +172,9 @@ public:
inline bool isSharedWith(const QByteArray &other) const { return d == other.d; }
void clear();
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
- const char at(int i) const;
- const char operator[](int i) const;
- const char operator[](uint i) const;
-#else
char at(int i) const;
char operator[](int i) const;
char operator[](uint i) const;
-#endif
QByteRef operator[](int i);
QByteRef operator[](uint i);
@@ -359,21 +353,12 @@ inline QByteArray::~QByteArray() { if (!d->ref.deref()) qFree(d); }
inline int QByteArray::size() const
{ return d->size; }
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
-inline const char QByteArray::at(int i) const
-{ Q_ASSERT(i >= 0 && i < size()); return d->data[i]; }
-inline const char QByteArray::operator[](int i) const
-{ Q_ASSERT(i >= 0 && i < size()); return d->data[i]; }
-inline const char QByteArray::operator[](uint i) const
-{ Q_ASSERT(i < uint(size())); return d->data[i]; }
-#else
inline char QByteArray::at(int i) const
{ Q_ASSERT(i >= 0 && i < size()); return d->data[i]; }
inline char QByteArray::operator[](int i) const
{ Q_ASSERT(i >= 0 && i < size()); return d->data[i]; }
inline char QByteArray::operator[](uint i) const
{ Q_ASSERT(i < uint(size())); return d->data[i]; }
-#endif
inline bool QByteArray::isEmpty() const
{ return d->size == 0; }
@@ -412,13 +397,8 @@ class Q_CORE_EXPORT QByteRef {
: a(array),i(idx) {}
friend class QByteArray;
public:
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
- inline operator const char() const
- { return i < a.d->size ? a.d->data[i] : char(0); }
-#else
inline operator char() const
{ return i < a.d->size ? a.d->data[i] : char(0); }
-#endif
inline QByteRef &operator=(char c)
{ if (i >= a.d->size) a.expand(i); else a.detach();
a.d->data[i] = c; return *this; }
diff --git a/src/corelib/tools/qchar.cpp b/src/corelib/tools/qchar.cpp
index 9db7d1ae83..475bd55de4 100644
--- a/src/corelib/tools/qchar.cpp
+++ b/src/corelib/tools/qchar.cpp
@@ -1295,11 +1295,7 @@ ushort QChar::toCaseFolded(ushort ucs2)
\sa toLatin1(), unicode(), QTextCodec::codecForCStrings()
*/
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
-const char QChar::toAscii() const
-#else
char QChar::toAscii() const
-#endif
{
#ifndef QT_NO_CODEC_FOR_C_STRINGS
if (QTextCodec::codecForCStrings())
diff --git a/src/corelib/tools/qchar.h b/src/corelib/tools/qchar.h
index b7793403bd..cd30dace09 100644
--- a/src/corelib/tools/qchar.h
+++ b/src/corelib/tools/qchar.h
@@ -56,13 +56,8 @@ struct QLatin1Char
{
public:
inline explicit QLatin1Char(char c) : ch(c) {}
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
- inline const char toLatin1() const { return ch; }
- inline const ushort unicode() const { return ushort(uchar(ch)); }
-#else
inline char toLatin1() const { return ch; }
inline ushort unicode() const { return ushort(uchar(ch)); }
-#endif
private:
char ch;
@@ -230,15 +225,9 @@ public:
UnicodeVersion unicodeVersion() const;
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
- const char toAscii() const;
- inline const char toLatin1() const;
- inline const ushort unicode() const { return ucs; }
-#else
char toAscii() const;
inline char toLatin1() const;
inline ushort unicode() const { return ucs; }
-#endif
#ifdef Q_NO_PACKED_REFERENCE
inline ushort &unicode() { return const_cast<ushort&>(ucs); }
#else
@@ -339,11 +328,7 @@ Q_DECLARE_TYPEINFO(QChar, Q_MOVABLE_TYPE);
inline QChar::QChar() : ucs(0) {}
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
-inline const char QChar::toLatin1() const { return ucs > 0xff ? '\0' : char(ucs); }
-#else
inline char QChar::toLatin1() const { return ucs > 0xff ? '\0' : char(ucs); }
-#endif
inline QChar QChar::fromLatin1(char c) { return QChar(ushort(uchar(c))); }
inline QChar::QChar(uchar c, uchar r) : ucs(ushort((r << 8) | c)){}
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index d2928003a4..dab281cdf8 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -3636,10 +3636,6 @@ QByteArray QString::toLatin1() const
return toLatin1_helper(unicode(), length());
}
-// ### Qt 5: Change the return type of at least toAscii(),
-// toLatin1() and unicode() such that the use of Q_COMPILER_MANGLES_RETURN_TYPE
-// isn't necessary in the header. See task 177402.
-
/*!
Returns an 8-bit representation of the string as a QByteArray.
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index 2251b64430..34f160e782 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -832,15 +832,9 @@ public:
inline void setCell(uchar cell);
inline void setRow(uchar row);
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
- const char toAscii() const { return QChar(*this).toAscii(); }
- const char toLatin1() const { return QChar(*this).toLatin1(); }
- const ushort unicode() const { return QChar(*this).unicode(); }
-#else
char toAscii() const { return QChar(*this).toAscii(); }
char toLatin1() const { return QChar(*this).toLatin1(); }
ushort unicode() const { return QChar(*this).unicode(); }
-#endif
ushort& unicode() { return s.data()[i].unicode(); }
};