summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qstring.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-06-11 16:08:55 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-12 04:30:13 +0200
commit69478da0f0d1eac9389fbd9d2f0bca3d0ce306a6 (patch)
treecde317ef0b995a2791db1a62e8d410cdb0101de2 /src/corelib/tools/qstring.h
parent1c86619037d837e2d9c6386d70b6b893f8456a96 (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.h16
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