From 1a2cf6268890c715467d5aa8c606f2de299464de Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 20 Aug 2017 15:52:34 +0200 Subject: [PATCH] norm: fix build with gcc 7.x This commit adds a patch to the norm package that fixes the build with gcc 7.x. Many thanks to Romain Naour for pointing out the solution to this C++ build problem. Fixes: http://autobuild.buildroot.net/results/c79dc84cdc34d62199099eb4438b1aed3e7459bb/ Signed-off-by: Thomas Petazzoni Reviewed-by: Romain Naour [Thomas: add information that the patch has been submitted upstream and accepted.] Signed-off-by: Thomas Petazzoni --- .../norm/0003-fix-const-qualifier-gcc7.patch | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 package/norm/0003-fix-const-qualifier-gcc7.patch diff --git a/package/norm/0003-fix-const-qualifier-gcc7.patch b/package/norm/0003-fix-const-qualifier-gcc7.patch new file mode 100644 index 0000000000..57e01f9c13 --- /dev/null +++ b/package/norm/0003-fix-const-qualifier-gcc7.patch @@ -0,0 +1,46 @@ +protolib: remove const qualifiers in ProtoSortedTreeTemplate + +The methods PeekPrevItem() and PeekNextItem() in +ProtoSortedTreeTemplate were using a const qualifier, but not the +corresponding methods in ProtoSortedTree, causing a build failure with +gcc 7.x: + +norm-1.5r6/protolib/include/protoTree.h: In member function 'ITEM_TYPE* ProtoSortedTreeTemplate::Iterator::PeekPrevItem() const': +norm-1.5r6/protolib/include/protoTree.h:652:93: error: no matching function for call to 'ProtoSortedTreeTemplate::Iterator::PeekPrevItem() const' + {return static_cast(ProtoSortedTree::Iterator::PeekPrevItem());} + ^ +norm-1.5r6/protolib/include/protoTree.h:565:23: note: candidate: ProtoSortedTree::Item* ProtoSortedTree::Iterator::PeekPrevItem() + Item* PeekPrevItem() + ^~~~~~~~~~~~ + +Since the same methods in ProtoTreeTemplate don't have the const +qualifier, we take the simple solution of dropping such qualifiers +from ProtoSortedTreeTemplate as well, which fixes the build of norm +with gcc 7.x. + +Many thanks to Romain Naour for pointing out +the solution. + +Signed-off-by: Thomas Petazzoni +[Patch has been submitted upstream and accepted, but mailing list +archive not updated.] + +Index: b/protolib/include/protoTree.h +=================================================================== +--- a/protolib/include/protoTree.h ++++ b/protolib/include/protoTree.h +@@ -648,12 +648,12 @@ + + ITEM_TYPE* GetPrevItem() + {return static_cast(ProtoSortedTree::Iterator::GetPrevItem());} +- ITEM_TYPE* PeekPrevItem() const ++ ITEM_TYPE* PeekPrevItem() + {return static_cast(ProtoSortedTree::Iterator::PeekPrevItem());} + + ITEM_TYPE* GetNextItem() + {return static_cast(ProtoSortedTree::Iterator::GetNextItem());} +- ITEM_TYPE* PeekNextItem() const ++ ITEM_TYPE* PeekNextItem() + {return static_cast(ProtoSortedTree::Iterator::PeekNextItem());} + + }; // end class ProtoSortedTreeTemplate::Iterator -- 2.30.2