diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2012-06-11 16:08:55 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-12 04:30:13 +0200 |
commit | 69478da0f0d1eac9389fbd9d2f0bca3d0ce306a6 (patch) | |
tree | cde317ef0b995a2791db1a62e8d410cdb0101de2 /src/corelib/tools/qstring.h | |
parent | 1c86619037d837e2d9c6386d70b6b893f8456a96 (diff) |
Don't use the gcc extension for QStringLiteral & Q_ARRAY_LITERAL
The extension doesn't work outside of function scopes, so a
function declaration such as
void foo(const QString &str = QStringLiteral("bar"));
would fail on certain gcc versions.
Change-Id: I2971301f2859edd3fc81b95dfa5a7c15f29e395c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/tools/qstring.h')
-rw-r--r-- | src/corelib/tools/qstring.h | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 375dfbb1a4..f136d74dc9 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -167,22 +167,6 @@ Q_STATIC_ASSERT_X(sizeof(qunicodechar) == 2, }()) \ /**/ -# elif defined(Q_CC_GNU) -// We need to create a QStringData in the .rodata section of memory -// and the only way to do that is to create a "static const" variable. -// To do that, we need the __extension__ {( )} trick which only GCC supports - -# define QStringLiteral(str) \ - QString(__extension__ ({ \ - enum { Size = sizeof(QT_UNICODE_LITERAL(str))/2 - 1 }; \ - static const QStaticStringData<Size> qstring_literal = { \ - Q_STATIC_STRING_DATA_HEADER_INITIALIZER(Size), \ - QT_UNICODE_LITERAL(str) }; \ - QStringDataPtr holder = { qstring_literal.data_ptr() }; \ - holder; \ - })) \ - /**/ - # endif #endif // QT_NO_UNICODE_LITERAL |