diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2013-06-28 21:52:51 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-02 13:34:56 +0200 |
commit | 658dfef50085cbf7ac1157528d0ccc2b8a698c34 (patch) | |
tree | 6a8c2897a201d35f3d57ac61a468a2f5c6977438 /src/corelib/io/qurl.h | |
parent | 6177a3026b3392de43a19e5be213baf7b22c9a3c (diff) |
Remove default argument from declarations of qHash as friend
It's illegal in C++11: §8.3.6.4 [dcl.fct.default]
"If a friend declaration specifies a default argument expression,
that declaration shall be a definition and shall be the only declaration
of the function or function template in the translation unit."
Clang is starting to enforce this, thus it's making qtbase not compiling.
Task-number: QTBUG-32100
Change-Id: Ifd9d4f62354d7cf4ccf275f36aab64e05c59efff
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/io/qurl.h')
-rw-r--r-- | src/corelib/io/qurl.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h index de4ce754fb..cf208bf71e 100644 --- a/src/corelib/io/qurl.h +++ b/src/corelib/io/qurl.h @@ -114,6 +114,10 @@ public: template<typename E1, typename E2> class QTypeInfo<QUrlTwoFlags<E1, E2> > : public QTypeInfoMerger<QUrlTwoFlags<E1, E2>, E1, E2> {}; +class QUrl; +// qHash is a friend, but we can't use default arguments for friends (§8.3.6.4) +Q_CORE_EXPORT uint qHash(const QUrl &url, uint seed = 0) Q_DECL_NOTHROW; + class Q_CORE_EXPORT QUrl { public: @@ -324,7 +328,7 @@ public: static QList<QUrl> fromStringList(const QStringList &uris, ParsingMode mode = TolerantMode); static void setIdnWhitelist(const QStringList &); - friend Q_CORE_EXPORT uint qHash(const QUrl &url, uint seed = 0) Q_DECL_NOTHROW; + friend Q_CORE_EXPORT uint qHash(const QUrl &url, uint seed) Q_DECL_NOTHROW; private: QUrlPrivate *d; |