This patch is a backport from upstream qt5 fixes building with clang from meta-clang
Signed-off-by: Khem Raj <[email protected]> --- recipes-qt/qt5/qtbase-native_git.bb | 1 + .../qt5/qtbase/0015-Fix-build-with-clang-3.7.patch | 71 ++++++++++++++++++++++ recipes-qt/qt5/qtbase_git.bb | 1 + 3 files changed, 73 insertions(+) create mode 100644 recipes-qt/qt5/qtbase/0015-Fix-build-with-clang-3.7.patch diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index ebd7280..1d09a19 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -24,6 +24,7 @@ SRC_URI += "\ file://0005-qeglplatformintegration-Undefine-CursorShape-from-X..patch \ file://0006-configure-bump-path-length-from-256-to-512-character.patch \ file://0008-QOpenGLPaintDevice-sub-area-support.patch \ + file://0015-Fix-build-with-clang-3.7.patch \ " # common for qtbase-native and nativesdk-qtbase diff --git a/recipes-qt/qt5/qtbase/0015-Fix-build-with-clang-3.7.patch b/recipes-qt/qt5/qtbase/0015-Fix-build-with-clang-3.7.patch new file mode 100644 index 0000000..181d63c --- /dev/null +++ b/recipes-qt/qt5/qtbase/0015-Fix-build-with-clang-3.7.patch @@ -0,0 +1,71 @@ +This is backport of https://codereview.qt-project.org/#/c/121545/ + +From 6a6acc496728ce96198d27f9ddd44c2367758d42 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Sun, 23 Aug 2015 15:19:41 -0700 +Subject: [PATCH] Fix build with clang 3.7 + +Nullable is a language extension in clang 3.7 (indicating whether or +not a pointer can be null). +http://clang.llvm.org/docs/AttributeReference.html#nullable +Using it as a class name breaks building with this compiler + +/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/qtbase/5.4.2+gitAUTOINC+2cb17c1fb9-r0/git/src/tools/qlalr/lalr.cpp:241:1: error: declaration of anonymous + struct must be a definition +struct _Nullable: public std::unary_function<Name, bool> +^ +/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/qtbase/5.4.2+gitAUTOINC+2cb17c1fb9-r0/git/src/tools/qlalr/lalr.cpp:241:56: error: expected unqualified-id +struct _Nullable: public std::unary_function<Name, bool> + ^ +/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/qtbase/5.4.2+gitAUTOINC+2cb17c1fb9-r0/git/src/tools/qlalr/lalr.cpp:303:98: error: expected expression + NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this))); + ^ +/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/qtbase/5.4.2+gitAUTOINC+2cb17c1fb9-r0/git/src/tools/qlalr/lalr.cpp:638:107: error: expected expression + NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this))); + ^ +4 errors generated. + +Signed-off-by: Khem Raj <[email protected]> +--- + src/tools/qlalr/lalr.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp +index be1df7d..55ef056 100644 +--- a/src/tools/qlalr/lalr.cpp ++++ b/src/tools/qlalr/lalr.cpp +@@ -238,11 +238,11 @@ void Grammar::buildExtendedGrammar () + non_terminals.insert (accept_symbol); + } + +-struct _Nullable: public std::unary_function<Name, bool> ++struct Nullable: public std::unary_function<Name, bool> + { + Automaton *_M_automaton; + +- _Nullable (Automaton *aut): ++ Nullable (Automaton *aut): + _M_automaton (aut) {} + + bool operator () (Name name) const +@@ -300,7 +300,7 @@ void Automaton::buildNullables () + + for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule) + { +- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this))); ++ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (Nullable (this))); + + if (nn == rule->rhs.end ()) + changed |= nullables.insert (rule->lhs).second; +@@ -635,7 +635,7 @@ void Automaton::buildIncludesDigraph () + if (! _M_grammar->isNonTerminal (*A)) + continue; + +- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this))); ++ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (Nullable (this))); + if (first_not_nullable != rule->rhs.end ()) + continue; + +-- +2.1.4 + diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index f472c98..5603fb2 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -18,6 +18,7 @@ SRC_URI += "\ file://0005-qeglplatformintegration-Undefine-CursorShape-from-X..patch \ file://0006-configure-bump-path-length-from-256-to-512-character.patch \ file://0008-QOpenGLPaintDevice-sub-area-support.patch \ + file://0015-Fix-build-with-clang-3.7.patch \ " # specific for target qtbase -- 2.1.4 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
